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

LR3 / LR3

.m
Скачиваний:
0
Добавлен:
18.06.2024
Размер:
1.91 Кб
Скачать
clc; clear; close all;

% Загрузка аудиосигнала
[file, path] = uigetfile({'*.wav;*.mp3'}, 'Выберите аудиофайл');
if isequal(file,0)
disp('Файл не выбран.');
else
disp(['Выбранный файл: ', fullfile(path, file)]);
[input_signal, Fs] = audioread(fullfile(path, file));
end

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

% Параметры фильтра
IIR_Ord = 2; % порядок фильтра
low_freq = 200; % нижняя граница полосы пропускания
up_freq = 1000; % верхняя граница полосы пропускания

% Расчёт коэффициентов фильтра Баттерворта
[b, a] = butter(IIR_Ord, [2*low_freq/Fs, 2*up_freq/Fs], 'bandpass');

% Фильтрация
output_signal = filter(b, a, input_signal);

% Вычисление и отображение спектра
N = length(input_signal);
f = (0:N-1)*(Fs/N);
figure;
subplot(2,1,1);
plot(f, abs(fft(input_signal)));
title('Спектр входного сигнала');
xlabel('Частота (Гц)');
ylabel('|P(f)|');

subplot(2,1,2);
plot(f, abs(fft(output_signal)));
title('Спектр выходного сигнала');
xlabel('Частота (Гц)');
ylabel('|P(f)|');

% Отображение АЧХ фильтра
[H, F] = freqz(b, a, 'half', Fs);
figure;
plot(F, 20*log10(abs(H)));
title('АЧХ фильтра');
xlabel('Частота (Гц)');
ylabel('Уровень (дБ)');
grid on;

% Сохранение выходного аудиофайла
audiowrite('output_audio_filtered.wav', output_signal, Fs);
disp('Фильтрация завершена. Выходной файл сохранён.');
Соседние файлы в папке LR3
  • #
    18.06.2024156.94 Кб0bruh_sound.wav
  • #
    18.06.20241.91 Кб0LR3.m
  • #
    18.06.20242.01 Кб0LR3_1.m
  • #
    18.06.20242.52 Кб0LR3_new.m
  • #
    18.06.202414.06 Кб0movie_1.mp3
  • #
    18.06.2024441.04 Кб0output_audio_filtered1.wav
  • #
    18.06.2024882.04 Кб0output_audio_filtered2.wav