МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
Звіт
до лабораторної роботи № 1
з курсу: "Системи запису та відтворення інформації"
Львів – 2009р.
Мета роботи:
Отримати базові навики роботи в середовищі MatLab, вивчити основні можливості MatLab по обробці аудіоінформації.
Повний текст завдання:
Ознайомитись з теоретичним матеріалом.
Завантажити wav-файл вказаний в завданні відповідно до свого варіанту.
Вивести основну інформацію про файл: кількість вибірок, кількість каналів, частота дискретизації, кількість біт на вибірку. Прослухати аудіофайл.
Сформувати заваду у вигляді синусоїдального сигналу з вказаними параметрами і накласти її на аудіосигнал. Прослухати зашумлений аудіосигнал.
Розрахувати коефіцієнти нерекурсивного фільтра вказаного порядку N для усунення завади.
Побудувати АЧХ розрахованого фільтра.
Відфільтрувати сигнал. Прослухати очищений аудіосигнал.
Зберегти результат в wav-файлі.
Розрахувати коефіцієнти рекурсивного фільтра вказаного порядку N та типу для усунення завади (пульсації в зоні пропускання прийняти рівними 0,1 дБ, мінімально допустиме загасання в смузі затримки 60 дБ).
Побудувати АЧХ розрахованого фільтра.
Відфільтрувати сигнал. Прослухати очищений аудіосигнал.
Зберегти результат в wav-файлі.
Варіант
Назва файлу
Частота
завади,
Гц
Амплітуда
завади,
В
Порядок
нерекурсивного фільтру N
Тип
рекурсивного
фільтру
Порядок
рекурсивного фільтру N
2
Lab_1_2.wav
450
4
300
Чебишева2
6
Лістинг програми:
clear all;
[y, Fs, bits] = wavread('D:\labu\Sovun\Lab_1_2.wav');
f = 450;
Amp = 4;
porNerTupy = 300;
porRecTupy = 6;
wavplay(y,Fs);
t = 0 : length(y)-1;
t = t / Fs; Noise = Amp * sin( 2*pi*f*t );
Ywym = y + Noise';
wavplay(Ywym,Fs);
%Оригінальний сигнал
figure(1); strips(y(1:length(y),:),10000);
%Зашумлений сигнал
figure(2); strips(Ywym(1:length(Ywym),:),10000);
%Розразунок ерекурсивного фільтра
fn1 = 400;
fn2 = 500;
b = fir1(porNerTupy, [fn1*2/Fs fn2*2/Fs], 'stop', 'scale');
yFil = filter(b, 1, Ywym);
wavplay(yFil, Fs);
f = 0 : 1000;
h = freqz(b, 1, f, Fs);
figure(3);semilogx(f, abs(h));grid on;
figure(4); strips(yFil(1:length(yFil),:),10000);
%Розрахунок рекурсивного фільтра
Wp = fn1 * 2/Fs;
Ws = fn2 * 2/Fs;
[n, Wn] = cheb2ord(Wp, Ws, 60, 0.1);
[B, A] = cheby2(porRecTupy,60, [fn1*2/Fs fn2*2/Fs], 'stop');
yFil2 = filter(B, A, Ywym);
f = 0 : 0.1:1000;
h = freqz(B, A, f, Fs);
figure (5); semilogx(f, abs(h)); grid on;
f = 0 : 1000;
h = freqz(B, A, f, Fs);
figure(6); strips(yFil2(1:length(yFil2),:),10000);
Графіки сигналу і АЧХ фільтрів:
Початковий сигнал:
Сигнал після накладання завади:
АЧХ нерекурсивного фільтра:
Сигнал після фільтрації нерекурсивним фільтром:
АЧХ рекурсивного фільтра:
Сигнал після фільтрації рекурсивним фільтром:
Висновок:
Після виконання цієї лабораторної роботи я ознайомився із середовищем MatLab та отримав базові навики роботи, вивчив основні можливості MatLab по обробці аудіоінформації, а також дослідив основні принципи і методи, які дозволяють реалізувати теоретичні положення про обробку аудіосигналів на практиці. Я побачив, як працюють цифрові фільтри, і процес очищення звуку від шуму.
Після виконання цієї лабораторної роботи, я переконався, щодо переваг цифрових фільтрів.
На основі отриманих АЧХ можна краще зрозуміти принцип роботи рекурсивних і нерекурсивних фільтрів, смугових і режекторних фільтрів, і причину їх використовують для виділення певного сигналу на робочих частотах.