НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Кафедра Систем Сбора и Обработки Данных
Дисциплина «Теория и обработка сигналов»
ЛАБОРАТОРНАЯ РАБОТА № 10
ЦИФРОВЫЕ ФИЛЬТРЫ
С КОНЕЧНОЙ ИМПУЛЬСНОЙ ХАРАКТЕРИСТИКОЙ
Группа: АТ-33
Вариант: 1 Преподаватель:
Студент: Шадрина А.В. доц. Щетинин Ю.И.
2006
Цель работы: изучение методов анализа и синтеза фильтров с конечной импульсной характеристикой с использованием сглаживающих оконных функций.
Выполнение работы:
1. Графики импульсной характеристики КИХ-фильтра нижних частот с прямоугольным окном частотой среза для значений длины фильтра и .
Импульсная характеристика идеального дискретного КИХ-фильтра имеет бесконечную длину и не равна нулю для отрицательных значений :
.
Для того чтобы получить физически осуществимый фильтр, следует ограничить импульсную характеристику конечным числом , а затем сдвинуть усеченную характеристику вправо на величину .
Значение – это длина (размер) фильтра, – порядок фильтра.
Matlab Script (labrab101.m)
N = input('Введите длину фильтра N = ');
wc = 2;
n = 0:N-1;
h = sin(wc.*(n-(N-1)/2))./(pi.*(n-(N-1)/2));
stem(n,h)
xlabel('Номер отсчёта, n')
ylabel('h[n]')
>> subplot(2,1,1)
>> labrab101
Введите длину фильтра N = 15
>> title('Импульсная характеристика КИХ-фильтра для N=15')
>> subplot(2,1,2)
>> labrab101
Введите длину фильтра N = 50
>> title('Импульсная характеристика КИХ-фильтра для N=50')
Рис.1. Графики импульсной характеристики КИХ-фильтра нижних частот с прямоугольным окном частотой среза для значений длины фильтра и
Комментарий: Если рассматривать частотную характеристику цифрового фильтра как ряд Фурье: , то коэффициенты этого ряда будут представлять собой значения импульсной характеристики фильтра. В данном случае было проведено усечение ряда Фурье в первом случае до , а во втором – до , а затем усеченные характеристики были сдвинуты по оси отсчётов вправо на для получения каузального фильтра. При ширина главного лепестка составляет 2, а при - 1, т.е. при увеличении длины фильтра главный лепесток импульсной характеристики сужается. Если же рассматривать уровень боковых лепестков (с помощью ), то при увеличении он увеличился по абсолютной величине с до . Таким образом, можно сделать вывод, что при использовании аппроксимации идеальной АЧХ фильтра прямоугольным окном нельзя одновременно сузить главный лепесток (и тем самым уменьшить переходную область) и уменьшить уровни боковых лепестков (уменьшить пульсации в полосах пропускания и задерживания фильтра). Единственным управляемым параметром прямоугольного окна является его размер, с помощью которого можно влиять на ширину главного лепестка, однако же, на боковые лепестки он особого влияния не оказывает.
2. Вычисление ДВПФ импульсных характеристик из п.1 с помощью функции . Графики их АЧХ в линейном масштабе и в децибелах для 512 отсчетов частоты. Полоса пропускания, переходная полоса и полоса задерживания фильтра. Влияние порядка фильтра на ширину переходной полосы и уровень пульсаций АЧХ в полосах пропускания и задерживания.
Matlab Function (DTFT.m)
function [X,w] = DTFT(x,M)
N = max (M, length(x));
% Приведение FFT к размеру 2^m
N = 2^ (ceil (log (N)/log (2)));
% Вычисление fft
X = fft(x, N);
% Вектор частот
w = 2*pi*( (0:(N-1))/N );
w = w - 2*pi*(w>=pi);
% Сдвиг FFT к интервалу от -pi до +pi
X = fftshift(X);
w = fftshift(w);
Matlab Script (labrab102.m)
N1 = 16;
N2 = 50;
n1 = 0:N1-1;
n2 = 0:N2-1;
wc = 2;
h1 = sin(wc.*(n1-(N1-1)/2))./(pi.*(n1-(N1-1)/2));
h2 = sin(wc.*(n2-(N2-1)/2))./(pi.*(n2-(N2-1)/2));
[H1,w] = DTFT(h1,512);
[H2,w] = DTFT(h2,512);
figure (1)
subplot(2,1,1)
plot(w./(2*pi),abs(H1)./max(abs(H1)),'r')
title('АЧХ КИХ-фильтра нижних частот с прямоугольным окном для N = 15')
xlabel('f, Гц'), ylabel('|H1|/max(|H1|)'), grid
subplot(2,1,2)
plot(w./(2*pi),abs(H2)./max(abs(H2)),'b')
title('АЧХ КИХ-фильтра нижних частот с прямоугольным окном для N = 50')
xlabel('f, Гц'), ylabel('|H2|/max(|H2|)'), grid
figure (2)
subplot(2,1,1)
plot(w./(2*pi),20*log10(abs(H1)),'r')
title('АЧХ КИХ-фильтра нижних частот с прямоугольным окном для N = 15')
xlabel('f, Гц'), ylabel('20lg(|H1|), dB'), grid
subplot(2,1,2)
plot(w./(2*pi),20*log10(abs(H2)),'b')
title('АЧХ КИХ-фильтра нижних частот с прямоугольным окном для N = 50')
xlabel('f, Гц'), ylabel('20lg(|H2|), dB'), grid
Рис.2. Графики АЧХ КИХ-фильтра нижних частот с прямоугольным окном частотой среза для значений длины фильтра и в линейном масштабе
Рис.3. Графики АЧХ КИХ-фильтра нижних частот с прямоугольным окном частотой среза для значений длины фильтра и в логарифмическом масштабе
Комментарий:
Таблица.1. Диапазон полосы пропускания, переходной области и полосы задерживания для значений длины фильтра и
Длина фильтра |
Полоса пропускания, Гц |
Переходная область, Гц |
Полоса задерживания, Гц |
15 |
0-0,304 |
0,304-0,35 |
от 0,35 |
50 |
0-0,314 |
0,314-0,328 |
от 0,328 |
Из приведённой таблицы видно, что при увеличении порядка фильтра ширина переходной области уменьшается, т.е. спад становится более крутым (аппроксимация к идеальному фильтру): при ширина переходной области равна , а при - , т.е. при увеличении порядка фильтра в раза – переходная область сузилась в раза. Это можно наблюдать на рис.2.
Таблица.2. Уровень пульсаций в полосе пропускания и полосе задерживания для значений длины фильтра и
Длина фильтра |
Относительный уровень пульсаций в полосе пропускания, дБ |
Относительный уровень пульсаций в полосе задерживания, дБ |
15 |
0,6 |
-23,7 |
50 |
0,9 |
-23 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.