Цифровые фильтры с конечной импульсной характеристикой

Страницы работы

Содержание работы

НОВОСИБИРСКИЙ  ГОСУДАРСТВЕННЫЙ  ТЕХНИЧЕСКИЙ  УНИВЕРСИТЕТ

ФАКУЛЬТЕТ  АВТОМАТИКИ  И  ВЫЧИСЛИТЕЛЬНОЙ  ТЕХНИКИ

Кафедра  Систем Сбора и Обработки Данных

Дисциплина  «Теория  и  обработка  сигналов»

ЛАБОРАТОРНАЯ  РАБОТА  № 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

Похожие материалы

Информация о работе