用Matlab绘制一段音频信号在时域上的波形图,然后用低通滤波器滤掉噪音并再次绘制
1、导入音频文件
filename = 'X:\1.mp3'; % 替换为你的音频文件路径
[x, Fs] = audioread(filename);
2、获取音频信号长度
len = length(x);
3、计算时间轴
t = (0:len-1) / Fs;
4、绘制音频信号在时域上的波形图
figure;
plot(t, x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Audio Signal in Time Domain');
5、设计并应用低通滤波器
cutoff_frequency = 2600; % 截止频率为2600 Hz
normalized_cutoff = cutoff_frequency / (Fs/2);
order = 8; % 滤波器阶数
[b, a] = butter(order, normalized_cutoff, 'low');filtered_x = filter(b, a, x);
6、绘制滤波后的音频信号在时域上的波形图
subplot(2,1,2);
plot(t, filtered_x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Filtered Audio Signal in Time Domain');
总:
% 导入音频文件
filename = 'C:\Users\ahiii\Desktop\1.mp3'; % 替换为你的音频文件路径
[x, Fs] = audioread(filename);% 获取音频信号长度
len = length(x);% 计算时间轴
t = (0:len-1) / Fs;% 绘制音频信号在时域上的波形图
figure;
plot(t, x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Audio Signal in Time Domain');% 设计低通滤波器
cutoff_frequency = 2600; % 截止频率为2600 Hz
normalized_cutoff = cutoff_frequency / (Fs/2);
order = 8; % 滤波器阶数
[b, a] = butter(order, normalized_cutoff, 'low');% 应用低通滤波器
filtered_x = filter(b, a, x);% 绘制滤波后的音频信号在时域上的波形图
subplot(2,1,2);
plot(t, filtered_x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Filtered Audio Signal in Time Domain');
效果: