资源描述:
《【精品】谱分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验五谱分析一、实验原理信号是无限长的,而在进行信号处理时只能采用有限长信号,所以需要将窄带信号“截断”。在信号处理小,“截断”被看成是用一个有限长的“窗口”看无限长的信倍号,或者从分析的角度是无限长的信号X(t)乘以有限长的窗函数w(t),由傅立叶变换性质可知:x(t)w(t)<=>l/2nX(jw)*W(jw)如果x(t)是频带有限信号,而讥t)是频带无限函数,截断后的信号也必是频带无限信号,从而产生所谓的频谱泄露。频谱泄露是不可避免的,但是尽量减小,因此设计了不同的窗函数满足不同的要求。从能量的介度,频谱泄露也是能屋泄露,因为加窗后,是原来的信号集中在宅频带内的
2、能量分散到无限的频带范围。二、实验内容1.用MATLAB编程绘制各种窗函数的形状。程序:N=30;wl=boxcar(N);subplot(42l),stem(w1)%绘制矩形窗w2=hanning(N);subplot(422),stcm(w2)w3=hamming(N);subplot(423),stem(w3)w4=bartlett(N);subplot(424),stem(w4)w5=blackman(N);subplot(425),stem(w5)w6=triang(N);subplot(426),stem(w6)w7=kaiser(N,30);subplo
3、t(427),stcm(w7)w8=chebwin(N,30);subplot(428),stem(w8);结果:%绘制汉宁窗%绘制汉明窗%绘制巴特利特窗%绘制布莱克曼窗%绘制二角窗%绘制凯泽窗%绘切比雪夫窗窗102030°00.501020301030%矩形窗%汉宁窗%汉明窗%巴特利特窗%布莱克曼窗%三角窗%凯泽窗%切比雪夫窗1.用MATLAB编程绘制各种窗函数的幅频响应。程序:N=3();wl=boxcar(N);[X,W]=dtft(w1,1000);subplot(42l),plot(W/2/pi,abs(X))w2=hanning(N);[X,W]=dtft
4、(w2,1000);subplot(422),plot(W/2/pi,abs(X))w3=hamming(N);[X,W]=dtft(w3,1000);subplot(423),plot(W⑵pi,abs(X))w4=bartlett(N);[X,W]=dtft(w4,1000);subplot(424),plot(W/2/pi,abs(X))w5=blackman(N);[X,W]=dtft(w5,1000);subplot(425),plot(W/2/pi,abs(X))w6=triang(N);[X,W]=dtft(w6,1000);subplot(426),p
5、lot(W/2/pi,abs(X))w7=kaiser(N,30);[X,W]=dtft(w7,1000);subplot(427),plot(W/2/pi,abs(X))w8=chebwin(N,30);[X,W]=dtft(w8,1000);subplot(428),plot(W/2/pi,abs(X))结果:Nllo9•5opooEpoincnoo60oo20wluboxcar(N)八LX.Wlrdtmwr-500);subplot(221)"p_0〔(w/2、PLabs(x))NU20;w2uboxcar(N)八ywlldtft(w2.500);subpoi(
6、222)・po〔(w、2、ps'bs(x))NH5Pw3=boxcar(N)八【X"wllds(w3・5ossubploi(223)uoi(w、2、pikbs(x))NH一opw4=boxcar(Nr【X"wnds(w4・5oo);subpls(224)"pot{w、2、PLabs(x))20151050•0.500.5-0.500.54.已知周期信号x(t)=0.75+3.4*cos(2*pi*f*t)+2.7*cos(4*pi*f*t)+1.5*cos(3.5*pi*f*t)+2.5*cos(7*pi*f*t),其中f=25/16Hz,若截断时间长度分别为信号周期
7、的1.9倍和1.1倍,试绘制和比较采用下面窗函数提取的x(t)的频谱。1)矩形窗①程序:f=25/16;dt=().()l;N=230;n=0:(N-l);x=0.75+3.4*cos(2*pi*f*dt*n)+2.7*cos(4*pi*f*dt*n)+1.5*sin(3.5*pi*f*dt*n)+2.5*sin(7*pi*f*dt*n);wl=boxcar(N);yl=x.*wT;[Yl,W]=dtft(yl,1000);subplot(12l),plot(W/2/pi,abs(Y1));titleC幅频)subplot(122),plot(W/2