Вхідний контроль:
1 На якій операції цифрової обробки сигналів базується алгоритм реалізації цифрового фільтра СІХ?
2 Фільтри яких частот можна побудувати на базі цифрових СІХ-фільтрів?
Алгоритм реалізації фільтра має вигляд:
, де n = 0, 1, 2, …
Цифровий фільтр має структуру:
Фрагмент програми, яка зреалізовує цифровий фільтр 4-го порядку:
1 АDDR_A EQU 5000; Задання адреси циклічного
; буфера (ЦБ)
2 ADDR_B EQU 6000; Задання адреси bk
3 ADDR_C EQU 4000; Задання адреси хn
4 ADDR_D EQU 3000; Задання адреси yn
5 ADDR_E EQU 2000; Задання адрес N та М
6 ORG Y:ADDR_B; В Y-пам’яті, розпочинаючи
7 DC 0.9,0.8; з адреси 6000, записано
8 DС 0.7,0.6; вектор коефіцієнтів b
9 ORG X:ADDR_C; В Х-пам’яті, розпочинаючи
; з адреси 4000, записано вектор
; відліків хn
10 ORG X:ADDR_E; В Х-пам’яті за адресою 2000
11 DС 4; занесено розмір буфера N
12 ORG Y:ADDR_E; В Y-пам’яті за адресою 2000
13 DC 4; занесено кількість відліків М
14 ORG P:$100; Об’єктний код завантаження до
; пам’яті команд,
; розпочинаючи з адреси $100
15 MOVE #ADDR_E,R6; R6 – вказівник на N та М
16 MOVE #ADDR_D,R5; R5 – вказівник на Yn
17 MOVE #ADDR_B,R4; R4 – вказівник на bk
18 MOVE #ADDR_C,R1; R1 – вказівник на вектор хn
19 MOVE #ADDR_A,R0; R0 – вказівник на ЦБ
20 MOVE X:(RG),A; Запис N до акумулятора
21 DEC A; Організація ЦБ
22 MOVE A,M0; довжиною N (М0 = N – 1)
23 CLR A; Обнулення циклічного
24 REP X:(R6); буфера
25 MOVE A,X(R0)+
26 MOVE M0,M4
27 MOVE X:(R1)+,X0; Завантаження х0→Х0
28 DО Y:(R6),loop
29 CLR A X0,X(R0)- Y:(R4)+,Y0; хn→циклічний буфер
; bk→Y0
30 REP M0
31 MAC X0,Y0,A X: (R0)-, X0 Y: (R4)+, Y0; Команда МАС-операції; сума
; bk·хn-k від k = 0 до k = N – 2
32 DО Y: (R6), loop; хn→ЦБ
33 CLR A X0, X: (R0)- Y: (R4)+, Y0; bk→Y0
34 REР M0
35 MAC X0, Y0, A X:(R0)-,X0 Y:(R4)+,Y0; Сума bk·хn-k від k = 0 до k = N – 2
36 MACR X0,Y0,A (R0)+; A – yn, R0 вказує на хn-N+1
37 MOVE X:(R1)+,X0 A,Y:(R5)+; хn→X0, запис результату
; yn до Y-пам’яті за адресою
; від 3000
loop;
Команда МАС (±) S 1, S 2, D виконує знакове множення з акумулюванням: множення двох знакових 24-бітних операндів джерела S 1 та S 2 та додавання або віднімання результату з/від акумулятора приймача D; результат зберігається в D.
Команда MACR (±) S 1, S 2, D виконує знакове множення з акумулюванням та округленням: множення двох знакових 24-бітних операндів джерела S 1 та S 2, додавання або віднімання результату з/від акумулятора приймача D та подальше округлення результату з використовуванням конвергентного округлення; результат зберігається в D.
Контрольні питання:
1 Які операції виконує команда МАС?
2 З якою метою виконується обмеження результату за програмної реалізації СІХ-фільтра?
3 У який спосіб у процесорі DSP 563 XX апаратно підтримується команда
MAC X0, Y0, A X: (R0)-, X0 Y: (R 4 )+, Y0?
Контрольні питання підвищеної складності:
1 Наведіть структуру цифрового фільтра 5-го порядку.
2 У яких командах наведеного вище фрагмента програми треба зробити зміни, щоби зреалізувати цифровий фільтр 5-го порядку, і які саме?