Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
83
Добавлен:
01.05.2014
Размер:
192 Кб
Скачать

5. Проектирование и реализация цф

Код для реализации фильтра низких частот по приведенной в теории методике показан ниже.

Wp = 0; % частота среза, Гц

Ws = 35; % частота полосы задержки, Гц

Rp = 3; % затухание в полосе пропускания, dB

Rs = 20; % затухание в полосе задержки, dB

[b,a] = butter(4,(Ws/Fs)*2);

[H,w] = freqz(b,a,n,Fs);

clf,plot (w,abs(H));

grid on;

axis ([0 90 0 1]);

ylabel('Амплитуда');

Xlabel('Частота (Гц)');

title('АЧХ');

Из графика видно, что низкочастотный фильтр реализован.

Теперь проведем фильтрацию заданных сигналов.

y3 = filter(b,a,y1);

y4 = filter(b,a,y2);

clf,plot(t,y3);

grid on;

xlabel('В р е м я (с е к)');

ylabel('А м п л и т у д а');

title('Полигарм. сигнал после фильтрации');

На графике представлен полигармонический сигнал после фильтрации.

Чтобы определить частотный спектр отфильтрованного сигнала снова проведен спектральный анализ.

Fy3 = fft(window.*y3);

Fy3 = Fy3(1:n/2);

clf, plot(step,abs(Fy3));

grid on;

ylabel('Величина');

Xlabel('Частота (Гц)');

title('Спектр отфильтрованного сигнала.');

Проведем те же действия с реальным сигналом.

clf,plot(t,y4);

grid on;

xlabel('В р е м я (с е к)');

ylabel('А м п л и т у д а');

title('Реальный сигнал после фильтрации');

На верхнем графике представлен реальный сигнал после фильтрации, на нижнем графике его спектр.

Fy4 = fft(window.*y4);

Fy4 = Fy4(1:n/2);

clf, plot(step,abs(Fy4));

grid on;

ylabel('Величина');

Xlabel('Частота (Гц)');

title('Спектр отфильтрованного сигнала.');

6. Вывод

Поставленная цель курсовой работы решена. Проанализировав графики спектральной функции можно заметить разницу между реальными и известными не зашумленными сигналами. По графику спектральной функции полигармонического сигнала можно четко определить его частотные составляющие, когда как по реальному сигналу однозначно сделать этого нельзя.

По графику АЧХ фильтра можно определить, что низкочастотный фильтр реализован, на низких частотах амплитуда гораздо больше, нем на высоких.

Если провести перпендикуляр на ось частот графика АЧХ в точке соответствующей 0,707 амплитуды, то мы как раз попадем на заданную частоту среза нашего фильтра. Это подтверждает, что реализован именно заданный фильтр.

7. Приложение

Используемые функции MatLab:

1. FILTER

Цифровой фильтр.

Y = FILTER(B, A, X) фильтрует данные вектора X с фильтром, описанном векторами A и B для создания фильтрованных данных Y. Фильтр - реализация "Direct Form II Transposed" ("Форма 2 прямого преобразования") стандартного разностного уравнения:

y(n) = b(1)*x(n) + b(2)*x(n-1) + ... + b(nb+1)*x(n-nb)

- a(2)*y(n-1) - ... - a(na+1)*y(n-na)

2. FREQZ

Фильтр цифрового Z-преобразования частоты ответа.

Когда N целое, [H,W] = FREQZ(B,A,N) возвращает N-точечную частоту в векторе W в радианах и N-точечную комплексную частоту отклика в векторе H фильтра B/A:

-1 -nb

jw B(z) b(1) + b(2)z + .... + b(nb+1)z

H(e) = ---- = ----------------------------

A(z) -1 -na

1 + a(2)z + .... + a(na+1)z

даёт числитель и знаменатель коэффициентов в векторах B и A. Частота отклика оценивается в N точках одинаково расположенных интервалов верхней половины единичной окружности. Если N не определено, то по умолчанию = 512.

3. BUTTER

Проектирование цифрового и аналогового фильтра Баттерворта.

[B,A] = BUTTER(N,Wn) проектирует аналоговый НЧ Бесселя фильтр N-го порядка и возвращает коэффициенты фильтра в векторах B и A длиной N+1. Вырезаемая частота Wn должна быть 0.0 < Wn < 1.0, с 1.0 соответствующий половине заданной нормы. Если Wn - двухэлементный вектор, Wn = [W1 W2], BUTTER возвращает полосовой фильтр 2N порядка с полосой пропускания W1 < W < W2.

[B,A] = BUTTER(N,Wn,'high') проектируется ВЧ фильтр.

[B,A] = BUTTER(N,Wn,'stop') - bandstop (с полосой не пропускания) фильтр, если Wn = [W1 W2].

4. FFT

ДПФ (дискретное преобразование Фурье).

FFT(X) - ДПФ вектора X. Если длина X - два, то быстрое основание системы счисления -2 и используется алгоритм БПФ (быстрое ДПФ). Если длина X не два, то используется более медленный алгоритм, который сходится медленнее, чем БПФ. FFT(X,N) - N-точечное FFT, дополненное нулями, если X меньше, чем N точек, и обрезанное, если их больше.

Если X - матрица, то операция FFT выполняется для каждого столбца.

5. IFFT

Обратное дискретное преобразование Фурье (ОДПФ).

IFFT(X) - ОДПФ вектора X.

IFFT(X,N) - N-точечное преобразование.

Соседние файлы в папке Курсовые по ЦОС