数字信号处理课程设计--基于matlab的音乐信号处理和分析内容摘要:

end (将上述程序保存为 ,但不能运行。 ) 12 Clc close all clear all [y,fs]=wavread(39。 一生有你39。 )。 y1=y(:,1)。 N0=length(y)。 n=0:(N01)。 w=2*n/(N01)。 t=n/fs。 f1=fft(y1)。 %调制频率滤波 y2=cos(n**pi)。 %调制频率为 *pi。 y3=y1.*y239。 %调制后的信号。 y4=y3.*y239。 %调制解调后的信号。 %对调制频率巴特沃斯 IIR滤波器的设计 Wp=。 Ws=。 Rp=1。 Rs=20。 W=0:*pi:1*pi。 [N,Wc]=buttord(Wp,Ws,Rp,Rs)。 [b,a]=butter(N,Wc)。 [H,W]=freqz(b,a,W)。 plot(W/pi,abs(H)) title(39。 巴特沃斯滤波器的频域图 39。 ) xlabel(39。 w39。 ) ylabel(39。 H(w)39。 ) y5=filter(b,a,y4)*2。 % 对调制解调后的信号进行滤 波。 f3=fft(y3)。 %对调制信号做fft变换。 f4=fft(y4)。 %对调制解调后的信号做 fft变换。 f5=fft(y5)。 %对调制解调滤波后的信号做 fft变换。 figure subplot(4,1,1),plot(w,abs(f1)*2/N0)%调制前的原信 13 号频域图; title(39。 原信号频域图 39。 ) xlabel(39。 w39。 ) ylabel(39。 Y1(w)39。 ) subplot(4,1,2),plot(w,abs(f3)*2/N0)%高调制后的信号频域图; title(39。 调制后的频域图 39。 ) xlabel(39。 w39。 ) ylabel(39。 Y3(w)39。 ) subplot(4,1,3),plot(w,abs(f4)*2/N0) title(39。 调制解调后的频域图39。 ) xlabel(39。 w39。 ) ylabel(39。 Y4(w)39。 ) subplot(4,1,4),plot(w,abs(f5)*2/N0) %解调滤波后的信号频域图; title(39。 解调滤波后的频域图39。 ) xlabel(39。 w39。 ) ylabel(39。 Y5(w)39。 ) %用窗函数设计 FIR滤波器 N=33。 Wc1=*pi。 hd=ideal(N,Wc1)。 w1=boxcar(N)。 %矩形窗 w2=blackman(N)。 %布莱克曼窗 h1=hd.*w139。 h2=hd.*w239。 %求滤波器频率响应 M=1024。 W=2/M*[0:M1]。 fh1=fft(h1,M)。 db1=20*log10(abs(fh1(1)./(abs(fh1)+eps)))。 %幅度的分贝表示 fh2=fft(h2,M)。 db2=20*log10(abs(fh2(1)./(abs(fh2)+eps)))。 %幅度的分贝表示 figure 14 subplot(2,2,1)。 plot(W,abs(fh1)) title(39。 矩形窗幅度 39。 ) subplot(2,2,2)。 plot(W,db1) title(39。 矩形窗分贝 39。 ) subplot(2,2,3)。 plot(W,abs(fh2)) title(39。 布莱克曼窗幅度 39。 ) subplot(2,2,4)。 plot(W,db2) title(39。 布莱克曼窗分贝 39。 ) y6=conv(y4,h1)。 %作卷积 f6=fft(y6)。 y7=conv(y4,h2)。 f7=fft(y7)。 M1=length(y4)+length(h1)1。 W1=2/M1*[0:M11]。 M2=length(y4)+length(h2)1。 W2=2/M2*[0:M21]。 figure subplot(3,1,1),plot(w,abs(f1)*2/(length(y))) title(39。 原信号频域图 39。 ) xlabel(39。 w39。 ) ylabel(39。 Y1(w)39。 ) subplot(3,1,2),plot(W1,abs(f6)*2/M1) title(39。 用矩形窗滤波后的频域图 39。 ) xlabel(39。 w39。 ) ylabel(39。 Y6(w)39。 ) subplot(3,1,3),plot(W2,abs(f7)*2/M2) title(39。 用布莱克曼窗滤波后的频域图 39。 ) xlabel(39。 w39。 ) ylabel(39。 Y7(w)39。 ) wavplay(y1,fs) wavplay(y6,fs) wavplay(y7,fs) 15 程序运行如下: 0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 100 . 20 . 40 . 60 . 811 . 21 . 4巴特沃斯滤波器的频域图wH(w) 16 0 0 . 2 0 . 4 0 . 6 0 . 8 1 1 . 2 1 . 4 1 . 6 1 . 8 200 . 0 5原信号频域图wY1(w)0 0 . 2 0 . 4 0 . 6 0 . 8 1 1 . 2 1 . 4 1 . 6 1 . 8 200 . 0 20 . 0 4调制后的频域图wY3(w)0 0 . 2 0 . 4 0 . 6 0 . 8 1 1 . 2 1 . 4 1 . 6 1 . 8 200 . 0 20 . 0 4调制解调后的频域图wY4(w)0 0 . 2 0 . 4 0 . 6 0 . 8 1 1 . 2 1 . 4 1 . 6 1 . 8 200 . 0 5解调滤波后的频域图wY5(w) 分析 1:通过对比解调前后的音乐信号时域图和频谱图可知,解调后的音乐信号时域和频谱幅度变为原来的 1/2,若想滤波后可以完全恢复原始音乐信号,可以在传输函数添加系数 2 即可。 17 0 0 . 5 1 1 . 5 200 . 511 . 5矩形窗幅度0 0 . 5 1 1 . 5 2 1 0 0 5 0050矩形窗分贝0 0 . 5 1 1 . 5 200 . 511 . 5布莱克曼窗幅度0 0 . 5 1 1 . 5 2 1 5 0 1 0 0 5 0050布莱克曼窗分贝 分析 2: 对 FIR 窗函数滤波器的设计参 数进行选定: 矩形窗( boxcar):滤波器的截止频率 wc=,滤波器的阶数 N=33,阻带衰减为 25db;布莱克曼窗( blackman):滤波器的截止频率 wc=,滤波器的阶数 N=33,阻带衰减为 80db。 比较采用矩形窗和布莱克曼窗的频率特性图可以看出:最小阻带衰减只由窗形状决定,而不受阶数 N 的影响;而过渡带的宽度窗的形状有关;同时,布莱克曼窗的过滤带宽、旁瓣峰值和主瓣宽度均大于矩形窗的过滤带宽、旁瓣峰值和主瓣宽度。 18 0 0 . 2 0 . 4 0 . 6 0 . 8 1 1 . 2 1 . 4 1 . 6 1 . 8 200 . 0 5原信号频域图wY1(w)0 0 . 2 0 . 4 0 . 6 0 . 8 1 1 . 2 1 . 4 1 . 6 1 . 8 200 . 0 20 . 0 4用矩形窗滤波后的频域图wY6(w)0 0 . 2 0 . 4 0 . 6 0 . 8 1 1 . 2 1 . 4 1 . 6 1 . 8 200 . 0 20 . 0 4用布莱克曼窗滤波后的频域图wY7(w) 分析 3:下图为经过加矩形窗和布莱克曼窗的 滤波器滤波后的音乐信号的时域图和频谱图。 比较两种窗函数滤波下的频谱图可知加矩形窗的滤波器的滤波效果明显没有加布莱克曼窗的滤波器滤波效果好,原因如分析 2 所示:布莱克曼窗的最小阻带衰减在同样阶数的前提条件下要比矩形窗的最小阻带衰减大,所以滤波更彻底,恢复的原信号也就会比矩形窗好。 若想提高矩形窗的滤波效果可采取增加阶数的方法,但这种情况下会增加不必要的开支,所以在选定滤波器的时候要权衡各方面的条件,力争达到一个各方都满意的结果。 分析 4:播放 IIR 滤波器和 FIR 滤波器滤波后的音乐信号,我们可以听到音乐信号的音调 变低了,这是因为高频部分被滤掉了。 同时还可以听到 IIR 滤波器滤波后的音乐信号没有 FIR 滤波器滤波后的音乐信号效果好,这是因为 FIR滤波器是线性相位的,而 IIR 滤波器是非线性相位;矩形窗没有布莱克曼窗的滤波效果好。 19 音乐信号的滤波去噪 ① 给原始音乐信号叠加幅度为 ,频率为 3kHz、 5kHz、 8kHz 的三余弦混合噪声,观察噪声频谱以及加噪后音乐信号的音谱和频谱,并播放音乐,感受噪声对音乐信号的影响; ② 给原始音乐信号叠加幅度为 的随机白噪声(可用 rand 语句产生),观察噪声频谱以及加噪后音乐信 号的音谱。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。