Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

LR3 / Z9411_КафкаРС_ММТ_ЛР3

.pdf
Скачиваний:
0
Добавлен:
18.06.2024
Размер:
438.04 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 41

ОЦЕНКА

 

 

 

 

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

 

 

 

 

 

доц., канд. техн. наук, доц.

 

 

 

О. О. Жаринов

 

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

 

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

 

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

ЛАБОРАТОРНАЯ РАБОТА №3

ИЗУЧЕНИЕ МЕТОДОВ ФИЛЬТРАЦИИ АУДИОСИГНАЛОВ В MATLAB. ПРИМЕНЕНИЕ РЕКУРСИВНЫХ ФИЛЬТРОВ

по дисциплине: Мультимедиа технологии

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

 

 

 

 

 

СТУДЕНТ гр. №

Z9411

 

 

 

Р. С. Кафка

 

номер группы

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

 

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

 

 

 

 

Студенческий билет №

2019/3603

 

 

 

 

 

 

 

 

 

Шифр ИНДО

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

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

методов фильтрации сигналов во временной области с использованием

рекурсивных цифровых фильтров.

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

аудиосигналов и их практическом применении, а также о методах

фильтрации.

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

Индивидуальный вариант

Вариант №8 приведён в таблице 1.

Таблица 1 – Индивидуальный вариант задания

 

 

Граничные частоты полосы

Вариант

Тип фильтра

пропускания фильтра

 

 

fниж, Гц

fверх, Гц

8

Фильтр высоких

800

-

частот

 

 

 

Ход работы

 

 

 

2

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

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

clc; clear; close all;

% Загрузка аудиосигнала

[file, path] = uigetfile({'*.wav;*.mp3'}, 'Выберите аудиофайл для обработки');

[input_signal, Fs] = audioread([path file]); if size(input_signal, 2) > 1

input_signal = mean(input_signal, 2); % Преобразование в моно, если это необходимо

end

% Параметры фильтра

order = 2; % Порядок фильтра Баттерворта

fc = 800; % Граничная частота для фильтра высоких частот

% Расчет коэффициентов фильтра Баттерворта

[b, a] = butter(order, fc/(Fs/2), 'high'); % Выбор фильтра высоких частот

% Фильтрация аудиосигнала

output_signal = filter(b, a, input_signal);

%Вычисление и отображение АЧХ фильтра

[H, W] = freqz(b, a, 1024, Fs); figure;

semilogx(W, 20*log10(abs(H))); % Использование логарифмического масштаба для оси частот

title('АЧХ фильтра'); xlabel('Частота (Гц)'); ylabel('Амплитуда (дБ)'); grid on;

xlim([10 Fs/2]); % Ограничение диапазона частот для улучшенной визуализации

%Вычисление и отображение спектров входного и выходного сигналов

N = length(input_signal); f = Fs*(0:(N/2))/N;

Spectr_input = abs(fft(input_signal)); Spectr_output = abs(fft(output_signal));

figure;

subplot(2,1,1);

3

semilogx(f, 20*log10(Spectr_input(1:N/2+1))); % Логарифмический масштаб для оси частот

title('Амплитудный спектр входного сигнала'); xlabel('Частота (Гц)');

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

xlim([10 Fs/2]); % Ограничение диапазона частот grid on;

subplot(2,1,2);

semilogx(f, 20*log10(Spectr_output(1:N/2+1))); %

Логарифмический масштаб для оси частот title('Амплитудный спектр выходного сигнала'); xlabel('Частота (Гц)');

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

xlim([10 Fs/2]); % Ограничение диапазона частот grid on;

% Сохранение выходного аудиосигнала audiowrite('output_audio_filtered_high_pass.wav', output_signal, Fs);

Что делает код:

Загрузка аудиофайла: Пользователю предлагается выбрать аудиофайл для обработки. Сигнал конвертируется в моно, если это необходимо, для упрощения обработки.

Параметры фильтра: Задается порядок фильтра и граничная частота для ФВЧ.

Расчет коэффициентов фильтра: Используя функцию butter,

рассчитываются коэффициенты для ФВЧ.

Фильтрация аудиосигнала: Применяется фильтр к входному аудиосигналу.

Отображение АЧХ фильтра: Построение графика амплитудно-

частотной характеристики фильтра.

Отображение спектров сигналов: Амплитудные спектры входного и выходного сигналов отображаются до и после фильтрации.

4

Сохранение результата: Обработанный сигнал сохраняется в новый аудиофайл.

Пропустили через фильтр тестовый аудиофайл. Полученные графики представлены на рисунках 1-2.

Рисунок 1 – График амплитудных спектров входного и выходного спектров аудиосигнала

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

5

Также обработал аудио фрагмент из песни " Rick Astley - Never Gonna Give You Up" (первые 10 секунд). Получившиеся графики представлены на рисунках 3-4.

Рисунок 3 – амплитудных спектров входного и выходного спектров аудиосигнала

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

6

Звучание, обработанное рекурсивным фильтром, имеет схожие изменения, как и при Фурье-фильтрации (в лабораторной работе №2), но аудио фрагменты сохраняют больше естественности и меньше искажений, это заметно при прослушивании фрагмента из песни, поскольку в нём гораздо больше звуков. Фильтр Баттерворта обеспечивает плавное подавление низких частот, что делает переходы менее резкими и сохраняет качество звука.

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

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

7

ВЫВОД

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

Рекурсивные фильтры прямо применяются к аудиосигналу во временной области, не требуя предварительного преобразования в спектральную область. Это уменьшает объем вычислений при обработке сигналов в реальном времени. Выбор аналогового фильтра-прототипа (butter, cheby1, cheby2, ellip) влияет на характеристики рекурсивного фильтра,

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

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

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

8

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

Обработка звука – фильтры. / Дмитрий Михайлов // URL: http://websound.ru/articles/theory/filter.htm (дата обращения: 03.04.2024)

Разработка программы для анализа звуковых файлов пакете MATLAB.

//URL: https://gigabaza.ru/doc/106583.html (дата обращения: 03.04.2024)

Алгоритм цифровой фильтрации в частотной и временной областях. //

URL: http://stu.sernam.ru/book_g_rts.php?id=137 (дата обращения: 03.04.2024)

Дьяконов В. MATLAB 8.0 (R2012b): создание, обработка и фильтрация сигналов, Signal Processing Toolbox. // Компоненты и технологии, 2013. №11, с. 151-161

Rick Astley - Never Gonna Give You Up (Official Music Video) – YouTube

//URL: https://www.youtube.com/watch?v=dQw4w9WgXcQ (дата обращения: 03.04.2024)

BRUH - Instant Sound Effect Button | Myinstants // URL: https://www.myinstants.com/en/instant/bruh/ (дата обращения: 03.04.2024)

9

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