x1(n)=x(n)?cos5?5?n,0?n?128,x2(n)=x(n)?sinn,0?n?128 1616组合成复数序列x(n)=cos求得相应的结果。 (2)matlab源程序:
5?5?n?jsinn,0?n?128,根据实验原理就可以1616function [gg,aa] = gongshijun1() n=0:128;
xn=cos(56.25*n)+1i*sin(56.25*n); xk=fft(xn,128);
xnk=cos(56.25*(128-n))+1i*sin(56.25*(128-n)); xnkk=fft(xnk,128); gg=0.5*(xk+conj(xnkk)); aa=-(1i)*0.5*(xk-conj(xnkk)); m=0:length(gg)-1;
plot(m,gg,'k:',m,aa,'b-'); end
(3)实验结果截图:
(4)实验图截图:
(3) 利用DFT的方式计算下面两序列的线性卷积:
g[n]={3, 4, -2, 0, 1, -4},h[n]={1, -3, 0, 4, -2, 3}
(1)实验分析:
用FFT法也就是用圆周卷积来代替线性卷积,为了不产生混跌,其必要条件是使用g(n),h(n)都补零值点,补到至少N=M+L-1(M=6,L=6),即
h(n),0?n?5 g(n)?{,h(n)?{
0,6?n?110,6?n?11然后计算圆周卷积
y(n)?x(n)?h(n) 这时,y(n)就能代表线性卷积的结果。 用FFT计算y(n)值得步骤如下: (1)求H(k)=DFT[h(n)],N点; (2)求G(k)=DFT[g(n)],N点;
g(n),0?n?5(3)计算Y(k)=H(k)G(k); (4)求y(n)=IDFT[Y(k)],N点。 (2)matlab源程序:
function gg = gongshijun( ) g= [3,4,-2,0,1,-4,0,0,0,0,0,0]; h= [1,-3,0,4,-2,3,0,0,0,0,0,0]; Gk= fft(g,11); Hk= fft(h,11); Yk= Gk.*Hk; gg= ifft(Yk,11); n=0:length(gg)-1; plot(n,gg,'k.'); (2)实验结果和实验图截图: