Проектирование бих-фильтра
1. Задание на синтез ЦФ следующее:
АФ – прототип |
ЦФ |
Метод синтеза |
Частота дискретизации, кГц |
||||
Тип фильтра |
АЧХ |
, дБ |
, дБ |
, кГц |
, кГц |
||
ФНЧ |
Ч1 |
0,7 |
55 |
1,0 |
7,0 |
БП |
30 |
Ч1 – фильтр Чебышева первого рода;
БП – билинейное Z-преобразование;
2. Определив минимально необходимый
порядок фильтра функцией cheb1ord, с помощью
функции cheby1 получим коэффициенты
и
и по ним запишем передаточную характеристику
АФ:
Перейдём от цифровых частот к аналоговым по формуле:
-
цифровые частоты;
-
аналоговые частоты;
-
период дискретизации
В нашем случае:
;
;
С помощью MatLab рассчитаем аналоговый фильтр прототип.
а) Определим минимально необходимый порядок фильтра:
Для этого используем функцию MatLab:
[n, Wo] = cheb1ord(Wp, Ws, Rp, Rs, ‘s’),
в этой функции:
n – минимально необходимый для заданных требований порядок фильтра;
Wo – частота среза фильтра;
Wp - граница полосы пропускания рад/с;
Ws - граница полосы задерживания рад/с;
Rp – допустимый уровень пульсаций в полосе пропускания, дб ;
Rs – допустимый уровень пульсаций в полосе задеживания, дб.
Параметр ‘s’ является признаком аналогового расчета.
В нашем случае:
;
;
;
;
б) Рассчитаем коэффициенты передачи аналогового фильтра:
Для этого используем функцию MatLab:
[b, a] = cheby1(n, Wo, type, ‘s’),
в этой функции:
type – тип фильтра;
Wo – частота среза фильтра;
n – порядок фильтра;
Тогда предаточная функция АФ-прототипа:
.
Построим частотные характеристики :
Для того чтобы убедиться в удовлетворении начальным требованиям, построим ЛАЧХ:
3. Рассчитаем полюсы АФ-прототипа :
4. По вычисленным с помощью функции tf2zp векторам нулей и полюсов определим векторы коэффициентов числителя b и знаменателя a передаточной функции ЦФ:
Запишем саму передаточную функцию ЦФ :
.
Тот же результат получается при использовании стандартной функции bilinear. Синтаксис функции:
[bz, az] = bilinear(b,a,Fs,Fp);
Здесь b и a – коэффициенты полиномов числителя и знаменателя функции передачи АФ-прототипа. Параметр Fs задает частоту дискретизации в герцах. Последний входной параметр Fp является необязательным. Если при вызове использован параметр Fp, то он задает частоту (в герцах), на которой комплексные коэффициенты передачи аналоговой и дискретной системе будут совпадать.
Fs = 30000 Гц. Параметр Fp при вызове функции я не использовал.
Построим диаграмму нулей и полюсов :
Преобразуем передаточную функцию:
Разностное уравнение имеет вид:
.
Обозначим коэффициенты знаменателя передаточной функции как:
.
Обозначим коэффициенты знаменателя передаточной функции как:
.
Решение разностного уравнения для управляющего сигнала типа единичный скачок представим в виде диаграммы :
Построим импульсную и переходную характеристики фильтра:
Для построения импульсной характеристики фильтра используем функцию MatLab
h = impz(b, a, n);
где:
h – отсчёты импульсной характеристики;
b – вектор коэффициентов числителя передаточной функции цифрового фильтра;
a - вектор коэффициентов знаменателя передаточной функции цифрового фильтра;
n – число отсчётов импульсной характеристики.
Для построения переходной характеристики фильтра подадим на фильтр ряд единичных скачков:
g = filter(b, a, ones(1, n));
где:
g – отсчёты переходной характеристики;
b – вектор коэффициентов числителя передаточной функции цифрового фильтра;
a - вектор коэффициентов знаменателя передаточной функции цифрового фильтра;
n – число отсчётов переходной характеристики характеристики
Построим сигналы на выходе фильтра, подавая на вход сигналы (синусоиды y=10∙Sin(2πf∙t) ) с различными частотами, лежащими в полосе задержки и в полосе пропускания.
Из графиков видно, что сигнал с частотой, лежащей в полосе пропускания не изменяется, после прохождения через фильтра.
Сигнал, с частотой, лежащей в полосе задерживания практически полностью подавляется.
Графики можно сверить с частотными характеристиками и убедиться в их правильности. Так как все полюсы лежат внутри единичной окружности, то фильтр является устойчивым.
Для составления канонической структурной схемы фильтра (рис. 28) запишем уравнения:
;
;
Запишем коэффициенты числителя и знаменателя передаточной функции:
Каноническая структура схемы имеет вид :
Составим структурную схему фильтра в
последовательной форме, для этого
представим передаточную функцию
в виде произведения передаточных функций
не выше второго порядка
параметры каскадного представления задаются в виде матрицы, содержащей вещественные коэффициенты:
.
Матрицу
получим используя функцию MatLab
- tf2sos.
.
Структурная схема имеет вид:
Построим
частотные характеристики ЦФ и сравним
их с аналогичными характеристиками АФ
:
В MatLab для расчета частотных характеристик
ЦФ используется функция
,
где
-
коэффициенты передаточной функции.
Возвращает АФЧХ и вектор ω
круговых частот в радианах. Для расчета
АП используется функция
.
Логарифмическая АЧХ ЦФ имеет вид :
Масштабированная ЛАЧХ:
Из
масштабированной ЛАЧХ видно что полосы
пропускания и задержки удовлетворяют
заданным требованиям.
Построим логарифмические характеристики
в функции абсолютной псевдочастоты
.
Переход к псевдочастоте основан на
переходе от
-
преобразования к
-
преобразованию с помощью подстановки:
С последующей заменой комплексной
переменной
на абсолютною псевдочастоту
При этом реальная частота
и псевдочастота
связаны
соотношением
Удобство псевдочастоты заключается в
том, что, как следует из (8), на частоте
где выполняется условие
,
она приближенно равна угловой частоте.
Нетрудно убедится, что при изменении
частоты в диапазоне
псевдочастота принимает значение
бесконечности.
Для перехода от дискретной передаточной
функции разомкнутой и
мпульсной
системы
к частотной
следует
сделать замену
[H_CF W_CF] = freqz(bz,az);
lam = 2*f_d*tan(W_CF*f_d/(4*f_d));
lam_p = 2*f_d*tan(w_p/(2*f_d));
lam_s = 2*f_d*tan(w_s/(2*f_d));
plot(lam,LACH_CF);
