数字信号处理综合报告--数字音频信号的分析与处理————————————————————————————————作者:————————————————————————————————日期:数字信号处理实验题目数字音频信号的分析与处理班级姓名学号日期 2013.06.10-2013.06.24一、实验目的1.复习巩固数字信号处理的基本理论;2.利用所学知识研究并设计工程应用方案。
二、实验原理数字信号处理技术在音频信号处理中的应用日益增多,其灵活方便的优点得到体现。
分频器即为其中一种音频工程中常用的设备。
人耳能听到的声音频率范围为20Hz~20000Hz,但由于技术所限,扬声器难以做到在此频率范围内都有很好的特性,因此一般采用两个以上的扬声器来组成一个系统,不同的扬声器播放不同频带的声音,将声音分成不同频带的设备就是分频器。
下图是一个二分频的示例。
图8.1 二分频示意图高通滤波器和低通滤波器可以是FIR或IIR类型,其中FIR易做到线性相位,但阶数太高, 不仅需要耗费较多资源,且会带来较长的延时;IIR阶数低,但易出现相位失真及稳定性问题。
对分频器的特性,考虑最多的还是两个滤波器合成的幅度特性,希望其是平坦的,如图8.2所示:图8.2 分频器幅度特性分频低频放高频放声音HighLow-由于IIR 的延时短,因此目前工程中大量应用的还是Butterworth 、Bessel 、Linkwitz-Riley 三种IIR 滤波器。
其幅频特性如图8.3所示:图8.3 三种常用IIR 分频器的幅度特性巴特沃斯、切比雪夫、椭圆等类型的数字滤波器系数可通过调用MATLAB 函数很方便的计算得到,但Bessel 、Linkwitz-Riley 数字滤波器均无现成的Matlab 函数。
并联系统的系统函数为级联系统的系统函数为宁可瑞滤波器(Linkwitz-Riley ),由两个巴特沃斯滤波器级联而成。
N 阶巴特沃夫滤波器等效宁可瑞滤波器的设计l h h l l h ()()()()()()()()()()()()()()()B=conv(B ,A )+conv(B ,A )A=conv(A ,A )l h l h l h l h h l l h B z B z H z H z H z A z A z B z A z B z A z B z A z A z A z =+=++==⎧⇒⎨⎩121212l 212()()()()()()()()()B=conv(B ,B )A=conv(A ,A )B z B z B z H z H z H z A z A z A z ===⇒⎧⇒⎨⎩为了使设计的IIR 滤波器方便在DSP 上实现,常将滤波器转换为二阶节级联的形式。
设计好分频器后,为验证分频后的信号是否正确,可用白噪声信号作为输入信号,然后对分频后的信号进行频谱分析。
三、仪器设备1.硬件:计算机一台,耳机。
2.软件:MATLAB R2010b四、实验步骤任意选择两种类型的IIR 数字滤波器,设计一个二分频的数字分频器,已知系统的采样率为48000Hz 。
(1)分频点为2000Hz ;(2)要求给出类似图8.3的幅频特性图,分频器的幅频响应平坦,在分频点处最多不能超过3dB 的偏差;(3)滤波器必须是二阶节形式;(4)给出相位特性图;(5)用频谱分析的方法验证设计好的分频器;(6)对选用的两种类型的滤波器效果进行对比。
滤波器设计的基本步骤:B(z)/B(z)/x(n) y(n) 根据分频点要求初始化参数(截止调用MATLAB 函数设计滤波器评估滤波器性能五、数据记录我选择要设计的合成滤波器为ButterWorth IIR滤波器和Linkwitz-Riley IIR滤波器。
1.设计程序设计程序如下:(以4阶巴特沃斯滤波器、宁可瑞滤波器设计的分频器程序为例(分频器阶数为8阶))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %设计分频器clear;clc;fs = 48000;%采样频率为48000Hzfc = 2000;%分频点为2000Hzwc = 2 * fc / fs;N = 4; %滤波器阶数,分频器阶数为2*N[BL,AL] = butter(N,wc); %计算巴特沃思低通滤波器系统函数B,A系数[BH,AH] = butter(N,wc,'high'); %计算巴特沃思高通滤波器系统函数B,A系数[magHH,w]=freqz(BH,AH);%计算巴特沃思高通滤波器幅频特性magHH=20*log10(abs(magHH));f=w*fs/(2*pi);%把数字频率w转换为模拟频率f[BL1,AL1] = butter(N/2,wc);[BH1,AH1] = butter(N/2,wc,'high');BL1=conv(BL1,BL1); %计算宁可瑞低通滤波器系统函数B,A系数AL1 = conv(AL1,AL1);BH1=conv(BH1,BH1);%计算宁可瑞高通滤波器系统函数B,A系数AH1 = conv(AH1,AH1);[magHH1,w1]=freqz(BH1,AH1);%计算宁可瑞高通滤波器幅频特性magHH1=20*log10(abs(magHH1));f1=w1*fs/(2*pi);semilogx(f,magHH,'-.r',f1,magHH1,'b');hold on;[magHL,w]=freqz(BL,AL);%计算巴特沃思低通滤波器幅频特性magHL=20*log10(abs(magHL));f=w*fs/(2*pi);[magHL1,w1]=freqz(BL1,AL1);%计算宁可瑞低通滤波器幅频特性magHL1=20*log10(abs(magHL1));f1=w1*fs/(2*pi);semilogx(f,magHL,'-.r',f1,magHL1,'b');hold on;B=conv(BL,AH)+conv(BH,AL); %计算巴特沃思滤波器并联系统的系统函数A=conv(AL,AH);[magH,w]=freqz(B,A); %计算巴特沃思滤波器并联系统幅频特性magH=20*log10(abs(magH));f=w*fs/(2*pi);B1=conv(BL1,AH1)+conv(BH1,AL1); %计算宁可瑞滤波器并联系统的系统函数A1=conv(AL1,AH1);[magH1,w1]=freqz(B1,A1); %计算宁可瑞滤波器并联系统幅频特性magH1=20*log10(abs(magH1));f1=w1*fs/(2*pi);semilogx(f,magH,'-.r',f1,magH1,'b');legend('巴特沃斯滤波器','宁可瑞滤波器');title('IIR分频器的幅度特性');axis([100 20000 -40 10]);hold ongrid on %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %分析巴特沃斯滤波器及其设计的分频器的幅频特性、零极点分布%巴特沃斯低通subplot(2,2,1);zplane(BL,AL);title('巴特沃斯低通滤波器的零极点分布')[HL,wL]=freqz(BL,AL);subplot(2,2,2);plot(wL/pi,abs(HL));title('巴特沃斯低通滤波器的幅度特性')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');subplot(2,2,4);plot(wL/pi,angle(HL));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('巴特沃斯低通滤波器的相频特性')%巴特沃斯高通subplot(2,2,1);zplane(BH,AH);title('巴特沃斯高通滤波器的零极点分布')[HH,wH]=freqz(BH,AH);subplot(2,2,2);plot(wH/pi,abs(HH));title('巴特沃斯高通滤波器的幅度特性')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');subplot(2,2,4);plot(wH/pi,angle(HH));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('巴特沃斯高通滤波器的相频特性')%设计的分频器subplot(2,2,1);zplane(B,A);title('分频器的零极点分布')[H,w]=freqz(B,A);subplot(2,2,2);plot(w/pi,abs(H));xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('分频器的幅度特性')subplot(2,2,4);plot(w/pi,angle(H));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('分频器的相频特性') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %分析宁可瑞滤波器及其设计的分频器的幅频特性、零极点分布subplot(2,2,1);zplane(BL1,AL1);title('宁可瑞低通滤波器的零极点分布')[HL1,wL1]=freqz(BL1,AL1);subplot(2,2,2);plot(wL1/pi,abs(HL1));title('宁可瑞低通滤波器的幅度特性')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');subplot(2,2,4);plot(wL1/pi,angle(HL));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('宁可瑞低通滤波器的相频特性')%宁可瑞高通subplot(2,2,1);zplane(BH1,AH1);title('宁可瑞高通滤波器的零极点分布')[HH1,wH1]=freqz(BH1,AH1);subplot(2,2,2);plot(wH1/pi,abs(HH1));title('宁可瑞高通滤波器的幅度特性')xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');subplot(2,2,4);plot(wH1/pi,angle(HH1));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('宁可瑞高通滤波器的相频特性')%设计的分频器subplot(2,2,1);zplane(B1,A1);title('分频器的零极点分布')[H1,w1]=freqz(B1,A1);subplot(2,2,2);plot(w1/pi,abs(H1));xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');title('分频器的幅度特性')subplot(2,2,4);plot(w1/pi,angle(H));xlabel('\omega/\pi');ylabel('\phi(\omega)');title('分频器的相频特性') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %滤波效果验证%巴特沃斯设计的分频器滤波效果[hB,g]=tf2sos(B,A) %调用函数tf2sos,将巴特沃斯滤波器设计的分频器转换成二阶节形式[xB,fs,bits]=wavread('E:\white.wav');X=fft(xB,1024);for i=1:size(hB)xB=filter(hB(i,1:3),hB(i,4:6),xB);%二阶节级联形式对白噪声进行滤波处理endwavwrite(xB,fs,bits,'e:\巴特沃斯设计的分频器滤波后信号.wav')%将滤波后的噪声保存YB=fft(xB,1024);k=0:1023;wk=2*k/N;subplot(211);plot(wk,abs(X));xlabel('\omega/\pi'); title('原始白噪声信号频谱')subplot(212);plot(wk,abs(YB));xlabel('\omega/\pi');title('巴特沃斯设计的分频器滤波后信号频谱') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [hL,gL=tf2sos(B1,A1) %调用函数tf2sos,将宁可瑞滤波器设计的分频器转换成二阶节形式[xL,fs,bits]=wavread('E:\white.wav');X=fft(xL,1024);for i=1:size(hL)xL=filter(hL(i,1:3),hL(i,4:6),xL); %二阶节级联形式对白噪声进行滤波处理endwavwrite(xL,fs,bits,'e:\宁可瑞设计的分频器滤波后信号.wav')%将滤波后的噪声保存YL=fft(xL,1024);k=0:1023;N=1024;wk=2*k/N;subplot(211);plot(wk,abs(X));xlabel('\omega/\pi'); title('原始白噪声信号频谱')subplot(212);plot(wk,abs(YL));xlabel('\omega/\pi');title('宁可瑞设计的分频器滤波后信号频谱') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%2.图形记录[figure1]两种滤波器设计的分频器的幅度特性曲线:102103104-40-35-30-25-20-15-10-50510IIR 分频器的幅度特性巴特沃斯滤波器宁可瑞滤波器[figure2]巴特沃思低通滤波器的零极点分布和幅频特性:-1-0.500.51-1-0.500.514Real PartI m a g i n a r y P a r t巴特沃斯低通滤波器的零极点分布0.5100.511.5巴特沃斯低通滤波器的幅度特性ω/π|H (e j ω)|0.51-4-2024ω/πφ(ω)巴特沃斯低通滤波器的相频特性[figure3]巴特沃思高通滤波器的零极点分布和幅频特性:-1-0.500.51-1-0.500.514Real PartI m a g i n a r y P a r t巴特沃斯高通滤波器的零极点分布0.5100.511.5巴特沃斯高通滤波器的幅度特性ω/π|H (e j ω)|0.51-4-2024ω/πφ(ω)巴特沃斯高通滤波器的相频特性[figure4]巴特沃思滤波器设计的分频器的零极点分布和幅频特性:-11-1-0.500.512222Real PartI m a g i n a r y P a r t分频器的零极点分布00.5111.21.41.61.8ω/π|H (e j ω)|分频器的幅度特性0.51-4-2024ω/πφ(ω)分频器的相频特性[figure5]宁可瑞低通滤波器的零极点分布和幅频特性:-1-0.500.51-1-0.500.51422Real Part I m a g i n a r y P a r t宁可瑞低通滤波器的零极点分布00.5100.51宁可瑞低通滤波器的幅度特性ω/π|H (e j ω)|0.51-4-2024ω/πφ(ω)宁可瑞低通滤波器的相频特性[figure6]宁可瑞高通滤波器的零极点分布和幅频特性:-1-0.500.51-1-0.500.51422Real PartI m a g i n a r y P a r t宁可瑞高通滤波器的零极点分布00.5100.51宁可瑞高通滤波器的幅度特性ω/π|H (e j ω)|0.51-4-2024ω/πφ(ω)宁可瑞高通滤波器的相频特性[figure7]宁可瑞滤波器设计的分频器的零极点分布和幅频特性:-11-1-0.500.5133Real PartI m a g i n a r y P a r t分频器的零极点分布00.511111ω/π|H (e j ω)|分频器的幅度特性0.51-4-2024ω/πφ(ω)分频器的相频特性[figure8]巴特沃思滤波器设计的分频器的滤波效果的频谱分析:00.20.40.60.81 1.2 1.4 1.6 1.8251015ω/π原始白噪声信号频谱00.20.40.60.81 1.2 1.4 1.6 1.8251015ω/π巴特沃斯设计的分频器滤波后信号频谱[figure9]宁可瑞滤波器设计的分频器的滤波效果的频谱分析:0.20.40.60.81 1.2 1.4 1.6 1.8251015ω/π原始白噪声信号频谱00.20.40.60.81 1.2 1.4 1.6 1.8251015ω/π宁可瑞设计的分频器滤波后信号频谱[figure10]将白噪声音频文件通过分频器处理后保存为wav 文件:3.数据记录[hB,g]=tf2sos(B,A) %将巴特沃斯滤波器设计的分频器转换成二阶节形式 得到数据:1.0000-2.3646 1.4480 1.0000-1.55900.61401.0000-1.55910.6141 1.0000-1.55910.6141h g = 0.70971.0000-1.63300.6906 1.0000-1.75770.81981.0000-1.75780.8198 1.0000-1.75780.8198B ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦[hL,gL]=tf2sos(B1,A1) %将宁可瑞滤波器设计的分频器转换成二阶节形式得到数据:1.0000-2.3646 1.4480 1.0000-1.63060.68861.0000-1.63290.6905 1.0000-1.63330.69050.69061.0000-1.63290.6906 1.0000-1.63270.69071.0000-1.63310.6907 1.0000-1.63540.6926hL gL ⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎣⎦六、实验结果讨论1.对巴特沃思滤波器设计的分频器及滤波效果进行讨论根据调用tf2sos 函数得到的数据可以得出二阶节级联形式的分频器的系统函数:1212121212121212(1 2.3646 1.448z )(1 1.55910.6141z )(1-1.6330+0.6906z )(1-1.7578+0.8198z )(z)0.7097(1-1.5590+0.6140z )(1-1.5591+0.6141z )(1-1.7577+0.8198z )(1-1.7578+0.8198z )z z z z H z z z z -----------------+-+= 从[figure1]分频器的幅度特性曲线可以看出巴特沃思滤波器设计的分频器整体较为平整,高低通并联而成的分频器系统在分频点2000hz 的地方有3dB 左右的偏差。