OTChET_GOTOV_3_laba_tsos 2 (1043801), страница 2
Текст из файла (страница 2)
Фильтр, полученный с помощью окна Хэмминга (Hamming)
Вывод: применение окон позволяет ослабить скачки (боковые лепестки) спектра, возникающие из-за наложения периодически повторяющихся фрагментов сигнала.
4) Зафиксируйте на графике зависимость ширины переходной полосы между полосами пропускания и задерживания от порядка фильтра.
Рассмотрим эллиптический фильтр с порядками 5, 10 и 20:
Эллиптический фильтр с порядком 5
Эллиптический фильтр с порядком 10
Эллиптический фильтр с порядком 20
Вывод: как видно из графиков, при увеличении порядка фильтра улучшается его АЧХ, а значит уменьшается ширина переходной полосы между полосами пропускания и задерживания.
2. Проектирование КИХ и БИХ фильтров с помощью функций MATLAB.
Спроектируем КИХ фильтр с помощью функции fir2 пакета MATLAB
(2)
Здесь
- вектор коэффициентов фильтра,
- порядок фильтра,
- вектор значений частоты (частота вводится в долях частоты Найквиста),
- вектор значений желаемой АЧХ, соответствующих введенным значениям частоты.
Выбираем данные, примерно аналогичные тем, которые были получены в п. 1.
(1)
Сравните результаты, полученные в (1) и на рис. 2..
Построим теперь в MATLABе БИХ фильтр с помощью функции Юла-Уокера
(2)
Здесь в отличие от функции (см. (1)) вектора
задают точки, через которые желательно прохождение АЧХ фильтра. Задаем значения, близкие к исходным данным предыдущих вариантов
(3)
Доводим вычисления до построения АЧХ фильтра. Видно, что полоса перехода больше чем в предыдущих вариантах. Попробуйте увеличить порядок фильтра Юла-Уокера, чтобы уменьшить полосу перехода.
Спроектируем КИХ фильтр с помощью функции fir2 пакета MATLAB.
Здесь
- вектор коэффициентов фильтра,
- порядок фильтра,
- вектор значений частоты (частота вводится в долях частоты Найквиста),
- вектор значений желаемой АЧХ, соответствующих введенным значениям частоты.
b = fir2(169, [0, 0.48, 0.51, 1], [1,1,0,0]);
[h, w] = freqz(b, 1);
figure;
plot( w / pi, 20*log10(abs(h))), grid;
Спроектированный КИХ фильтр с помощью функции fir2
Вывод: график фильтра, построенного с помощью функции fir2 похож на график фильтра, построенного в FDA Tool.
Построим теперь в MATLAB БИХ фильтр с помощью функции Юла-Уокера.
(2)
Здесь в отличие от функции (см. (1)) вектора
задают точки, через которые желательно прохождение АЧХ фильтра. Задаем значения, близкие к исходным данным предыдущих вариантов:
n = 11;
w = [0, 0.2, 0.3, 0.4, 0.48, 0.51, 0.7, 0.9, 1];
f = [1, 1, 1, 1, 1, 0, 0, 0, 0];
[b, a] = yulewalk(n, w, f);
[h1,w1] = freqz(b,a,128);
figure;
plot(w1/pi,abs(h1)), grid;
БИХ фильтр с помощью функции Юла-Уокера (n = 11)
По графику видно, что полоса перехода довольна широкая. Попробуем уменьшить ее, увеличив порядок фильтра (n = 20):
БИХ фильтр с помощью функции Юла-Уокера (n = 20)
Вывод: при увеличении порядка БИХ фильтра, построенного с помощью функции Юла-Уокера, полоса перехода уменьшилась.
3. Проектирование дискретного фильтра со свойствами непрерывного аналога.
В предыдущих пунктах проектировались фильтры, предназначенные для подавления сигнала в заданной полосе частот (для фильтрации в тривиальном понимании этого термина). Но фильтрация это более широкое понятие, которое подразумевает выполнение дискретным фильтром произвольного алгоритма обработки входного сигнала. Далее будем проектировать дискретные фильтры, у которых задачи обработки сигналов такие же, как и у их непрерывных аналогов.
3.1. Интегратор
Передаточная функция непрерывного интегратора
(4)
Для создания дискретного фильтра по коэффициентам передаточной функции непрерывного аналога можно использовать функции и
. Сейчас применим первую функцию
//Ф-ция impinvar пишется слитно (5)
Здесь
- коэффициенты непрерывного аналога,
- частота дискретизации,
- коэффициенты дискретного фильтра.
Для передаточной функции (4) и имеем
(6)
По полученным значениям строим импульсную передаточную функцию дискретного интегратора
(7)
Проверим интегрирующие свойства фильтра, подав на вход единичную функцию
(8)
На выходе получен интеграл от единичной функции.
Подадим на вход синусоиду
(9)
Синим цветом на графике отображается первая функция, красным – вторая.
Видно, что на выходе получили интеграл от входной синусоиды - косинусоида, смещенная по оси ординат из-за ненулевых начальных условий.
Чтобы интегратор хорошо работал в рабочей полосе частот, следует правильно выбрать частоту дискретизации, так как после половины частоты дискретизации начинается периодическое повторение частотных характеристик и в этой полосе частот работать нельзя.
Решение:
Для создания дискретного фильтра по коэффициентам передаточной функции непрерывного аналога можно использовать функцию impinvar.
Здесь
- коэффициенты непрерывного аналога,
- частота дискретизации,
- коэффициенты дискретного фильтра.
Для передаточной функции и
:
[bz, az] = impinvar(1, [1, 0], 1);
x = filter(bz, az, ones(100, 1));
plot(x);
График x (интеграл от единичной функции)
Теперь подадим на вход синусоиду:
t = 0:0.1:100;
x = filter(bz, az, sin(t));
plot(t, sin(t), t, x), grid;
График t (интеграл от входной синусоиды)
3.2. Апериодическое звено.
Апериодическое звено – это непрерывный интегратор, замкнутый отрицательной обратной связью, имеет передаточную функцию в виде:
Найдем при Т=1 структуру дискретного аналога с помощью функции . Частоту дискретизации выберем на порядок больше, чем собственная частота аналога
.
[bz, az] = bilinear(1, [1, 1], 10);
[h, w] = freqz(bz, az);
plot(log10(w), 20*log10(abs(h))), grid;
ЛАХ апериодического звена
Найдем переходный процесс фильтра при постоянном единичном входе.
x = filter(bz, az, ones(100, 1));
plot(x);
Переходной процесс фильтра при постоянном единичном входе
Вывод: переходной процесс фильтра представляет собой экспоненту.
3.3. Неидеальная производная.
Изучим простую модель неидеальной производной с непрерывной передаточной функцией:
где
(16)
Найдем структуру эквивалентного дискретного фильтра при и построим его ЛАХ.
[bz, az] = bilinear([1,0], [0.001,1], 1);
[h, w] = freqz(bz, az);
plot(log10(w), 20*log10(abs(h))), grid;
ЛАХ эквивалентного дискретного фильтра (случай неидеальной производной с непрерывной передаточной функцией)
Видно, что ЛАХ в области частот, меньших половины частоты дискретизации (0.5) имеет наклон +20 дб/дек, как и ЛАХ непрерывной производной.
Построим ФЧХ:
plot (w, unwrap (angle (h))), grid;
ФЧХ дискретного фильтра
Найдите самостоятельно выход дискретного фильтра при следующих входных сигналах:
- пропорциональный времени,
- пропорциональный квадрату времени,
- синусоида.
3.4. Схема дискретного моделирования непрерывного нейтрального объекта.
Предлагается самостоятельно составить дискретную схему эквивалентную непрерывной схеме моделирования непрерывного нейтрального объекта, показанной на рис. 5.
Рис. 5. Схема непрерывной модели
Непрерывная передаточная функция прямой цепи этой схемы есть
(19)
или
(20)
Отсюда следует, что непрерывная модель обладает астатизмом второго порядка, то есть должна без ошибки отрабатывать входы:
- постоянные,
- пропорциональные времени, (*)
- пропорциональные квадрату времени.
Непрерывная передаточная функция системы, замкнутой отрицательной обратной связью, будет
(21)
Необходимо самостоятельно:
- найти структуру эквивалентного дискретного фильтра, приняв в качестве начальных значений ,
- построить АЧХ эквивалентного фильтра,
- построить переходные процессы для входов, указанных в (*), подтвердить порядок астатизма фильтра,
- добиться хорошего качества переходных процессов путем подбора коэффициентов .
Решение:
АЧХ эквивалентного фильтра
Переходной процесс при постоянном сигнале
Переходной процесс при линейном сигнале
Переходной процесс при сигнале, пропорциональном квадрату времени
Изменение АЧХ при вариации параметра ki
Изменение АЧХ при изменении параметра k0 в сторону увеличения
Изменение АЧХ при изменении параметра k1 в сторону увеличения