МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
Кафедра «Захист інформації»
ЗВІТ
до лабораторної роботи №5
з дисципліни:
«Цифрова обробка сигналів»
на тему:
«ПРОЕКТУВАННЯ ТА ДОСЛІДЖЕННЯ НЕРЕКУРСИВНИХ ЦИФРОВИХ ФІЛЬТРІВ»
Львів 2012
Мета роботи: - отримати навики розрахунку параметрів і характеристик не рекурсивних цифрових фільтрів, а також навчитися застосовувати засоби програмного пакету MatLab для їх дослідження.
ЗАВДАННЯ
1.Розрахувати перші 5 коефіцієнтів не рекурсивного фільтра згідно варіанту без накладання вікна за формулами наведеними в розділі 1.
2.На основі дискретизації ідеальної амплітудо-частотної характеристики визначити передатну функцію для заданого порядку не рекурсивного фільтра застосовуючи функцію MatLab fir1.
3. Для зменшення пульсацій амплітудо-частотної характеристики змодифікувати імпульсну характеристику застосувавши згладження функцією вікна. З метою порівняння побудувати на новому графіку АЧХ не рекурсивного фільтра заданого порядку держаних в пп.2 і 3.
4. Провести фільтрацію заданого сигналу, що зберігається у файлі SваріантN у змінній signal.
Таблиця 1
№
Тип фільтру
Порядок фільтру
Частота зрізу Wn, Гц
Частота дискретизації Fd,
Гц
Сигнал
1
ФНЧ з вікном Бартлета
500
15
120
S1.mat
РЕЗУЛЬТАТИ ВИКОНАННЯ РОБОТИ
Лістинг програми
clc;
clear;
N = 500; % порядок фільтру
fc = 15; % частоти зрізу
fd = 120; % частота дискретизації
f_N = fd/2; % частоти зрізу
fc_norm = fc / f_N; % нормовані частоти зрізу
b1=fir1(N, fc_norm,bartlett(N+1), 'noscale'); % розрахунок коефіцієнтів фільтра з вікном
b2=fir1(N, fc_norm,boxcar(N+1), 'noscale'); % розрахунок коефіцієнтів фільтра без вікна
b1(1:5)
b2(1:5)
f = 0 : 0.01 : f_N % задаємо вектор частот для розрахунку АЧХ
h1 = freqz(b1, 1, f, fd); % розраховуємо комплексний коефіцієнт передачі
h2 = freqz(b2, 1, f, fd); % розраховуємо комплексний коефіцієнт передачі
figure(1);
plot(f, abs(h1), f, abs(h2)); grid on; legend('1', '2'); % будуємо графік АЧХ обох фільтрів
load Lab_5_1 % завантажуємо сигнал
signal_f1 = filter(b1, 1, signal); % проводимо фільтрацію сигналу НЦФ без вікна
signal_f2 = filter(b2, 1, signal); % проводимо фільтрацію сигналу НЦФ з вікном
figure(2);
subplot(311);
stem((0 : length(signal)-1) / fd, signal); grid on; % будуємо графік первинного сигналу
subplot(312);
stem((0 : length(signal)-1) / fd, signal_f1); grid on; % графік сигналу на виході НЦФ без вікна
subplot(313);
stem((0 : length(signal)-1) / fd, signal_f2); grid on; % графік сигналу на виході НЦФ з вікном
N=length(signal);
df=fd/N;
F0=(N-1)*df;
f=(-F0/2):df:F0/2;
x1=fft(signal);
xx1=fftshift (x1);
xx1=abs(xx1);
figure(3);
subplot(3,1,1);
stem (f,xx1); axis ([-60, 60, 0, 600]);
x2=fft(signal_f1);
xx2=fftshift (x2);
xx2=abs(xx2);
subplot(3,1,2);
stem (f,xx2); axis ([-60, 60, 0, 500]);
x3=fft(signal_f2);
xx3=fftshift (x3);
xx3=abs(xx3);
subplot(3,1,3);
stem (f,xx3); axis ([-60, 60, 0, 500]);
Графік до програми:
Рис.1 АЧХ фільтрів
Рис. 2 Графік первинного сигналу
Рис. 3 Спектр сигналу, результуючий спектр
Висновок: на цій лабораторній роботі, я розрахував перші 5 коефіцієнтів не рекурсивного фільтра згідно варіанту без накладання вікна за формулами наведеними в розділі 1. На основі дискретизації ідеальної амплітудо-частотної характеристики визначив передатну функцію для заданого порядку не рекурсивного фільтра застосовуючи функцію MatLab fir1. Далі для зменшення пульсацій амплітудо-частотної характеристики змодифікував імпульсну характеристику застосувавши згладження функцією вікна. І провів фільтрацію заданого сигналу, що зберігається у файлі SваріантN у змінній signal.