МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
/
Звіт
до лабораторної роботи № 1
з курсу: "Системи запису та відтворення інформації"
Львів – 2009р.
Мета роботи:
Отримати базові навики роботи в середовищі MatLab, вивчити основні можливості MatLab по обробці аудіоінформації.
Повний текст завдання:
Ознайомитись з теоретичним матеріалом.
Завантажити wav-файл вказаний в завданні відповідно до свого варіанту.
Вивести основну інформацію про файл: кількість вибірок, кількість каналів, частота дискретизації, кількість біт на вибірку. Прослухати аудіофайл.
Сформувати заваду у вигляді синусоїдального сигналу з вказаними параметрами і накласти її на аудіосигнал. Прослухати зашумлений аудіосигнал.
Розрахувати коефіцієнти нерекурсивного фільтра вказаного порядку N для усунення завади.
Побудувати АЧХ розрахованого фільтра.
Відфільтрувати сигнал. Прослухати очищений аудіосигнал.
Зберегти результат в wav-файлі.
Розрахувати коефіцієнти рекурсивного фільтра вказаного порядку N та типу для усунення завади (пульсації в зоні пропускання прийняти рівними 0,1 дБ, мінімально допустиме загасання в смузі затримки 60 дБ).
Побудувати АЧХ розрахованого фільтра.
Відфільтрувати сигнал. Прослухати очищений аудіосигнал.
Зберегти результат в wav-файлі.
Варіант
Назва файлу
Частота
завади,
Гц
Амплітуда
завади,
В
Порядок
нерекурсивного фільтру N
Тип
рекурсивного
фільтру
Порядок
рекурсивного фільтру N
4
Lab_1_12.wav
4000
5
230
Чебишева 1
7
Лістинг програми:
clear all;
[y, Fs, bits] = wavread('G:\С-ми запису і відтворення інф\Lab_1_11.wav');
f = 4000;
Amp = 5;
porNerTupy = 230;
porRecTupy = 7;
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 = 3800;
fn2 = 4200;
b = fir1(porNerTupy, [fn1*2/Fs fn2*2/Fs], 'stop', 'scale');
yFil = filter(b, 1, Ywym);
figure(3);
strips(yFil(1:length(yFil),:),10000);
%розрахунок ачх нерекурсивного фильтра
figure(4);
wavplay(yFil, Fs);
f = 0 : 1000;
h = freqz(b, 1, f, Fs);
semilogx(f, abs(h)); grid on;
% wavwrite(Ywym, Fs, bits, 'd:\school\Системи запису та відтворення інформації\new11_wym.wav');
% wavwrite(yFil, Fs, bits, 'd:\school\Системи запису та відтворення інформації\new11_fil.wav');
%розрахунок рекурсивного фильтра
figure(5);
fn1 = 3800;
fn2 = 4200;
Wp = fn1 * 2/Fs;
Ws = fn2 * 2/Fs;
[n, Wn] = cheb1ord(Wp, Ws, 0.1, 60);
[B, A] = cheby1(porRecTupy,60, [fn1*2/Fs fn2*2/Fs], 'stop');
yFil2 = filter(B, A, Ywym);
strips(yFil2(1:length(yFil2),:),10000);
%розрахунок ачх рекурсивного фильтра
figure (6);
wavplay(yFil, Fs);
f = 10 : 0.1:14000;
h = freqz(B, A, f, Fs);
semilogx(f,abs(h));grid on;
Графіки сигналу і АЧХ фільтрів:
Початковий сигнал:
/
Сигнал після накладання завади:
/
АЧХ нерекурсивного фільтра:
/
Сигнал після фільтрації нерекурсивним фільтром:
/
АЧХ рекурсивного фільтра:
/
Сигнал після фільтрації рекурсивним фільтром:
/
Висновок:
Після виконання цієї лабораторної роботи я ознайомився із середовищем MatLab та отримав базові навики роботи, вивчив основні можливості MatLab по обробці аудіоінформації, а також дослідив основні принципи і методи, які дозволяють реалізувати теоретичні положення про обробку аудіосигналів на практиці. Я побачив, як працюють цифрові фільтри, і процес очищення звуку від шуму.
Після виконання цієї лабораторної роботи, я переконався, щодо переваг цифрових фільтрів.
На основі отриманих АЧХ можна краще зрозуміти принцип роботи рекурсивних і нерекурсивних фільтрів, смугових і режекторних фільтрів, і причину їх використовують для виділення певного сигналу на робочих частотах.