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

лаб3 / lab3

.pdf
Скачиваний:
1
Добавлен:
27.08.2024
Размер:
378.35 Кб
Скачать

ГУАП

КАФЕДРА 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

доцент, к.т.н. доцент

 

 

 

О.О. Жаринов

 

 

 

 

должность, уч. степень, звание

 

подпись, дата

 

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №3

Изучение методов фильтрации аудиосигналов в MATLAB. Применение рекурсивных фильтров

по курсу: МУЛЬТИМЕДИА ТЕХНОЛОГИИ

РАБОТУ ВЫПОЛНИЛ

 

 

 

 

 

СТУДЕНТ гр. №

4016

 

 

 

М.О. Жовтяк

 

 

 

 

подпись, дата

 

инициалы, фамилия

Санкт-Петербург 2024

1.Цель.

Получить навыки обработки аудиосигналов на примере методов

фильтрации сигналов во временной области с использованием рекурсивных

цифровых фильтров.

2. Краткие теоретические сведения о задачах обработки

мультимедиа аудиоконтента.

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

Рисунок 1 – Формула 1

из которого видно, что формирование массива отсчетов выходного сигнала происходит последовательно. Два массива коэффициентов фильтра

({ar} и {bv}) полностью определяют характеристики фильтра. Заметим, что в системе MATLAB индексация элементов массивов ведется не с нуля, а с единицы, что требует выполнения элементарной модификации всех формул из учебных пособий по обработке сигналов и фильтрации. Впрочем, обычно все стандартные задачи обработки сигналов в MATLAB можно решить вызовом стандартных функций, которые не предполагают поэлементную работы с массивами. Основная задача расчета рекурсивного фильтра заключается в выборе так называемого аналогового фильтра-прототипа некоторого порядка, и вычислении коэффициентов {ar} и {bv} по заданным частотным характеристикам фильтра. Для расчета фильтров существуют разные методы, наиболее простым из которых является метод обобщенного билинейного преобразования передаточной функции аналогового фильтра-

прототипа, который и реализован в соответствующих стандартных функциях

Matlab.

2

3.Вариант задания

Вариант задания представлен на рисунке 2. Получается, что нужно

реализовать фильтр высоких частот, ограниченных до 800 Гц.

Рисунок 2 – Вариант задания

4.Ход работы

Используется аудиосигнал, который можно прослушать по ссылке: https://disk.yandex.ru/d/onKOeQVtocNuIg [2].

Далее необходимо провести фильтрацию звука, аналогичную той,

которая была проведена в Лабораторной работе №2, но уже с применением рекурсивных цифровых функций. Мной, для работы, была выбрана функций butter (для фильтра семейства Баттерворта). Проведение фильтрации и визуализация аудиосигнала, его амплитудного спектра, АЧХ фильтра представлено в Листинге 1.

Листинг 1 – Код для фильтрации и визуализации сигнала

clc, clear, close all %очистка памяти

[input_signal,Fd] = audioread('song1.wav');

N = length(input_signal);%Получить длину данных аудиофайла

IIR_Ord=3; % задаем порядок фильтра-прототипа

% задаем граничные частоты полосы пропускания фильтра low_freq = 800;

%выполняем расчет коэффициентов РЦФ Баттерворта,

%вызывая стандартную функцию butter(...)

[b a]=butter(IIR_Ord, 2.*low_freq./Fd,'high');

%осуществляем фильтрацию всей имеющейся записи,

%вызывая стандартную функцию Matlab

output_signal(:,1)=filter(b,a,input_signal(:,1)); output_signal(:,2)=filter(b,a,input_signal(:,2));

%вычисляем спектры входного и выходного сигнала

%только для того, чтобы посмотреть графики изменений,

%внесенных фильтром:

Spectr_input=fft(input_signal(:,1));

Spectr_output=fft(output_signal(:,1));

% строим графики спектров входного и выходного сигналов figure(1)

X=20*log10(abs(Spectr_input)); %Преобразовать в дБ

3

f=[0:(Fd/N):Fd/2]; %Перевести Абсциссу в Гц

X=X(1:length(f));

semilogx(f,X);

grid;

xlabel('Частота (Гц)'); ylabel('Уровень (дБ)');

title('Амплитудные спектры аудиофайлов'); hold on

Y=20*log10(abs(Spectr_output)); %Преобразовать в дБ

Y=Y(1:length(f));

hLine(2)=semilogx(f,Y);

figure(1) hold off

legend('input audio','output audio') % строим график АЧХ фильтра

[H, F] = freqz(b,a, N,'whole',Fd); f=[0:(Fd/N):Fd/2]; W=H(1:length(f));

figure(2), semilogx(f, 20*log(abs(W))./log(10)), grid ylim([-110 10])

xlim([1 22000])

%осуществляем построение графиков

%входного и выходного сигналов

figure(3)

subplot(2,1,1); plot(input_signal); subplot(2,1,2); plot(output_signal);

audiowrite('song1_filtered.wav', output_signal, Fd)

Обработанную запись можно прослушать по ссылке: https://disk.yandex.ru/d/iqUreYyZU0a2mw [3]. Прослушав запись сразу чувствуется, что звук стал тише, в нём меньше басов.

На рисунке 3 можно отчётливо увидеть, что звук после обработки стал более подавленным и менее громким.

4

Рисунок 3 – Графики каналов до и после обработки По рисунку 4 можно увидеть, что амплитудный спектр успешно

подавлен, что показывает корректную работу фильтра высоких частот с помощью рекурсивной функции.

Рисунок 4 – Амплитудный спектр исходного сигнала

5

Рисунок 5 – График АЧХ фильтра при пропускании сигнала

Вывод

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

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

6

Список используемой литературы

1.Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №3 по дисциплине “Мультимедиа-технологии” гр.4016, 4017. ГУАП, 2024. – 6 с.

2.Яндекс диск. Исходный звук. // URL: https://disk.yandex.ru/d/onKOeQVtocNuIg

3.Яндекс диск. Обработанный звук. // URL: https://disk.yandex.ru/d/iqUreYyZU0a2mw

7

Соседние файлы в папке лаб3