Добавил:
beznejma
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовая работа 7 семестр / Прочитай меня
.txt Этот курсач это треш, но последовательность действий одинаковая, так что он превращается в механическую подстановку.
Я переделал код в 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. В файле с промтами первый нужен для того, чтобы сделать уравнения прямых, второй - для того, чтобы найти зоны Гиббса
Если бы у меня все это было, я бы сэкономил целый месяц своей жизни. Удачи!
Я переделал код в 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. В файле с промтами первый нужен для того, чтобы сделать уравнения прямых, второй - для того, чтобы найти зоны Гиббса
Если бы у меня все это было, я бы сэкономил целый месяц своей жизни. Удачи!
Соседние файлы в папке Курсовая работа 7 семестр
