数字滤波器设计
要求
为了完成对子作业1中音频信号的滤波,对子作业1中的音频信号进行频谱分析,并获取滤波器设计所需要的性能指标。
音频加噪处理
由于在子作业1中的音频较为纯净,没有过多噪声。为了方便数字滤波器性能指标的分析和数字滤波器的设计,需要对原有的音频进行加噪处理。本项目通过在音频的8.5kHz至10kHz中增加带限噪声,并在绘制出其时域波形和频域波形。
加噪程序设计
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| clear ;
[x,Fs] = audioread('puppy love.mp3'); x=x(:,1); x=x.'; n=length(x); dt=1/Fs; time=(0:n-1)*dt; subplot(221); plot(time,x); title('原始声音信号时域波形') xlabel('时间/s');
f_true=time*Fs/length(time); k=fft(x,length(time)); k(:,ceil(length(k)/2):end) = []; l=f_true*Fs/1e3; l(:,ceil(length(l)/2):end) = []; subplot(222); plot(l,abs(k));title('原始声音信号傅里叶变换');xlabel('kHz');
noise=0; for f=8500:20:10000 noise=noise+0.01*sin(2*pi*f*time); end xa=x+noise; subplot(223); plot(time,xa); title('加噪声音信号时域波形') xlabel('时间/s');
f_true=time*Fs/length(time); k=fft(xa,length(time)); k(:,ceil(length(k)/2):end) = []; l=f_true*Fs/1e3; l(:,ceil(length(l)/2):end) = []; subplot(224); plot(l,abs(k));title('加噪后声音信号傅里叶变换');xlabel('kHz');
|
数字滤波器性能指标分析
假设数字滤波器的频率响应表示为:
H(ejω)=∣H(ejω)∣ejβ(jω)
根据下图中理想低通滤波器逼近的误差容限可以看出,频率响应有通带、过渡带、阻带三个范围。
下图为不同滤波器的技术指标:
因此我们对加噪后的音频频谱进行分析,可以看出音频在5kHz之后的幅值已经非常小,所以可以确定出通带截止频率为8kHz,阻带截止频率为8.5kHz。通带最大允许衰减为1dB,阻带最小允许衰减为80dB。
项目开源
点击🔗即可下载完整可运行项目: 项目下载