Разработка программной реализации КИХ и БИХ фильтров на базе процессора TMS320C50
Секции программы Init_main, Vvod, Filter, Vivod размещаются в блоке памяти программ; PROG в друг за другом в указанном порядке начиная с начального адреса блока; они; образуют чисто условный модуль MAIN в выходном файле. Используя пакет синтеза фильтров FD, получить импульсную характеристику заданного фильтра и сравнить ее с характеристикой, снятой в имитаторе при выполнении разработанной… Читать ещё >
Разработка программной реализации КИХ и БИХ фильтров на базе процессора TMS320C50 (реферат, курсовая, диплом, контрольная)
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЯ им. проф. М.А. БОНЧ-БРУЕВИЧА Факультет РТС.
Кафедра радиосистем и обработки сигналов.
КУРСОВАЯ РАБОТА
ПО ДИСЦИПЛИНЕ " ЦИФРОВЫЕ ПРОЦЕССОРЫ ОБРАБОТКИ СИГНАЛОВ"
" РАЗРАБОТКА ПРОГРАММНОЙ РЕАЛИЗАЦИИ КИХ И БИХ ФИЛЬТРОВ НА БАЗЕ ПРОЦЕССОРА TMS320C50" .
Выполнил: ст. гр. Р-01 Гоца Л. Н.;
Проверил: Степанов А. Б.
Санкт-Петербург 2014
- 1. Реализация КИХ-фильтра на процессоре TMS320C50
- 1.1 Вариант кода задания и техническое задание на проектирование
- 1.2 Структурная схема
- 1.3 Блок-схема алгоритма
- 1.4 Исходный текст программы на языке ассемблера с комментариями
- 1.5 Командный файл компоновки
- 1.6 Командный файл программного имитатора
- 1.6 Таблица значений импульсной характеристики
- 1.7 Расчет максимально возможной частоты дискретизации
- 2. Реализация БИХ фильтра на процессоре TMS320C50
- 2.1 Вариант кода задания
- 2.2 Структурная схема
- 2.3 Алгоритм
- 2.4 Исходный текст программы на языке ассемблера с комментариями
- 2.5 Командный файл компоновки
- 2.6 Командный файл программного имитатора
- 2.7 Таблица значений импульсной характеристики
- 2.7 Расчет максимально возможной частоты дискретизации
- 3. Расчет и результаты фильтра с помощью пакета Filter Design
- 3.1 КИХ фильтр
- 3.2 БИХ фильтр
- Литература
1. Реализация КИХ-фильтра на процессоре TMS320C50
1.1 Вариант кода задания и техническое задание на проектирование
A | B | C | D | E | |
Разряд, А определяет номер решаемой задачи. В моем случае А=1, это значит, что данная задача предусматривает разработку и отладку программы реализации на процессоре TMS320C50 цифрового фильтра с конечной импульсной характеристикой /КИХ/, коэффициенты которого заданы.
Разряд В определяет исходные данные для программы фильтра: коэффициенты bi и масштабный множитель входного сигнала ММ.
В=6 | ||
ММ=0.85 | b9=0.21 961 315 | |
b0=0.517 338 | b10=0.3 508 036 | |
b1=-0.4 783 066 | b11=-0.19 031 033 | |
b2=-0.4 100 188 | b12=-0.8 467 900 | |
b3=-0.5 968 966 | b13=0.12 231 730 | |
b4=0.8 542 713 | b14=0.8 542 713 | |
b5=0.12 231 730 | b15=-0.5 968 966 | |
b6=-0.8 467 900 | b16=-0.4 100 188 | |
b7=-0.19 031 033 | b17=-0.4 783 066 | |
b8=0.3 508 036 | b18=0.517 338 | |
Разряд С определяет размещение секций программы в памяти процессора:
С | ||
Коды программ (память программ) | ||
Данные — секция. data (память данных) | ||
Коэффициенты и переменные (память данных) | ||
Разряд D определяет тип прерываний, используемый для ввода отсчета сигнала:
D | ||
Тип прерываний | TINT | |
Разряд Е определяет период прерываний (период ввода отсчетов сигнала)
Е | ||
Период ввода входных сигналов /такты/ | ||
Для выполнения задачи 1 необходимо сделать следующее:
1. Написать программу реализации фильтра по схеме (рис1.) в соответствии с кодом варианта задания. Во всех фильтрах используется частота дискретизации 8кГц.
2. Отладить написанную программу на имитаторе процессора.
3. Снять импульсную характеристику полученного фильтра, используя в качестве входного сигнала единичный импульс. Критерием правильности функционирования программы будет совпадение значений полученной импульсной характеристики с заданными коэффициентами фильтра с учетом введенного на входе масштабного множителя (для совпадения коэффициенты должны быть умножены на ММ).
4. Используя пакет синтеза фильтров FD, получить импульсную характеристику заданного фильтра и сравнить ее с характеристикой, снятой в имитаторе при выполнении разработанной программы.
фильтр алгоритм процессор
5. Определить в имитаторе время вычисления выходного отсчета фильтра (в тактах) и рассчитать максимально возможную частоту дискретизации входного сигнала проектируемого фильтра.
1.2 Структурная схема
Рис. 1. Структурная схема реализации КИХ-фильтра.
Обозначения:
Z^-1 — элемент задержки;
ММ — масштабный множитель;
bi — коэффициенты фильтра;
X (n) — входной отсчет сигнала;
Y (n) — выходной отсчет сигнала;
1.3 Блок-схема алгоритма
1.4 Исходный текст программы на языке ассемблера с комментариями
; Реализация КИХ фильтра (N-1) порядка (19 коэффициентов)
. version 50
. global BUFFER2
. mmregs
; Задание значений символов, используемых в программе
N. set 19; к-во коэффициентов фильтра
OUTPORT. set 51h; параллельный порт, используемый для вывода отсчетов фильтра
INPORT. set 50h; параллельный порт, используемый для ввода отсчетов сигнала
. data
; данные для фильтра
INAD. word 0
OUTAD. word 0
MM. word 32 768*850/1000; масштабный множитель на входе 0.85
. sect «Vectors»
; Таблица векторов прерываний
B START
B BEGIN; INT1 внешние прерывания
B BEGIN; INT2
B BEGIN; INT3
B BEGIN; TINT прерывание по таймеру
. sect «Initmain»
; Инициализация процессора и основная программа
START:
; установка режимов работы
SETC INTM; запрет прерываний на время установки режимов работы
CLRC OVM; режим переполнения
SPM 1; режим сдвига значений при передаче (PREG) — АЛУ
SETC SXM; режим расширения знака
LDP #0; установка разрешения необходимых прерываний
SPLK #1000h, PRD; ввод таймера
SPLK#1000,TIM
SPLK#08h, IMR
CLRC INTM; разрешение прерываний
LOOP:
NOP; основная программа — бесконечная петля ожидания прихода запроса на; прерывания
B LOOP
; подпрограмма прерывания, которая состоит из трех основных частей
. sect «Vvod»
; прием очередного отсчета
BEGIN:
LDP #0
SPLK # (N-2), BRCR; установка повторений блока команд
LDP #INAD
IN INAD, INPORT; прием отсчета через входной порт
; умножение отсчета на ММ
LT INAD
MPY MM
LDP #BUFFER2
SPH BUFFER2; запись отсчета в буфер
. sect «Filter»
; программа реализации фильтра
LAR AR2,# (BUFFER2+N-1); загрузка начального (для вычислений) адреса; отсчетов в регистр AR2
LAR AR1,# (BUFFER1+N-1); загрузка начального адреса коэффициентов в AR1
MAR *, AR1; установка текущего ARn
ZAP; (PREG) = (ACC) = 0
RPTB B_END-1; задание блока команд для повторения
LT *-, AR2; к-т B — регистр Т, начиная с B (n-1)
MPYA *-; В*Х — PREG; предыдущее (PREG) добавляется к (ACC)
DMOV *, AR1; сдвиг отсчета Х в буфер, необходимый для вычисления следующего; выходного значения фильтра Y
B_END:
; перемножение и добавление в ACC последнего произведения В*Х без сдвига Х
LT *, AR2
MPYA *
APAC
LDP #OUTAD
SACH OUTAD; сохранение полученного выходного отсчета
. sect «Vivod»
; вывод выходного отсчета фильтра
OUT OUTAD, OUTPORT
CLRC INTM; разрешение прерывания для приема следующего отсчета
RET
; резервирование памяти для хранения входных отсчетов
. sect «BUFFER2»
BUFFER2. space N*16
; секция данных с к-тами фильтра, начиная с b0
. sect «BUFFER1»
BUFFER1
. word32768*51/10 000
. word- (32 768*478/10 000)
. word- (32 768*410/10 000)
. word- (32 768*596/10 000)
. word32768*854/10 000
. word32768*1223/100 000
. word- (32 768*846/10 000)
. word- (32 768*1903/100 000)
. word32768*350/10 000
. word32768*2196/100 000
. word32768*350/10 000
. word- (32 768*1903/100 000)
. word- (32 768*846/10 000)
. word32768*1223/100 000
. word32768*854/10 000
. word- (32 768*596/10 000)
. word- (32 768*410/10 000)
. word- (32 768*478/10 000)
. word32768*51/10 000
. end
1.5 Командный файл компоновки
; Командный файл компоновки для КИХ фильтра
v0; версия нулевая
e RESET; задание начального адреса счетчика программ после загрузки
m FIR. map; имя файла с таблицей компоновки
o FIR. out; имя выходного файла
FIR. obj; имена компонуемых файлов
; задание конфигурации памяти проектируемой системы
MEMORY
{
; определение блоков в памяти программ с заданием их начальных адресов и длины, блоки; не должны перекрываться
PAGE 0:
VECS: origin = 0×0000, length = 0×0040
PROG: origin = 0×0040, length = 0×0300
; определение блоков в памяти программ с заданием их начальных адресов и длины, блоки; не должны перекрываться
PAGE 1:
; предопределенный блок памяти для размещения регистров процессора, отраженных на; память
REGS: origin = 0×0000, length = 0×0060
; выделенные блоки в памяти данных для размещения секций исходной программы
BLOCK0: origin = 0×0480, length = 0×0100
BLOCK1: origin = 0×0240, length = 0×0100
BLOCK2: origin = 0×0340, length = 0×0100
}
; указания по размещению секций программы в блоках заданной выше памяти системы
SECTIONS
{
; размещение секции Vectors в блоке памяти программ VECS начиная с начального адреса; блока
Vectors: {}>VECS PAGE 0
; секции программы Init_main, Vvod, Filter, Vivod размещаются в блоке памяти программ; PROG в друг за другом в указанном порядке начиная с начального адреса блока; они; образуют чисто условный модуль MAIN в выходном файле
Main: {* (Initmain)
* (Vvod)
* (Filter)
* (Vivod) }> PROG PAGE 0
; различные секции данных исходной программы размещаются в выделенных блоках; памяти данных
. data: {}>BLOCK0 PAGE 1
BUFFER2: {}>BLOCK1 PAGE 1
BUFFER1: {}>BLOCK2 PAGE 1
}
1.6 Командный файл программного имитатора
ma 0,0,0×1000,ram; определение ПП типа RAM с адресами 0−0×1000
ma 0,1,0×05f, ram; определение ПП типа RAM с адресами 0−0×05f
ma 0×100,1,0×400,ram; ПД типа RAM с адресами 0×100−0х4ff, блоки внутреннего; DARAM B0, B1
ma 0×800,1,0×1200,ram; Внешняя ПД с адресами 0×800 — 0хfff
; Команды задания входноговыходного параллельных портов
; и подключения к ним
; файлов для чтения и записи
ma 0×50,2,1, iport
ma 0×51,2,1,oport
mc 0×50,2, infile. dat, READ
mc 0×51,2,outfile. dat, WRITE
; pincINT1, t_int. dat
takealias. bat; загрузка файла с командами имитатора
loadFIR. out; загрузка исполняемой программы
? PC=0×00; установка начального значения программного счетчика
mem 0×0480; формирование и задание начальных адресов трех окон памяти
mem1 0×280
mem2 0X380
; sound on; включение звуковой cигнализации
1.6 Таблица значений импульсной характеристики
Номер отсчета | Задано | Получено /OUTFILE. DA/ | OUTFILE. DA * MM | |
0.517 338 | 4.30 297 851 5625E-003 | 0.517 | ||
— 0.4 783 066 | — 4.649 414 0625E-002 | — 0.4 784 | ||
— 0.4 100 188 | — 3.48 510 742 1875E-002 | — 0.041 | ||
— 0.5 968 966 | — 5.659 179 6875E-002 | — 0.5 968 | ||
0.8 542 713 | 7.25 708 007 8125E-002 | 0.0853 | ||
0.12 231 730 | 1.34 545 898 4375E-002 | 0.1223 | ||
— 0.8 467 900 | — 7.192 993 164 0625E-002 | — 0.0847 | ||
— 0.19 031 033 | — 1.61 743 164 0625E-002 | — 0.1903 | ||
0.3 508 036 | 2.97 241 210 9375E-002 | 0.035 | ||
0.21 961 315 | 1.864 624 023 4375E-002 | 0.219 | ||
0.3 508 036 | 2.97 241 210 9375E-002 | 0.035 | ||
— 0.19 031 033 | — 1.61 743 164 0625E-002 | — 0.1904 | ||
— 0.8 467 900 | — 7.192 993 164 0625E-002 | — 0.0847 | ||
0.12 231 730 | 1.34 545 898 4375E-002 | 0.1224 | ||
0.8 542 713 | 7.25 708 007 8125E-002 | 0.0854 | ||
— 0.5 968 966 | — 5.659 179 6875E-002 | — 0.5 969 | ||
— 0.4 100 188 | — 3.48 510 742 1875E-002 | — 0.041 | ||
— 0.4 783 066 | — 4.649 414 0625E-002 | — 0.4 784 | ||
0.517 338 | 4.30 297 851 5625E-003 | 0.517 | ||
В данном случае (при воздействии на входе КИХ-фильтра тестового сигнала в виде единичного импульса) отсчеты ИХ фильтра равны соответствующим коэффициентам фильтра.
1.7 Расчет максимально возможной частоты дискретизации
Количество тактов подпрограммы обслуживания прерывания: n=747.
Длительность одного такта: T =50 нс.
Время выполнения программы: tвып = T * n / 8=4.67 мкс
Максимально возможная частота дискретизации f=1/ tвып =214 кГц.
2. Реализация БИХ фильтра на процессоре TMS320C50
2.1 Вариант кода задания
A | B | C | D | E | F | |
Разряд, А определяет номер решаемой задачи. А=3: данная задача предусматривает разработку и отладку программы реализации на процессоре TMS320C50 цифрового фильтра с бесконечной импульсной характеристикой. Разряд В определяет исходные данные для программы фильтра: коэффициенты bi и масштабные множители двух звеньев m
B=7 | ||
Звено 1 | Звено 2 | |
b0=0.3245 | b0=0.3245 | |
b1=0.0000 | b1=0.4918 | |
b2=-0.3245 | b2=0.3245 | |
a0=1.0000 | a0=1.0000 | |
a1=0.2776 | a1=0.4167 | |
a2=0.6399 | a2=0.8322 | |
m=0.5403 | m=0.9500 | |
Разряд С определяет размещение секций программ в памяти процессора.
С | ||
Коды программ (память программ) | ||
Данные — секция. data (память данных) | ||
Коэффициенты и переменные (память данных) | ||
Разряд D определяет тип прерываний, используемый для ввода отсчета сигнала.
D | ||
Прерывание по таймеру | TINT | |
Разряд Е определяет период прерываний (период ввода отсчетов сигнала).
Е | ||
Период ввода входных сигналов, такты | ||
Разряд F определяет номер структуры звеньев фильтра, F=6, номер структуры — 2, каноническая форма реализации.
Для выполнения задачи необходимо сделать следующее:
1. Написать программы реализации БИХ-фильтра в виде последовательного соединения звеньев заданной структуры.
2. Отладить написанную программу с помощью имитатора процессора.
3. Используя пакет синтеза фильтров FD, получить импульсную характеристику заданного фильтра и составить таблицу значений.
4. Снять импульсную характеристику полученного фильтра в имитаторе процессора, используя в качестве входного сигнала единичный импульс.
5. Определить в имитаторе время вычисления выходного отсчета фильтра (в тактах) и рассчитать максимальную возможную частоту дискретизации входного сигнала для данного фильтра.
2.2 Структурная схема
Обозначения:
X (n) — входной отсчет сигнала
Y (n) — выходной отсчет сигнала
2.3 Алгоритм
2.4 Исходный текст программы на языке ассемблера с комментариями
; Программа реализации БИХ фильтра в транспонированной форме
. version 50
. global BUFFER2
. mmregs
; Задание значений символов, используемых в программе
OUTPORT. set51h
INPORT. set50h
. data
; данные для фильтра
INAD. word0
OUTAD. word0
MM1. word 32 768*5403/10 000; масштабный множитель первого звена 0.5403
MM2. word 32 768*9500/10 000; масштабный множитель первого звена 0.95
. sect" KOFVAR"
; коэффициенты первого звена
B01. word32768*3245/10 000
B11. word32768*1/10 000
B21. word- (32 768*3245/10 000)
A11. word32768*2776/10 000
A21. word- (32 768*6399/10 000)
; второе звено
B02. word32768*3245/10 000
B12. word32768*4918/10 000
B22. word32768*3245/10 000
A12. word- (32 768*4167/10 000)
A22. word- (32 768*8322/10 000)
; переменные фильтра
; первое звено
IN1. word 0; входной отсчет
S11. word 0; промежуточное значение
S21. word 0; промежуточное значение
S31. word 0; промежуточное значение
OUT1. word 0; выходной отсчет звена
; второе звено
IN2. word 0; входной отсчет
S12. word 0; промежуточное значение
S22. word 0; промежуточное значение
S32. word 0; промежуточное значение
OUT2. word 0; выходной отсчет звена
. sect «Vectors»
; Таблица векторов прерываний
B START
BBEGIN; INT1 внешние прерывания
BBEGIN; INT2
BBEGIN; INT3
BBEGIN; TINT прерывание по таймеру
. sect" Initmain"
; Инициализация процессора и основная программа
START:
; установка режимов работы
SETCINTM; запрет прерываний на время установки режимов работы
CLRCOVM; режим переполнения
SPM1; режим сдвига значений при передаче (PREG) — >АЛУ
SETCSXM; режим расширения знака
LDP#0; установка разрешения необходимых прерываний
SPLK#1200,PRD; вводим таймер
SPLK#1200,TIM; таймер
SPLK#08h, IMR
CLRCINTM; с интервалом 2000 тактов
LOOP:
NOP; основная программа — бесконечная петля ожидания
; прихода запроса на прерывание
BLOOP
; подпрограмма прерывания, которая состоит из трех основных частей
. sect" Vvod"
BEGIN:
; ввод отсчета
LDP#INAD
ININAD, INPORT
; умножение входного отсчета на ММ
LT INAD
MPYMM1
LDP#IN1
SPHIN1
. sect «Filter»
; вычисление выходного отсчета
ZAP; (ACC) = (PREG) = 0
LT S31; (S31) — > регистр T
MPY B21; (S31) * (B21) — > PREG
LTA S21; предыдущее (PREG) + (ACC) — > ACC, (S21) — > T
MPY B11; (S21) * (B11) — > PREG
APAC; предыдущее (PREG) + (ACC) — > ACC
EXAR; (ACC) <-> буфер BCC
LACCIN1,16; (IN1) — > ACC
LT S31; (S31) — >T
MPYA21; (S31) * (A21) — > PREG
LTAS21; предыдущее (PREG) + (ACC) — > ACC, (S21) — > T
MPYA11; (S21) * (A11) — > PREG
APAC; предыдущее (PREG) + (ACC) — > ACC
SACHS11; сохранение S11
LT S11; (S11) — > T
MPYB01; (S11) * (B01) — > PREG
EXAR; (ACC) <-> буфер BCC
APAC; предыдущее (PREG) + (ACC) — > ACC
SACH OUT1; сохранение выходного отчета
DMOV S21; сдвиг (S21) — > S31
DMOV S11; сдвиг (S11) — > S21
; 2-ое звено
LT OUT1; (OUT1) — > регистр T
LDP #MM2
MPY MM2
LDP #IN2
SPH IN2
ZAP
LT S32
MPY B22
LTA S22
MPY B12
APAC
EXAR
LACCIN2,16
LT S32
MPYA22
LTAS22
MPYA12
APAC
SACHS12
LT S12
MPYB02
EXAR
APAC
SACH OUT2
DMOV S22
DMOV S1
. sect «Vivod»
; Вывод выходного отсчета фильтра
LACCOUT2
LDP#OUTAD
SACLOUTAD
OUT OUTAD, OUTPORT
CLRCINTM; разрешение прерывания до следующего отсчета
RET
. end
2.5 Командный файл компоновки
; Командный файл компоновки для КИХ фильтра
v0; версия нулевая
e RESET; задание начального адреса счетчика программ после загрузки
m IIR. map; имя файла с таблицей компоновки
o IIR. out; имя выходного файла
IIR. obj; имена компонуемых файлов
; задание конфигурации памяти проектируемой системы
MEMORY
{
; определение блоков в памяти программ с заданием их начальных адресов и длины, блоки; не должны перекрываться
PAGE 0:
VECS: origin = 0×0000, length = 0×0040
PROG: origin = 0×0040, length = 0×0300
; определение блоков в памяти программ с заданием их начальных адресов и длины, блоки; не должны перекрываться
PAGE 1:
; предопределенный блок памяти для размещения регистров процессора, отраженных на; память
REGS: origin = 0×0000, length = 0×0060
; выделенные блоки в памяти данных для размещения секций исходной программы
BLOCK0: origin = 0×0100, length = 0×0100
BLOCK1: origin = 0×0200, length = 0×0100
}
; указания по размещению секций программы в блоках заданной выше памяти системы
SECTIONS
{
; размещение секции Vectors в блоке памяти программ VECS начиная с начального адреса; блока
Vectors: {}>VECS PAGE 0
; секции программы Init_main, Vvod, Filter, Vivod размещаются в блоке памяти программ; PROG в друг за другом в указанном порядке начиная с начального адреса блока; они; образуют чисто условный модуль MAIN в выходном файле
Main: {* (Initmain)
* (Vvod)
* (Filter)
* (Vivod)
}> PROG PAGE 0
; различные секции данных исходной программы размещаются в выделенных блоках; памяти данных
. data: {}>BLOCK0 PAGE 1
KOFVAR: {}>BLOCK1 PAGE 1
}
2.6 Командный файл программного имитатора
ma 0,0,0×1000,ram; Определение ПП типа RAM с адресами 0−0×1000
ma 0,1,0×05f, ram; Определение ПП типа RAM с адресами 0−0×05f
ma 0×100,1,0×400,ram; ПД типа RAM с адресами 0×100−0х4ff, блоки внутреннего DARAM; B0, B1
ma 0×800,1,0×1200,ram; Внешняя ПД с адресами 0×800 — 0хfff
; Команды задания входноговыходного параллельных портов и подключения к ним; файлов для чтения и записи
ma 0×50,2,1, iport
ma 0×51,2,1,oport
mc 0×50,2, infile. dat, READ
mc 0×51,2,outfile. dat, WRITE
; pincTINT
takealias. bat; загрузка файла с командами имитатора
loadIIR. out; загрузка исполняемой программы
? PC=0×00; установка начального значения программного счетчика
mem 0×0100; формирование и задание начальных адресов двух окон памяти
mem1 0×200
sound on; включение звуковой игнализации
2.7 Таблица значений импульсной характеристики
Номер отсчета | Значение ИХ в FD | Значение ИХ в программе | |
0.054 | 5.40 161 132 8125E-002 | ||
0.743 965 | 7.437 133 789 0625E-002 | ||
— 0.83 662 | — 8.364 868 164 0625E-002 | ||
— 0.173 136 | -.173 126 220 703 125 | ||
0.520 795 | 5.200 195 3125E-002 | ||
0.190 937 | . 190 887 451 171 875 | ||
— 0.464 815 | — 4.647 827 148 4375E-002 | ||
— 0.162 193 | -.1 622 314 453 125 | ||
0.510 734 | 5.99 487 304 6875E-002 | ||
0.112 876 | .11 285 400 390 625 | ||
2.7 Расчет максимально возможной частоты дискретизации
Количество тактов подпрограммы обслуживания прерывания: n=720.
Длительность одного такта: T =50 нс.
Время выполнения программы: t= 4.5 мкс.
Максимально возможная частота дискретизации f=222 кГц.
3. Расчет и результаты фильтра с помощью пакета Filter Design
3.1 КИХ фильтр
АЧХ фильтра.
ФЧХ фильтра.
ИХ фильтра.
3.2 БИХ фильтр
Характеристики фильтра.
1. Л. А. Яковлев, «Реализация ЦФ на цифровом процессоре обработки сигналов. Методические указания к выполнению курсовои? работы», СПб, 2004.
2. Л. А. Яковлев, «Цифровые процессоры обработки сигналов. Методические указания к выполнению лабораторных работ», СПб, 2003.
3. А. И. Солонина, Л. А. Яковлев, Д. Улахович, «Алгоритмы и процессы цифровой обработки сигналов», СПб, 2002.