Нахождение порядка НФНЧ: выбрать минимальный порядок фильтра позволяет функция buttord(). Данная функция позволяет выбирать порядок как для дискретных, так и для аналоговых фильтров. Признаком дискретного расчета является отсутствие строки ‘s’ в конце списка входных параметров. Входной параметр Rp –допустимый уровень пульсаций в полосе пропускания (в децибелах), Rs – минимально необходимое затухание в полосе задерживания (в децибелах) [4].
[n, Wn] = buttord(1, Omega_s, Rp, Rs, 's'))
n = 8
Wn = 1.06159367286336
Порядок фильтра равен 8, частота среза фильтра – 1.06159367286336
Определение передаточной функции НФНЧ выполняется с помощью функции MatLab butter(). Входной параметр n – порядок фильтра, Wn – частота среза, ‘s’ – строка, указывающая на то, что производится расчет аналогового фильтра [3], [4].
[num, den] = butter(n, Wn, 's');
Преобразование НФНЧ в ПФ производится с помощью функции lp2bp. Входными параметрами функции являются описание фильтра (в виде коэффициентов полиномов числителя и знаменателя функции передачи – num, den), средняя частота W0 и ширина BW полосы пропускания фильтра (в радианах в секунду) [4].
[BT, AT] = lp2bp(num, den, W0, BW);
При этом преобразовании порядок фильтра увеличивается вдвое, таким образом, порядок аналогового прототипа равен 16.
Таким образом, характеристики полученного аналогового фильтра таковы:
Характеристики |
Ws1 |
Wp1 |
Wp2 |
Ws2 |
Rs |
Rp |
Ft |
Желаемые |
1200 Гц |
2000 Гц |
8000 Гц |
11000 Гц |
40 дБ |
3 дБ |
40000 Гц |
Полученные |
1247 Гц |
2000 Гц |
8000 Гц |
11000 Гц |
40 дБ |
3 дБ |
40000 Гц |
Таблица 1. Желаемые и полученные характеристики аналогового фильтра.
3. Преобразование аналогового прототипа в ЦФ
Для преобразования аналогового прототипа в ЦФ используется функция bilinear(), где ВТ, АТ – коэффициенты полиномов числителя и знаменателя функции передачи аналогового прототипа. Параметр Ft задает частоту дискретизации в герцах [4].
[numd, dend] = bilinear(BT, AT, Ft)
numd =
0.00049884915809 0.00000000000001 -0.00399079326485
0.00000000000040 0.01396777642546 0.00000000000205
-0.027935552855810 0.00000000000307 0.03491944106372
0.00000000000190 -0.02793555285419 0.00000000000046
0.01396777642641 0.00000000000005 -0.00399079326474
0.00000000000000 0.00049884915809
dend =
1.000000000000 -8.677802923343 36.377624181453
-98.198275640578 191.631314325146 -287.108772148849
341.728963363368 -329.485746185612 259.925095008817
-168.242894288576 89.022621415581 -38.096391080543
12.927857754314 -3.364906624499 0.634202105561
-0.077466072584 0.004634197868
4. Уравнение фильтра
Передаточная функция полосового фильтра имеет вид дробно-рационального выражения:
В общем виде линейный цифровой фильтр описывается линейным разностным уравнением с постоянными коэффициентами:
где x(n) – входной сигнал, y(n) – выходной сигнал, ak, bk – коэффициенты фильтра.
Откуда уравнение фильтра будет иметь следующий вид:
Диаграмма нулей и полюсов:
figure(1)
zplane(numd, dend);
Рис. 3. Диаграмма нулей и полюсов.
По условию устойчивости полюсы должны быть внутри единичного круга на плоскости z. Из полученной диаграммы видно, что спроектированный фильтр устойчив, так как все его полюса строго лежат внутри круга единичного радиуса.
Построение АЧХ и ЛАЧХ цифрового полосового фильтра Баттерворта:
figure(2)
subplot(211)
plot(f, abs(H),'LineWidth',2),
set(gca,'FontName','Times New Roman Cyr','FontSize', 10),
grid on
title('АЧХ полосового цифрового фильтра')
xlabel('Частота, Гц ')
subplot(212)
plot(f, 20*log10(abs(H)),'LineWidth',2),set(gca,'FontName','Times New Roman Cyr','FontSize', 10),
grid
title('ЛАЧХ полосового цифрового фильтра')
xlabel('Частота, Гц ')
Рис. 4. Графики АЧХ, ЛАЧХ и ФЧХ цифрового ПФ Баттерворта.
Рис. 5. Полоса пропускания фильтра (увеличенный масштаб).
Рис. 6. Увеличенный масштаб нижней и верхней граничных частот полосы задерживания соответственно.
Из рис. 5. видно, что неравномерность в полосе пропускания составляет около 2 дБ. Графики ЛАЧХ на рис. 6 показывают, что ослабление в полосе задерживания полностью соответствует требуемой спецификации, т.е. ослабление в полосе задерживания составляет не менее 40 дБ: при нижней граничной частоте полосы задерживания эта величина составляет -45.004 Дб, при верхней частоте полосы задерживания – -40 Дб (эти значения были получены с использованием функции MatLab zoomon).
Реализация фильтра
Реализация цифровых фильтров может быть самой разной, причем совершенно различные на первый взгляд фильтры могут обладать идентичными передаточными характеристиками. Цифровой фильтр с заданной передаточной характеристикой можно реализовать различными способами. Это дает разработчику лишнюю «степень свободы», позволяя помимо заданной передаточной характеристики добиться выполнения каких-либо других требований, таких как минимизация шумов дискретизации по уровню, минимизации числа элементов схемы фильтра и т.д.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.