Лабораторная работа №5
Исследование характеристик и параметров аналоговых фильтров
Цель работы: усвоение теоретического материала по аналоговым фильтрам и приобретение практических навыков проектирования аналоговых фильтров в среде MATLAB.
Общие сведения
Фильтр – устройство, пропускающее сигналы в определённой полосе частот и задерживающее в остальных частотах.
Различают следующие типы фильтров:
-
ФНЧ – фильтры нижних частот (low-pass filter), пропускающие частоты меньше некоторой частоты среза ω0;
-
ФВЧ – фильтры верхних частот (high-pass filter), пропускающие частоты больше некоторой частоты среза ω0;
-
ПФ – полосовые фильтры (band-pass filter), пропускающие частоты в некотором диапазоне ω1 ... ω2 (могут характеризоваться средней частотой и шириной полосы пропускания );
-
РФ – режекторные фильтры (band-stop filter), другие возможные названия – заграждающий фильтр, фильтр-пробка, полосно-задерживающий фильтр. Режекторные фильтры пропускают на выход все частоты, кроме лежащих в некотором диапазоне ω1 ... ω2 (могут характеризоваться средней частотой и шириной полосы задерживания ).
Идеальная форма K(f) – амплитудно-частотной характеристики фильтра (АЧХ) – прямоугольная, физически не реализуемая. На практике для приближения формы АЧХ фильтра к прямоугольной используют ряд методов аппроксимации прямоугольных АЧХ.
Вначале рассчитывают фильтры-прототипы.
Основные типы аппроксимирующих фильтров-прототипов и их характеристики представлены в таблице 5.1.
Таблица 5.1 – Аппроксимирующие фильтры-прототипы.
Тип фильтра, K(ω) |
АЧХ |
ФЧХ |
Нули и полюсы |
Баттерворта |
|||
Чебышева I-го рода |
|||
Чебышева II-го рода |
|||
Эллиптический |
|||
Бесселя
|
|
|
Пояснения к таблице 5.1:
-
приведенные АЧХ, ФЧХ, нули и полюсы соответствуют фильтрам 5-го порядка;
-
ω0 – частота среза (ω0=1рад/с), n – порядок фильтра, ε – величина пульсации АЧХ в полосе пропускания (задерживания), Tn – полином Чебышева n-го порядка, ε и L – параметры, определяющие величину пульсации в полосах пропускания и задерживания, dk – коэффициенты полинома знаменателя;
-
* – полюсы, 0 – нули;
-
на графиках АЧХ и ФЧХ горизонтальная ось в рад/с.
Все приведенные фильтры являются фильтрами-прототипами, представляющими собой ФНЧ с частотами среза равными 1 рад/с.
Для получения из фильтра-прототипа фильтра заданного вида с требуемыми параметрами в MATLAB имеются четыре функции. Принцип составления их имён следующий: сначала идёт сокращение lp, означающее, что исходным является ФНЧ (low-pass), потом следует символ преобразования 2 и в конце стоит обозначение типа результирующего фильтра:
-
lp2lp – изменение частоты среза ФНЧ (low-pass);
-
lp2hp – преобразование ФНЧ в ФВЧ (high-pass);
-
lp2bp – преобразование ФНЧ в полосовой фильтр (band-pass);
-
lp2bs – преобразование ФНЧ в режекторный фильтр (band-stop).
Все эти функции могут преобразовывать фильтры, заданные двумя способами – в виде коэффициентов полиномов числителя и знаменателя функции передачи, либо в пространстве состояний. Различаются эти два варианта по числу входных и выходных параметров (таблица 5.3).
В таблице 5.2 приведены функции MATLAB для расчёта аппроксимирующих фильтров-прототипов.
Таблица 5.2 – Функции MATLAB для расчёта фильтров-прототипов.
№ п/п |
Тип фильтра |
Функция MATLAB |
1. |
Баттерворта |
[z, p, k] = buttap(n); |
2. |
Чебышева I-го рода |
[z, p, k] = cheb1ap(n, Rp); |
3. |
Чебышева II-го рода |
[z, p, k] = cheb2ap(n, Rp); |
4. |
Эллиптический |
[z, p, k] = ellipap(n, Rp, Rs); |
5. |
Бесселя |
[z, p, k] = besselap(n); |
В таблице 5.2 приняты следующие обозначения:
n – порядок фильтра;
Rp – уровень пульсации в полосе пропускания в децибелах;
Rs – уровень пульсации в полосе задерживания в децибелах.
Функции MATLAB для преобразования фильтра-прототипа в фильтр заданного типа представлены в таблице 5.3.
Таблица 5.3 – Функции преобразования фильтра-прототипа к заданному типу фильтра.
Тип фильтра |
Формула замены s для функции передачи |
Функция MATLAB |
ФНЧ |
lp2lp: [bl, al] = lp2lp(b, a, ω0); [Al, Bl, Cl, Dl] = lp2lp(A, B, C, D, ω0); |
|
ФВЧ |
lp2hp: [bl, al] = lp2hp(b, a, ω0); [Al, Bl, Cl, Dl] = lp2hp(A, B, C, D, ω0); |
|
полосовой |
; ; |
lp2bp: [bl, al] = lp2bp(b, a, ω0, Bw); [Al, Bl, Cl, Dl] = lp2bp(A, B, C, D, ω0, Bw); ω0 и Bw – в радианах в секунду |
режекторный |
; ; |
lp2bs: [bl, al] = lp2bs(b, a, ω0, Bw); [Al, Bl, Cl, Dl] = lp2bs(A, B, C, D, ω0, Bw); |
Пояснения к таблице 5.3. Входными параметрами функций преобразования являются описания фильтра в виде коэффициентов полиномов числителя и знаменателя функции передачи b, a или в пространстве состояний – A, B, C, D. Частота среза ω0 (для ФНЧ и ФВЧ) или средняя частота ω0 (для полосового и режекторного фильтров) и Bw – ширина полосы пропускания (для полосового) или ширина Bw полосы задерживания (для режекторного).
Возвращаемый результат: (bl, al) или (Al, Bl, Cl, Dl) – пересчитанные параметры фильтра.
Функции matlab для расчета аналоговых фильтров
Для расчета аналоговых фильтров необходимо выполнить две основные операции:
-
рассчитать ФНЧ – прототип;
-
преобразовать ФНЧ – прототип к нужному типу фильтра с заданными частотами среза.
Эта последовательность действий оформлена в виде следующих функций MATLAB (таблица 5.4).
Таблица 5.4 – Функции MATLAB расчета аналоговых фильтров.
Тип фильтра |
Функция MATLAB |
Баттерворта |
butter(n, ω0, type, ‘s’) |
Чебышева I-го рода |
cheby1(n, Rp, ω0, type, ‘s’) |
Чебышева II-го рода |
cheby2(n, Rs, ω0, type, ‘s’) |
Эллиптический |
ellip(n, Rn, Rs, ω0, type, ‘s’) |
Бесселя |
besself(n, ω0, type) |
Значения параметров ω0, type в зависимости от типа фильтра представлены в таблице 5.5.
Таблица 5.5 – Значения параметров ω0, type.
Тип фильтра |
ω0 |
type |
ФНЧ |
скаляр |
отсутствует |
ФВЧ |
скаляр |
‘high’ |
полосовой |
вектор [ω1 ω2] |
отсутствует |
режекторный |
вектор [ω1 ω2] |
‘stop’ |
Выбор порядка фильтра
Указанные в таблицах 5.2 – 5.5 функции расчета фильтров требуют задания в качестве входных параметров порядка фильтра и его частоты среза. Однако, исходными данными при разработке фильтров, как правило, являются другие параметры:
-
частотные границы полос пропускания (ωp) и задерживания (ωs);
-
допустимая неравномерность АЧХ в полосе пропускания (Rp);
-
минимально необходимое затухание в полосе задерживания (Rs).
В MATLAB имеются однотипные функции, позволяющие рассчитать минимально необходимый порядок фильтра по требованиям, предъявляемым к фильтру. Функции имеют следующий вид:
[n, ωn] = buttord(ωp, ωs, Rp, Rs, ‘s’) (5.1)
[n, ωn] = cheb1ord(ωp, ωs, Rp, Rs, ‘s’) (5.2)
[n, ωn] = cheb2ord(ωp, ωs, Rp, Rs, ‘s’) (5.3)
[n, ωn] = ellipord(ωp, ωs, Rp, Rs, ‘s’) (5.4)
Входные параметры: Rp, Rs – в децибеллах; ‘s’ – признак аналогового фильтра; ωp ωs – задают границы полос пропускания и задерживания:
-
для ФНЧ: ωp, ωs – числа, ωp < ωs;
-
для ФВЧ: ωp, ωs – числа, ωp > ωs;
-
для полосового: ωp, ωs – двухэлементные векторы, ωs(1) < ωp(1) < ωp(2) < ωs(2);
-
для режекторного: ωp, ωs – двухэлементные векторы, ωp(1) < ωs(1) < ωs(2) < ωp(2).
Возвращаемые величины:
n – минимально необходимый порядок фильтра;
ωn – частота среза.
Полученные параметры n и ωn должны использоваться при вызове функции расчета фильтра.
Порядок выполнения лабораторной работы
-
При домашней подготовке:
-
проработать рекомендуемую литературу;
-
выполнить индивидуальное задание с комментариями и выводами;
-
письменно ответить на контрольные вопросы;
-
оформить отчет по лабораторной работе;
Во время занятия:
-
продемонстрировать на компьютере результаты выполнения индивидуального задания;
-
получить допуск к защите лабораторной работы;
-
защитить лабораторную работу;
-
уточнить индивидуальное задание на следующую лабораторную работу.
Индивидуальное задание к лабораторной работе №5
Варианты индивидуальных заданий представлены в таблице 5.6.
В соответствии с индивидуальным заданием необходимо спроектировать аналоговый фильтр. Рекомендуется следующая последовательность расчета:
-
рассчитать минимально необходимый порядок фильтра согласно функций 5.1 – 5.4, при этом принять Rp = 20 Дб, Rs = 0.5 Дб;
-
рассчитать параметры фильтра-прототипа, взяв необходимую функцию из таблицы 5.2;
-
рассчитать требуемые параметры фильтра согласно индивидуального задания, таблица 5.6, взяв необходимую функцию из таблицы 5.3;
-
привести нули и полюсы фильтра к виду функции передачи, а также к пространству состояний, используемые функции: tf2zp, tf2ss, zp2tf, zp2ss, ss2tf, ss2zp;
-
проверить результаты рассчитанного фильтра путём расчёта его параметров по функциям таблицы 5.4;
-
построить АЧХ и ФЧХ рассчитанного фильтра и фильтра-прототипа, ФЧХ должна выводиться в градусах, должен отсутствовать «скачек» при изменении частоты от -1800 до 1800, рекомендуемые функции – freqs, angle, unwrap.
Таблица 5.6 – Варианты индивидуальных заданий
№ п/п |
Вид фильтра |
Частоты срезов (Гц) |
1 |
Верхних частот |
10 |
2 |
Нижних частот |
120 |
3 |
Полосовой |
10/120 |
4 |
Режекторный |
10/120 |
5 |
Верхних частот |
15 |
6 |
Нижних частот |
130 |
7 |
Полосовой |
15/130 |
8 |
Режекторный |
15/130 |
9 |
Верхних частот |
20 |
10 |
Нижних частот |
140 |
11 |
Полосовой |
20/140 |
12 |
Режекторный |
20/140 |
13 |
Верхних частот |
25 |
14 |
Нижних частот |
150 |
15 |
Полосовой |
25/150 |
16 |
Режекторный |
25/150 |
17 |
Верхних частот |
30 |
18 |
Нижних частот |
160 |
19 |
Полосовой |
30/160 |
20 |
Режекторный |
30/160 |
21 |
Верхних частот |
40 |
22 |
Нижних частот |
180 |
23 |
Полосовой |
40/180 |
24 |
Режекторный |
40/180 |