Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсовая работа 7 семестр / Прочитай меня

.txt
Скачиваний:
1
Добавлен:
28.01.2026
Размер:
4.05 Кб
Скачать
Этот курсач это треш, но последовательность действий одинаковая, так что он превращается в механическую подстановку.

Я переделал код в scilab так, чтобы для вычисления всех коэффициентов фильтра можно было только вбить точки в программу.

Также приложил док с промтами (лучше делать через ЧатГПТ, он лучше всего справляется)

VisualDSP работает только на Win7, а Cool Edit 96 только на 32-bit, поэтому я установил сразу Win7 x32
Самое сложное - понять, как работает сама прога VisualDSP:
0. Генерируешь кучу файлов (чтобы показать, как работает фильтр на разных частотах, лучше сделать 10 штук на разных частотах), чистый синусоидальный сигнал, вот код на python:

import numpy as np

Fs = 8000
T = 0.1 # в методичке написано сделать 1 секунду, но нам разрешили сделать 0.1 секунду
N = int(Fs*T)
n = np.arange(N)

Ftest = 2050 # пример: Fmax + 50 Гц
ampl = 23000

signal = ampl * np.sin(2*np.pi*Ftest * n / Fs)
signal = np.round(signal).astype(int)

with open("sine2050_01sec.dat", "w") as f:
for x in signal:
f.write(f"{x}\n")


1. Открываешь проект (там 4 файла)

2. Build project (кнопка F7)

3. Через меню Settings -> Streams настраиваешь входной (сигнал из пункта 0) и выходной файлы (делай отдельный файл для каждого прогона программы, это поможет при анализе в CoolEdit)
Задаются два параметра:
1. (слева) Debug target:
Device: IO Memory I/O Port
Address: 1
(справа) File:
*выходной файл*
  Format: Signed integer
  2. (слева) File:
  *входной файл*
Format: Signed integer
  (справа) Debug target:
  Device: IO Memory I/O Port
  Address: 0
Для уверенности, что настройки не слетели еще пару раз можно нажать F7 (я так не раз обламывался)

4. Запускаем программу (кнопка F5)
ВАЖНО: АССЕМБЛЕР ЭТО НЕ ОБЫЧНЫЙ ЯЗЫК ПРОГРАММИРОВАНИЯ, В ДАННОМ КОДЕ ВСЕ ДЕЙСТВИЯ ПРОИСХОДЯТ С ПРЕРЫВАНИЯМИ, КОД БУДЕТ ВЫПОЛНЯТЬСЯ ЕЩЕ НЕСКОЛЬКО МИНУТ (ВНИЗУ БУДЕТ МИГАТЬ ИНДИКАТОР, ВСЕ БУДЕТ ГОТОВО, КОГДА ОН ПРЕКРАТИТ МИГАТЬ И ПОЯВИТСЯ НАДПИСЬ "Halted")

5. После каждого прогона необходимо нажимать кнопку Clean (Project -> Clean), а потом снова для следующего прогона надо будет нажать Build project (кнопка F7), иначе значения в регистрах не сбросятся, а выходной сигнал не будет корректным

6. После этого необходимо будет открыть выходные файлы через Cool Edit и в целом, все готово

7. В файле с промтами первый нужен для того, чтобы сделать уравнения прямых, второй - для того, чтобы найти зоны Гиббса

Если бы у меня все это было, я бы сэкономил целый месяц своей жизни. Удачи!