余华-数字信号处理-实验二.docx
孝麻理/大?数字信号处理实验二学院:电子与信息学院专业班级:通信工程4班学号:201130301443姓名:李腾辉实验名称:实验二实验日期:2013.11.21第二次实验一.实验目的*理解采样率和量化级数对语音信号的影响*设计滤波器解决实际问题二 .实验内容语音及音乐信号的采样、滤波音乐信号处理三 .实验细节语音及音乐信号的采样、滤波1题目要求实验要求:利用电脑的声卡录一段语音信号及音乐信号,观察使用不同采样率及量化级数所得到的信号的听觉效果,从而确定对不同信号的最佳的采样率;分析音乐信号的采样率为什么要比语音的采样率高才能得到较好的听觉效果。注意观察信号中的噪声(特别是50hz交流电信号对录音的干扰),设计一个滤波器去除该噪声。2解答过程我分别使用了8k,16k,32k三种采样率录制了三段语音信号,量化级数均采用16位,通过反复的回放对比,发现虽然高于8k的采样率的声音更加饱满,音质更佳,但是对于语音信号来说,8k采样率用于通话交流系统已经足够了,采样率的提高对于音质的提升不大,反而需要更大的信道带宽,得不偿失。同样的,我又分别录制了8k,16k以及32k三种采样率的音乐信号,通过反复对比,可以明显感觉到8k采样率的音乐明显少了许多频率成分,失真严重,高音部分基本听不到了,总之对于音乐信号,8k采样率太低,不适合音乐的欣赏,16k采样率较8k来说频率成分丰富了很多,音乐更加优美动听,32k采样率在此基础上音质有所提升,但个人感觉提升不是很大。我又对比了16k音乐信号的三种不同量化电平(8bitz16bitz32bit)的效果,显然地8bit对应只有256个量化电平,音乐听起来相当粗糙,明显不合适,16bit己经达到了65536个量化电平,是当前音乐主流的量化数,32bit占用了大量了存储空间,音质提升也不大。综上分析,对于语音信号,采用8kHz的采样率,8位量化电平数己经足以进行语音交流;而对于音乐信号,最好能达到16kHz以上的采样率,16位的量化电平足以。忌music_8k.wav忌music_8k_32bit.wav忌music_16k.wav忌music_32k.wavQVoiCe_8IGWaV忌voice_16k.wav忌voice32k.wav附录制的语音音乐信号图下面是我针对VOiCe_8k.wav这个语音信号,对其50HZ噪声进行消除的程序。我首先分析了这个信号的时域和频域的谱图,如下图所示。这段语音信号的内容是“我爱祖国天安门”,从时域图来看,这段信号大约长4秒,全程即使在没有语音的部分也可以看出有小的上下波动,这即是50HZ噪声信号加进去产生的。原始信号FFT频谱200.1111501001.1.皿山金血4uO0.511.52再看它的频谱图,我用了40960点的DFT变换,由于实信号的对称性,我截取了前20480点作出上图,可以明显看到,在50HZ处有一个明显的冲激,这就是噪声信号,下面我将设计一个50HZ的陷波器来消除这个滤除这个噪声。陷波器的传输函数为B(z)=(Z-C叫"叫'A(1.z)(z-cej2f)(z-ae'j2xf)其中f为陷波器要滤除信号的频率,a为与陷波器深度相关的参数,a越大,深度越深。由此设计一个f=50的陷波器如下p)-gnS)W1000-100-2501001502250 3 350400 4505经过此陷波器后的语音信号如下所示:0.50.40.30.20.10-0.1-0.2-0.3-0.450Hz陷波语音信号时域-0.501.522.533.54time/s可以看出时域图中原来的杂波干扰减少了050HZ陷波信号FFT频谱5040302010Hz可以看出,原始信号中50HZ附近的冲激被抑制掉了。通过对比滤波前后的语音信号可以发现,滤波后的声音清晰了些。总图对比:6P)8p-u6bsInputsigna1.50010001500200025003000360040FreqUenCy(Hz)CgP)号芸旦FroutputFrequency(Hz)下面贴出程序的代码:f0=50;也50HZ陷波器fs=8000;S采样率800OHZTs=1.fs;N1.enTO960;%N1.en点DFT变换apha=-2*cos(2*pi*fO*Ts);beta=0.96;b=1apha1;a=1apha*betabeta2;figure(1);freqz(bza,N1.en,fs);:陷波器特性旧示×=wavread('voice2_8k_noise.wav*);:原信号y=fi1.ter(brarx)陷波器泄波处理n=1.:1.ength(x);m=1.:N1.en;xfft-fft(x,N1.en);。对信号进行频域变换xfft=xfft.*conj(xfft)/N1.en;y1.=fft(y,N1.en);y2=y1.*conj(y1.)/N1.en;figure(2);=滤除前后的信号对比:subp1.ot(2,2,1);p1.ot(nzx);grid;×1.abe1.(,Time(s)');y1.abe1.(1Amp1.itude,);tit1.e(,Input,:;subp1.ot(2,2,3);p1.ot(n,y);grid;×1.abe1.(Time(s),);y1.abe1.('Amp)itde,);tit1.e('FiIteroutput,);subp1.ot(2z2,2);p1.ot(m*fsN1.en,xfft);axis(0400000.15);grid;×1.abe1.(,Frequency(Hz),);y1.abe1.('Magnitude(dB),);tit1.e(,:a1');subp1.ot(2,2/4);p1.ot(m*fsN1.enzy2);axis(0400000.15);grid;×1.abe1.(,Frequency(Hz),);y1.abe1.('Magnitude(dB)');tit1.e(Ti1.teroutput,);音乐信号处理1题目要求*设计函数实现一段语音或音乐的回声产生*设计均衡器,使得得不同频率的混合音频信号,通过一个均衡器后,增强或削减某些频率区域,以便修正低频和高频信号之间的关系2.1 解答过程回音可以由简单的延时单元产生。直达声和在R抽样周期后出现的一种单个回音,可以用梳状滤波器产生,微分方程为:yn=xnj+n-Ra|<1传输函数为:H(Z)=I+az-R梳状滤波器时域和频域波形图如下所示时域上形状大致相同,幅度有微小变化。频谱上滤波前后两边跳动变换较大,幅度变化较大。也可以使用全通滤波器,全通滤波器的传递函数公式为H(Z)=y(Z)X亿)=(-K+ZN-m)/(I-K*Z(-m),其中m为回声延时取样,k为反馈系数。用直接1型表示这个传递函数则为:y(n)=k*x(n)÷x(n-m)+k*y(n-m)可见其实际上是一个简单的I1.R滤波器,时间n的输出有时间n的输入和m点之前的输入与输出计算而得。由于这个IIR滤波器的频率响应为水平直线,所以被称为全通滤波器。全通滤波器时域和频域波形图如下所示对比梳状滤波器和全通滤波器,发现全通滤波器产生的回声效果更佳,可构成一个混响系统,而梳状滤波器则只是单纯的延时叠加。附程序:单回声滤波器y,fszbits=wavread(,voice2_8k.wav*);yy(:/1);z=zeros(3000z1);y;y=y;zeros(3000,1)1;a=0.5;R=5000;g灌波器阶数设置,其值越高,回声越明显Bz1.=口,zeros(1,R-I),a;也单回声泄波器系统函数分子Az1.-(I);,单回声题波器系统函数分母y2-fi1.ter(Bz1.,Az1.zy);*单回声滤波器系统函数Y2=fft(y2z6001);h,w=freqz(Bz1.zAz1.);8求设计的灌波器频谱subp1.ot(3/2,1);p1.ot(abs(h);tit1.e(,单回声浊波回声频响应,);subp1.ot(3,2,2);p1.ot(ang1.e(h);tit1.e(单回声海波器相振响应,);subp1.ot(3/2,3:4);p1.ot(y2);tit1.e(,单回声泄波器时域图,);subp1.ot(3,2,5);p1.ottabs(Y2);tit1.e(,单回声滤波舞幅频,);subp1.ot(3,2,6);p1.ot(ang1.e(Y2);tit1.e(,单回声滤波器相频,);sound(y2,fs,bits);全通滤波器y,fszbits=wavread(,voice2_8k.wav*);y=y(:/D;z=zeros(3000/1);y;y=y;zeros(3000,1);a=0.5;R7000;%灌波器阶数设置,其值越高,回声越明显Bz1.-a,zeros(1,R-1.),1%全通灌波器系统函数分子Az1.-1,zeros(IfR-I),a;8全通滤波器系统函数分母h,w=freqz(Bz1.zAz1.);yy2-fi1.ter(Bz1.,Az1.,y);YY2=fft(yy2,6001);subp1.ot(3,2,1);p1.ot(abs(h);tit1.e(全通滤波器幅频响应');subp1.ot(3,2,2);p1.ot(ang1.e(h);tit1.e('全通滤波器相频响应');subp1.ot(3,2,3:4);p1.ot(yy2);tit1.er全通结构时域图,);subp1.ot(3,2,5);p1.ot(abs(YY2);tit1.e(,全通结构幅频,);subp1.ot«3,2,6);p1.ot(ang1.e(YY2);tit1.e(,全通结构相频,);sound(yy2zfs,bits);2.2 解答过程均衡器的基本功能是调节各频段的信号强弱,为了满足该功能,采用如下的方法:Step1.:设计出对应八个频段的八个带通滤波器;Step2:对原始信号分八路用八个带通滤波器进行滤波;Step3:将八个滤波器的滤波结果加权求和,权值的设计与均衡器的调节要求一致。这样最终得到的结果便是所需要的均衡结果。其中第2步中各带通滤波器的输入信号均为原始信号,而不是''串联地滤波。设原始输入信号为x(n),第i路的输出信号为兵,第i路的权值为勺,均衡器的输出信号为y(n),则有>1(5)乃(同)=4(1.)x(w)+bi(2)x(»-1)÷+4(N+1)x(»-N)-a.|:-1-11-u,I,vr*1.j,<>,-2式中,死、名为渡波器的参数,N为滤波器的阶数。设计的均衡器如下:-均衡镌均新调节保存搐放8个滚动条分别对8个频率段进行处理,每个滚动条的值都是从O到1,初始值为0.5。这一部分的原理是将采样点N分成0(N2-1.)和N2-1N两部分,两部分之间对应相等。然后对滚动条上的值进行对应处理,实现程序如下:g1.oba1.cash;y=cash;Fs=22OOO;t=str2doub1.e(get(hand1.es.time.'Sting');N=2cei1.(1.og2(Fs*t);P=ff(y,N);Pyy=2*sqrt(R*conj(P)N;f=Fs*(0:N/2-1.)/N;f(N/2+i:N)=f(N/2:-1.:1.);n=8;%获得全局变量值%获得采样点的值%采样点分段%在频率值中寻找最大值iffmax>30s=ge(hand1.es.s I/Value');a=find(f>=3O f=100);b=(s*2)n;Pyy(a)=Pyy(a)*b;P(a)=(P(a).*b).*b;end%从滚动条I获得一个0-1之间的值,%但只能缩小该频段声音信号%在30-IOOHz的频率段进行处理%s*2可以实现对声音信号的放大和缩小%将系数叠加在原信号上iffmax>100s=ge(hand1.es.s3,Value');a=find(f>=100& f<=200);b=(s*2)n;%对Ioo-200HZ信号的处理fmax=max(f);Pyy(a)=Pyy(a)*b;P(a)=(P(a).*b).*b;endiffmax>200%对200-500HZ信号的处理s=get(hand1.es.s4.,Va1.ue'):a=find(f>=2Af<=500);b=(s*2)n;Pyy(a)=Pyy(a)*bjP(a)=(P(a).*b).*b;end四.实验感想通过此次试验,我理解了采样率和量化级数对语音和音乐信号的影响,学会了如何设计一个简单的数字滤波器进行回声的合成、频率的均衡。总体而言,这次试验不只让我对数字信号处理有了更深的理解,更让我明白到在程序设计中会遇到很多问题,这些都是在平时学习中所不曾注意到的,面对这些问题通过查阅资料、网络、和同学的探讨,最终是可以得到很好地解决的。