已知x(n)为N点序列,n=0,1,2..N-1,N为偶数,其DFT 为X(K)。 (1)y1(n)=x(n/2);n为偶数,0;n为奇数。所以

(1)y1(n)=x(n/2);n为偶数,0;n为奇数。所以y1(n)为2N点序列。试用X(K)表示Y1(k)
(2)令y(n)=x(N-1-n),y2=(-1)^n*x(n),且有y2(n),y3(n)都是N点序列,N为偶数。试用X
(K)表示Y2(k),Y3(k)。
试用matlab编程

第1个回答  推荐于2018-03-19
这个不好用Matlab编程吧,Matlab只能做个验证,而且还必须输入一定的序列。
对于未知的N以及未知的x[n]不好办的。
先上理论推导:
(1)Y1[k]=对n个求和(y1[n]exp(-j(2pi/2N)kn)) n=0,1,…,2N-1,k=0,1,…,2N-1
将y1[n]=x[n/2]代入上面的等式中,注意这时候求和的时候n要为偶数。
使用m=n/2替换掉上面的n,最终我可以得到这样的式子:
Y1[k]=求m求和(x[m]exp(-j(2pi/N)km)),m=0,1,…,N-1,k=0,1,…,2N-1
这样我们就获得了Y1[k]的表达式:Y1[k]=X[k] 0=<k<=N-1,Y1[k] = X[k-N] N=<k<=2N-1
说白了y1[n]是x[n]的增采样,或者叫内插0
(2)同理,Y3[k]=exp(j(2pi/N)k)X[-k]
(-1)^n=exp(j pi n)于是乎,Y2[k]=X[k+N/2] 0=<k<=N/2-1,Y2[k]=X[k-N/2], N/2=<k<=N-1

Matlab代码写起来很容易的:
下面是一个例子:
>> x=[1,-1,1,-1];
>> xfft = fft(x,4);
>> y1=[1,0,-1,0,1,0,-1,0];
>> y1fft=fft(y1,8);
>> y2=x.*x;
>> y2fft=fft(y2,4);
>> y3 = [-1,1,-1,1];
>> y3fft=fft(y3,4);

自己在WorkSpace里面核对下理论推导和仿真的关系就很清楚了

这个DFT的关系,只要记住循环对称性,以及只取一个周期,其它认为是0就很容易了
理论推导的时候需要注意每个变量的范围就OK了:)本回答被网友采纳
相似回答