1、exp(-(n-p).2)/q), 0=n=15Xa(n)=0, 其他 (b)衰减正弦序列exp(-an)*sin(2pi*fn),0= X(b)= 0, 其他 (c)三角波序列 n, 0=3 Xb(n)= 8-n, 4=7 0, 其他 (d)反三角波序列 4-n, 0= Xc(n)= n-4, 4=1/N时,能分辨,不会发生栅栏效应;当f=1/N时,不能分辨,会发生栅栏效应。4 用FFT 分别计算xa(n)(p=8,q=2)和xb(n)(a=0.1,f=0.0625)的16点循环卷积和线形卷积。程序:p=8;q=2;a=0.1;yb=abs(yb);y1=ya.*yb;stem(n,y1);
2、yaa=fft(xa,32);yaa=abs(yaa);ybb=fft(xb,32);ybb=abs(ybb);y2=yaa.*ybb;stem(n,y2);(上图是循环卷积,下图是线性卷积)比较图中线性卷积与圆周卷积序列: Xa(n)(序列长度为N1)与Xb(n)(序列长度为N2)的N点圆周卷积序列(当NN1+N2-1),即为将Xa(n)与Xb(n)线性卷积序列中序号从N到N1+N2-1的序列叠加到原序列序号从0到N-1的地方。5 产生一512点的随即序列xe(n)并用xc(n)和 xe(n)做线形卷积,观察卷积前后xe(n) 频谱的变化。要求将xe(n)分成8段,分别采用重叠相加法和重叠保
3、留法。用重叠保留法和重叠相加法实现线形卷积的过程为: Xc(n)序列长度为8,Xe(n)序列长度为512,分Xe(n)序列为8段,每段长度为64,则每段序列与Xc(n)序列卷积后的长度为72,总长度为520。(凑成2的整数倍)(重叠相加法)e=rand(1,512);yc=fft(xc,72);/将短序列补零后做72点的FFTxe1=xe(1:64);ye1=fft(xe1,72);/对长序列第一段做72点的FFTy1=ye1.*yc;/将上述两个FFT相乘y1=y1,zeros(1,448);/补上448个零,以便相加,以下7段重复上述过程xe2=xe(65:128);ye2=fft(xe2
4、,72);y2=ye2.*yc;y2=zeros(1,64),y2,zeros(1,384);xe3=xe(129:192);ye3=fft(xe3,72);y3=ye3.*yc;y3=zeros(1,128),y3,zeros(1,320);xe4=xe(193:256);ye4=fft(xe4,72);y4=ye4.*yc;y4=zeros(1,192),y4,zeros(1,256);xe5=xe(257:320);ye5=fft(xe5,72);y5=ye5.*yc;y5=zeros(1,256),y5,zeros(1,192);xe6=xe(321:384);ye6=fft(xe6,
5、72);y6=ye6.*yc;y6=zeros(1,320),y6,zeros(1,128);xe7=xe(385:448);ye7=fft(xe7,72);y7=ye7.*yc;y7=zeros(1,384),y7,zeros(1,64);xe8=xe(449:512);ye8=fft(xe8,72);y8=ye8.*yc;y8=zeros(1,448),y8;y=y1+y2+y3+y4+y5+y6+y7+y8;/将这8个序列相加,便可得到最终的结果。n=1:520;plot(n,y)(重叠保留法)xe=rand(1,512);xe=zeros(1,8),xe,zeros(1,56)/长序列
6、前添8个零,后添56个零,构成576点的序列 xc1=n1;对短序列做72点的FFT72);/将所得序列分成8段,每段序列长度为72对长序列的第一段做72点的FFT将上述两段序列相乘y1=y1(9:取第一段所得结果的后64点,以下七段同上述布骤。xe2=xe(73:144);y2=y2(9:xe3=xe(145:216);y3=y3(9:xe4=xe(216:288);y4=y4(9:xe5=xe(289:360);y5=y5(9:xe6=xe(361:432);y6=y6(9:xe7=xe(433:504);y7=y7(9:xe8=xe(505:576);y=y1,y2,y3,y4,y5,y
7、6,y7,y8/将上述8段合并,变可得到最终结果比较图中序列的线形卷积频谱:原序列的频谱曲线较线性卷积序列的频谱曲线陡峭,即一个长序列与一个短序列作线性卷积,短序列就相当于一个低通滤波器,滤除长序列的一部分高频分量;6 用FFT分别计算xa(n)(p=8,q=2)和xb(n)(a=0.1,f=0.0625)的16点循环相关和线形相关,问一共有多少种结果,他们之间有何异同点。function y=t27N=16;m=(-N+1):(N-1);xa=exp(-(n-8).2/2);xb=exp(-0.1*n).*sin(2*pi*0.0625*n);Xa1=abs(fft(xa,N);Xb1=ab
8、s(fft(xb,N);Xa2=fft(xa,2*N);Xb2=fft(xb,2*N);rm1=real(ifft(conj(Xa1).*Xb1);rm2=real(ifft(conj(Xa2).*Xb2);rm2=rm2(N+2:2*N) rm2(1:N);subplot(2,1,1)stem(n,rm1)subplot(2,1,2)stem(m,rm2)(上面是循环相关,下面是线性相关)由上图可以看到,16点的循环相关由于高斯噪声的干扰,衰减发生了微小的变化,时间位置不对了。并且线形相关32点,循环相关只有16点。7 用FFT分别计算xa(n)(p=8,q=2)和xb(n)(a=0.1,f
9、=0.0625)的自相关函数。 n=0: p=8; q=2;k1=length(xa);k2=length(xb);xak=fft(xa,2*k1);xbk=fft(xb,2*k2);rma=real(ifft(conj(xak).*xak);rma=rma(k1+2:2*k1) rma(1:k1);rmb=real(ifft(conj(xbk).*xbk);rmb=rmb(k2+2:2*k2) rmb(1:k2);m1=(-k1+1):(k1-1);m2=(-k2+1):(k2-1);stem(m1,rma);stem(m2,rmb);(上面是Xa下面是Xb)由图可以看出最大值出现在0点,这
10、是因为自相关的两个序列是完全一样的,之间不存在延迟。而且,两个序列的互相关与自相关不相同。六 思考题:(1) 实验中的信号序列Xc(n)和Xd(n),在单位圆上的变化频谱|Xc(exp(jw)|和|Xd(exp(jw)|会相同吗?如果不同,说出哪一个低频分量更多一些,为什么?答:他们的单位圆上的Z变换频谱不同,Xc(n)的时域波形比较平缓,顾其低频分量会多一些。(2) 对于一个有限长度序列进行DFT等价于将该序列周期延拓后进行DFT展开,因为DFS也知识取其中一个周期来运算,所以FFT在一定条件下也可以用以分析周期信号序列。如果实正弦信号sin(2pi*fn)f=0.1用16点FFT来做DFS运算,得到的频谱是信号本身的真实谱吗?为什么?不是信号本身的真实谱。因为原信号的周期是10,因而进行16点FFT时,其16点的周期延拓后的波形已经不再是原来的波形了。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1