
LR3 / Z9411_КафкаРС_ММТ_ЛР3
.docxМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 41 |
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
доц., канд. техн. наук, доц. |
|
|
|
О. О. Жаринов |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ЛАБОРАТОРНАЯ РАБОТА №3
|
ИЗУЧЕНИЕ МЕТОДОВ ФИЛЬТРАЦИИ АУДИОСИГНАЛОВ В MATLAB. ПРИМЕНЕНИЕ РЕКУРСИВНЫХ ФИЛЬТРОВ |
по дисциплине: Мультимедиа технологии |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ гр. № |
Z9411 |
|
|
|
Р. С. Кафка |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2019/3603 |
|
|
|
Шифр ИНДО |
|
Санкт-Петербург 2024
Цель работы: получить навыки обработки аудиосигналов на примере
методов фильтрации сигналов во временной области с использованием
рекурсивных цифровых фильтров.
Краткие теоретические сведения о задачах обработки аудиосигналов и их практическом применении, а также о методах фильтрации.
Обработка аудиосигналов включает в себя фильтрацию, усиление определённых частот, устранение шумов и другие операции для улучшения качества звука или изменения его характеристик. Практическое применение находится в музыкальной индустрии, телекоммуникациях, медицине, а также в системах распознавания речи. Методы фильтрации могут осуществляться в частотной или временной области, среди которых выделяют рекурсивные цифровые фильтры, позволяющие эффективно обрабатывать сигналы, изменяя их спектральные характеристики для достижения желаемого результата.
Индивидуальный вариант
Вариант №8 приведён в таблице 1.
Таблица 1 – Индивидуальный вариант задания
Вариант |
Тип фильтра |
Граничные частоты полосы пропускания фильтра |
|
fниж, Гц |
fверх, Гц |
||
8 |
Фильтр высоких частот |
800 |
- |
Ход работы
Осуществили фильтрацию нового аудиосигнала с целью проведения сравнительного анализа. Тип и параметры фильтра также сохраняются. Будет использоваться фильтр Баттерворта в качестве аналогового фильтра-прототипа. В этом примере мы создадим рекурсивный фильтр высоких частот, применим его к аудиосигналу и визуализируем результаты. Код программы представлен в листинге 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); 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, рассчитываются коэффициенты для ФВЧ.
Фильтрация аудиосигнала: Применяется фильтр к входному аудиосигналу.
Отображение АЧХ фильтра: Построение графика амплитудно-частотной характеристики фильтра.
Отображение спектров сигналов: Амплитудные спектры входного и выходного сигналов отображаются до и после фильтрации.
Сохранение результата: Обработанный сигнал сохраняется в новый аудиофайл.
Пропустили через фильтр тестовый аудиофайл. Полученные графики представлены на рисунках 1-2.
Рисунок
1 – График амплитудных спектров входного
и выходного спектров аудиосигнала
Рисунок
2 – График АЧХ фильтра при пропускании
сигнала
Также обработал аудио фрагмент из песни " Rick Astley - Never Gonna Give You Up" (первые 10 секунд). Получившиеся графики представлены на рисунках 3-4.
Рисунок
3 – амплитудных спектров входного и
выходного спектров аудиосигнала
Рисунок
4 – График АЧХ фильтра при пропускании
сигнала
Звучание, обработанное рекурсивным фильтром, имеет схожие изменения, как и при Фурье-фильтрации (в лабораторной работе №2), но аудио фрагменты сохраняют больше естественности и меньше искажений, это заметно при прослушивании фрагмента из песни, поскольку в нём гораздо больше звуков. Фильтр Баттерворта обеспечивает плавное подавление низких частот, что делает переходы менее резкими и сохраняет качество звука.
По сравнению с фурье-фильтрацией, там аудиосигналы теряют большую часть низкочастотного содержания, что приводит к уменьшению басов и акценту на высоких частотах. Это может делает звучание похожим на звучание из телефона, радио или маленького динамика.
Выбор между этими методами зависит от конкретных требований к обработке сигнала и предпочтений в качестве звука. Если важно минимизировать фазовые искажения и сохранить естественность звучания, рекурсивный фильтр может быть предпочтительнее. Для задач, требующих точного контроля над частотным составом сигнала, подход с использованием Фурье-фильтрации может оказаться более удобным.
ВЫВОД
В результате лабораторной работы были получены навыки обработки аудиосигналов на примере методов фильтрации сигналов во временной области с использованием рекурсивных цифровых фильтров.
Рекурсивные фильтры прямо применяются к аудиосигналу во временной области, не требуя предварительного преобразования в спектральную область. Это уменьшает объем вычислений при обработке сигналов в реальном времени. Выбор аналогового фильтра-прототипа (butter, cheby1, cheby2, ellip) влияет на характеристики рекурсивного фильтра, предоставляя гибкость в достижении желаемых частотных характеристик обработанного сигнала. Порядок фильтра определяет его способность разделять частотные компоненты сигнала и влияет на крутизну спада АЧХ.
Слуховое восприятие обработанных аудиозаписей отличалось улучшенной чистотой и ясностью звучания, особенно при применении фильтров высоких частот для подавления низкочастотных шумов.
В сравнении с фильтрацией в спектральном пространстве, рекурсивные фильтры обеспечили более "естественное" звучание с меньшим количеством фазовых искажений.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
Обработка звука – фильтры. / Дмитрий Михайлов // 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)