Вычисление коэффициентов
Для
расчёта коэффициентов БИХ-фильтра была
написана программа в математическом
пакете Scilab:
[hz]
=
iir(4,
'hp',
'cheb2',
[500/8000],
[.2,
.03]);
[hzm,
fr]
=
frmag(hz,
256);
plot2d(fr,
hzm);
С
помощью данной программы была получена
следующая передаточная функция:
(11)
где
коэффициенты числителя — это b-коэффициенты
фильтра, коэффициенты знаменателя –
a-коэффициенты
фильтра.
При
этом получится следующая АЧХ:
Рисунок
8.
АЧХ БИХ-фильтра
Разработка программы на языке ассемблера процессора adsp-2181
.section/dm
vars;
.var/circ
coef_b[5] = 2694, -10362, 15343, -10362, 2694;
.var/circ
coef_a[5] = 4096, -12437, 14900, -8250, 1772;
.var/circ
simples[5] = 0, 0, 0, 0, 0;
.var/circ
feedback[5] = 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
iir; rti; rti; rti;
rti;
rti; rti; rti;
main:
ena
m_mode;
mr
= 0;
I0
= simples;
L0
= length(simples);
I1
= coef_b;
L1
= length(coef_b);
I2
= feedback;
L2
= length(feedback);
I3
= coef_a;
L3
= length(coef_a);
M1
= 1;
M0
= 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;
iir:
mr
= 0;
CNTR
= 4;
do
c1 until CE;
mx0
= dm(I0, M1);
my0
= dm(I1, M1);
c1: mr
= mr + mx0 * my0 (ss);
mx0
= dm(I0, M0);
my0
= dm(I1, M1);
mr
= mr + mx0 * my0 (ss);
ax0
= IO(0);
dm(I0,
M0) = ax0;
CNTR
= 4;
do
c2 until CE;
mx0
= dm(I2, M1);
my0
= dm(I3, M1);
c2: mr
= mr + mx0 * my0 (ss);
mx0
= dm(I2, M0);
my0
= dm(I3, M1);
mr
= mr + mx0 * my0 (ss);
mr
= mr (rnd);
if
mv sat mr;
dm(I2,
M0) = mr1;
IO(1)
= mr1;
rti;
Результаты работы программы
Проверим
правильность работы фильтра. Для этого
сформируем и подадим на вход фильтра
сигнал длительностью в 0.5 секунды,
имеющий постоянную амплитуду и линейное
нарастание частоты от 0 до 4 кГц. В
результате получим сигнал, повторяющий
АЧХ, что свидетельствует о корректой
работе программы.
Рисунок
9.
ЛЧМ
сигнал на выходе фильтра
Москва
2023