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

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

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

Министерство образования РФ

Новосибирский Государственный Технический Университет

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



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

Отчет

ПО ЛАБОРАТОРНОЙ  РАБОТЕ  № 10

«ЦИФРОВЫЕ ФИЛЬТРЫ

С  КОНЕЧНОЙ  ИМПУЛЬСНОЙ  ХАРАКТЕРИСТИКОЙ»

Факультет: АВТ                                                     Преподаватель:

Группа: АТ-53                                                        доц. Щетинин Ю.И.

Вариант: 8

Студенты: Ездакова Е.

                     Дашиев Т.

Новосибирск, 2008

Цель работы:изучение методов анализа и синтеза фильтров с конечной импульсной характеристикой (КИХ-фильтры,  другое название – нерекурсивные фильтры) с использованием сглаживающих оконных функций.

1.  Построение графиков импульсной характеристики КИХ-фильтра нижних частот с прямоугольным окном частотой среза  для двух значений  длины фильтра  N = 15  и  N = 50.

Matlab Script (labwork10_1.m)

wc=2;%частота среза

%Построение ИХ идеального фильтра по 15 отсчётам

N1=15;

n=0:N1-1;

h1=sin (wc.*(n-(N1-1)./2))./(pi.*(n-(N1-1)./2));

subplot (211);

stem(n,h1);

title ('Импульсная характеристика КИХ-фильтра,  N=15');

xlabel('Номер отсчёта n');

ylabel('h[n]');

%Построение ИХ идеального фильтра по 50 отсчётам

N2=50;

n=0:N2-1;

h2=sin(wc.*(n-(N2-1)./2))./(pi.*(n-(N2-1)./2));

subplot(212);

stem(n,h2);

title ('Импульсная характеристика КИХ-фильтра,  N=50');

xlabel('Номер отсчёта n');

ylabel('h[n]');

Рис. 1. Графики импульсной характеристики КИХ-фильтра нижних частот с прямоугольным окном 

частотой среза   для двух значений  длины фильтра  N = 15  и  N = 50.

Комментарии:

При ограничении длины фильтра 15 отсчётами ширина главного лепестка больше чем при ограничении длины фильтра 50 отсчётами, следовательно, чем больше N тем больше сужается главный лепесток ИХ.

2. Вычисление ДВПФ импульсных характеристик и построение их АЧХ в линейном масштабе и в децибелах для 512 отсчетов частоты, используя функцию DTFT. Определение полосы пропускания, переходной полосы и полосы задерживания фильтра по характеристикам в линейном масштабе.

Matlab Function (DTFT.m)

function [X,w] = DTFT(x,M)

% Функция вычисляет значения DTFT от вектора x.

% Обращение  [X,w] = DTFT(x,0)

% здесь X - вектор значений DTFT,

% w - вектор угловых частот.

% Если желательно вычислить DTFT с M значениями частоты,

% используется обращение [X,w] = DTFT(x,M)

% Этот вариант используется, когда размер вектора x 

% меньше  размера вектора частот w,

% при этом x дополняется нулевыми значениями

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 (labwork10_2.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.  Графики АЧХ КИХ-фильтра нижних частот с прямоугольным окном частотой среза  

для значений  длины фильтра  N = 15 и N = 50 в линейном масштабе.

.

Рис.3. Графики АЧХ КИХ-фильтра нижних частот с прямоугольным окном частотой среза  

для значений  длины фильтра  N = 15 и N = 50 в логарифмическом масштабе.

Рис.4. Графики АЧХ КИХ-фильтра нижних частот с прямоугольным окном частотой среза  

для значений  длины фильтра  N = 15 и N = 50 в линейном масштабе для определения

диапазона пропускания, переходной области и полосы задерживания.

Таблица 1. Значения диапазона пропускания, переходной области и полосы задерживания для фильтра с различной длиной (N = 15 и N = 50)

Длина фильтра

Полоса пропускания, Гц/отсчет

Переходная область, Гц

Полоса задерживания, Гц

15

0-0.29

0.29-0.35

от 0.35

50

0-0.31

0.31-0.33

от 0.33

Комментарии:

По данным таблицы видно, что при увеличении длины фильтра, уменьшается ширина переходной области.

По графикам видно что из-за усечения возникают пульсации (эффект Гиббса) в полосе пропускания и полосе задерживания, амплитуда которых при увеличении порядка фильтра практически не изменятся, но количество их возрастает с увеличением порядка фильтра.

3.  Фильтрация сигнала speech с использованием операции свёртки.

Прослушивание исходного и отфильтрованного через фильтры разного порядка сигнала:

>> load('speech.mat');%загрузка файла speech.mat

>> 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));

>> y1 = conv(nspeech2,h1);    %свертка исходного сигнала с ИХ фильтра (N = 15)

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

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