- 实验目标:
- 掌握matlab的程序设计方法
- 熟悉windows环境下语音信号采集的方法
- 学会使用FDATool设计低通滤波器
- 学会使用matlab对信号进行处理和分析
- 实验过程:
代码分析
原始音频的处理:
[y0,fs1] = audioread('原始音频.wav'); %读取原始音频信息
n1=length(y0);%计算y0的长度
t1=(0:n1-1)/fs1;%设置波形图横坐标
f1=0.5*fs1*(0:n1-1)/n1;%频域x轴
y1=fft(y0,2*n1); %对y0进行快速傅里叶变换
figure %画图
subplot(2,3,1);
plot(t1,y0) %时域图x,y轴
grid on;
title('原始音频信号时域');%标题
xlabel('时间/s');%时域x轴
ylabel('幅度');%时域y轴
subplot(2,3,4);
plot(f1,abs(y1(1:n1))); %频域图x,y轴
grid on;
title('原始音频信号频谱');%标题
xlabel('频率/Hz');%频域x轴
ylabel('幅度'); %频域y轴
含噪音频的处理:
[y2,fs2] = audioread('含噪音频.wav');%读取含噪音频信息
n2=length(y2);%计算y2的长度
t2=(0:n2-1)/fs2;%设置波形图横坐标
f2=0.5*fs2*(0:n2-1)/n2;%频域x轴
y3=fft(y2,2*n2); %对y2进行快速傅里叶变换
subplot(2,3,2);
plot(t2,y2) %时域图x,y轴
grid on;
title('含噪音频信号时域');
xlabel('时间/s');
ylabel('幅度'); %画语音信号频域图
subplot(2,3,5);
plot(f2,abs(y3(1:n2)));%频域图x,y轴
grid on;
title('含噪音频信号频谱');
xlabel('频率/Hz');
ylabel('幅度');
低通滤波处理:
Hd = lowpass2;
y4=filter(Hd,y2);%对y2进行低通滤波
n3=length(y4);%计算y4的长度
subplot(2,3,3);
plot(t2,y4);%时域图x,y轴
grid on;
title('低通后信号波形');%标题
xlabel('时间/s');%时域x轴
ylabel('幅度');%时域y轴
y5=fft(y4,2*n3);%对y4进行快速傅里叶变换
subplot(2,3,6)
plot(f2,abs(y5(1:n3))); %频域图x,y轴
grid on;
title('低通后信号频谱');%标题
xlabel('频率/Hz');%频域x轴
ylabel('幅度');%频域y轴
audiowrite('输出音频.wav',y4,fs2) %存储.wav音频文件
滤波器代码:
function Hd = lowpass2
%LOWPASS2 Returns a discrete-time filter object.
% MATLAB Code
% Generated by MATLAB(R) 8.3 and the Signal Processing Toolbox 6.21.
% Generated on: 02-Jul-2021 09:27:51
% Equiripple Lowpass filter designed using the FIRPM function.
% All frequency values are in Hz.
Fs = 48000; % Sampling Frequency
N = 10; % Order
Fpass = 8000; % Passband Frequency
Fstop = 12000; % Stopband Frequency
Wpass = 1; % Passband Weight
Wstop = 1; % Stopband Weight
dens = 20; % Density Factor
% Calculate the coefficients using the FIRPM function.
b = firpm(N, [0 Fpass Fstop Fs/2]/(Fs/2), [1 1 0 0], [Wpass Wstop], ...
{dens});
Hd = dfilt.dffir(b);
% [EOF]
通过原始音频信号频谱和含噪音频信号频谱的比较,可以发现含噪音频在频谱上比原始音频频谱多了14kHz以上的高频部分,故采用FIR低通滤波器,将14kHz以上的高频部分过滤。
- 实验结果:
含噪音频通过低通滤波器,成功将14kHz以上的高频噪声去除,而14kHZ一下的低频信号保留,达到预期目的。
- 小结分析:
本设计实现了语音信号的基本处理功能,完成了对语音信号的读取与打开,通过fft得到了语音信号的频谱图,较好的完成了对语音信号的频谱分析,在滤波方面,采用FIR低通滤波器,实现了滤波效果,效果达到预期。
2918

被折叠的 条评论
为什么被折叠?



