- •4Министерство цифрового развития, связи и массовых коммуникаций российской федерации
- •Московский технический университет связи и информатики
- •Курсовая работа
- •Проектирование ких-фильтра
- •Исходные данные
- •Вычисление коэффициентов
- •Код математического пакета Scilab
- •Разработка программы на языке ассемблера процессора adsp-2181
- •Проверка проделанной работы
- •Проектирование бих-фильтра
- •Исходные данные
- •Вычисление коэффициентов
- •Разработка программы на языке ассемблера процессора adsp-2181
- •Результаты работы программы
Разработка программы на языке ассемблера процессора adsp-2181
.section/dm vars; .var/circ coef[80] = 97 , 27 , -22 , -125 , -43 , -72 , 51 , 68 , 77 , 32 , 5 , -106 , -21 , -88 , 39 , 47 , 70 , 36 , 32 , -115 , 13 , -126 , 45 , 30 , 70 , 37 , 86 , -188 , 126 , -263 , 121 , -12 , 77 , -7 , 405 , -954 , 1589 , -2620 , 3284 , -3859 , 4193 , -3780 , 3390 , -2560 , 1555 , -1069 , 278 , -56 , 159 , 177 , 309 , -215 , -57 , -571 , -307 , -53 , 621 , 1456 , 2370 , 2872 , 3261 , 2883 , 2356 , 1462 , 621 , -42 , -354 , -471 , -204 , -57 , 193 , 220 , 159 , 19 , -76 , -187 , -76 , -65 , 84 , 106; .var/circ simples[80] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0; .section/pm program;
jump main; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; rti; jump fir; rti; rti; rti; rti; rti; rti; rti; main: ena m_mode; mr = 0; I0 = simples; L0 = length(simples);
I1 = coef; L1 = length(coef);
M0 = 1; M2 = 0;
ar = 4; dm(0x3ffb) = ar; ar = 999; dm(0x3ffc) = ar; dm(0x3ffd) = ar; ifc = 0x00ff; nop; ena timer; imask = b#0000000001; nop;
end: jump end; fir: mr = 0; CNTR = 79; do c1 until CE; mx0 = dm(I0, M0); my0 = dm(I1, M0); c1: mr = mr + mx0 * my0 (ss); mx0 = dm(I0, M2); my0 = dm(I1, M0); mr = mr + mx0 * my0 (ss); ax0 = IO(0); dm(I0, M2) = ax0;
mr = mr (rnd); if mv sat mr; IO(1) = mr1; rti; |
Проверка проделанной работы
Проверим правильность работы фильтра. Для этого сформируем и подадим на вход фильтра сигнал длительностью в 1 секунду, имеющий постоянную амплитуду и линейное нарастание частоты от 0 до 4 кГц.
Рисунок 6. ЛЧМ сигнал на входе фильтра
После отработки программы на выходе фильтра получим сигнал, совпадающий с заданной АЧХ:
Рисунок 7. ЛЧМ сигнал на выходе фильтра
Проектирование бих-фильтра
Исходные данные
В таблице 1 приведены исходные данные для синтеза БИХ-фильтра:
Таблица 3. Исходные данные БИХ-фильтра
Вид фильтра |
Тип фильтра |
Неравномерность в полосе пропускания |
Неравномерность в полосе задерживания |
Частота среза |
Порядок фильтра |
Частота дискретизации |
Чебышев 2-го |
ФВЧ |
3 дБ |
20 дБ |
500 Гц |
4 |
8 кГц |