1、周期序列的离散傅里叶级数
离散周期序列x(n)~满足x(n)=x(n+rN)
x(n)~=IDFS[ X(k)~ ] X(k)~=DFS[ x(n)~ ]
周期序列的频谱X(k)~也是一个以N为周期的周期序列
2、由离散时间傅里叶变换的定义:信号在时域上是离散的、非周期的,而在频域上是连续的、周期性的
3、DFT的线性性质:
y(n)=a * x1(n) + b * x2(n) 长度分别为N1和N2
则y(n)的N点DFT为Y(k)=a * X1(k) + b* X2(k) N=max[N1,N2]
4、DFT的循环移位性质:
如果有限长序列x(n)长度为N,将x(n)左移m位,则
有限长序列的移位也称循环移位,原因是将x(n)左移m位时,移出的m位又依次从右端进入主值区
5、DFT的循环折叠性质:
序列x(n)的折叠可以由y=x(mod(-nx,N)+1)得到
figure(1)
N=7;
x=[1,2,3,4,3,2,1];
xn=[x,x];
n=0:2*N-1;
k=0:2*N-1;
stem(n,xn,'filled');xlabel('n');ylabel('x(n)');title('x(n)序列波形');
%part1:
figure(2)
Xk=xn*exp(-j*2*pi/N).^(n'*k);%离散傅里叶级数变换
stem(k,abs(Xk),'filled');title('幅度谱')%幅度谱
figure(3)
stem(k,abs(Xk),'filled');title('相位谱')%相位谱
%part2
figure(4)
x=(Xk*exp(j*2*pi/N).^(n'*k))/N;%逆变换
stem(n,abs(x),'filled');title('傅里叶级数逆变换')%显示逆变换结果
figure(5)%part1
xn=[1,1,0,0];
N=4;
n=0:N-1;
k=0:N-1;
n_=0:3*N-1;
k_=0:3*N-1;
xn_=[xn,xn,xn];
subplot(2,1,1);stem(n,xn,'filled');title('x(n)');
subplot(2,1,2);stem(n_,xn_,'filled');title('x(n)~');
figure(6)
Xk=xn_*exp(-j*2*pi/N).^(n_'*k_);%离散傅里叶级数变换
subplot(2,1,1);stem(k_,abs(Xk),'filled');title('|X(k)~|');
subplot(2,1,2);stem(k_,angle(Xk),'filled');title('arg[X(k)~]');
figure(7)%part1
xn=[7,5,6,4,3,2];
N=length(xn);
n=0:N-1;
k=0:N-1;
Xk=xn*exp(-j*2*pi/N).^(n'*k);%离散傅里叶变换
x=(Xk*exp(j*2*pi/N).^(n'*k));%离散傅里叶逆变换
subplot(2,1,1);stem(k,abs(Xk),'filled');title('|X(k)|');
subplot(2,1,2);stem(k,angle(Xk),'filled');title('arg[X(k)]');
figure(8)%part2
subplot(2,1,1);stem(n,xn,'filled');title('x(n)');
subplot(2,1,2);stem(n,abs(x),'filled');title('arg[X(k)]');
figure(9)%part1
xn=[7,6,5,3,4,2];
N=length(xn);
subplot(2,1,1);stem(0:N-1,xn,'filled');title('x(n)主值序列');
n=0:3*N-1;xnt=[xn,xn,xn];
subplot(2,1,2);stem(n,xnt,'filled');title('x(n)周期序列');
figure(10)%part2
k=0:3*N-1;
Xk=xnt*exp(-j*2*pi/N).^(n'*k);%离散傅里叶变换
subplot(2,1,1);stem(k,abs(Xk),'filled');title('|X(k)|');
subplot(2,1,2);stem(k,angle(Xk),'filled');title('arg[X(k)]');
figure(11)
xn=[7,6,5,4,3,2];
n=0:length(xn)-1;
stem(n,xn,'filled');title('原信号x(n)');
figure(12)
w=linspace(-2*pi,2*pi,200);%将区间分成200份
X=xn*exp(-j*n'*w);
subplot(2,1,1);plot(w,abs(X));title('|X(k)~|');
subplot(2,1,2);plot(w,angle(X));title('arg[X(k)~]');
figure(13)
N=100;
xn_=[7,6,5,4,3,2,zeros(1,N-6)];
n=0:N-1;
k=0:N-1;
Xk=xn_*exp(-j*2*pi/N).^(n'*k);%离散傅里叶变换
subplot(2,1,1);stem(k,abs(Xk),'filled');title('|X(k)|');%幅度谱
subplot(2,1,2);stem(k,angle(Xk),'filled');title('arg[X(k)]');%相位谱
figure(14)
xn=[8,7,6,5,4,3,2,1];
Ln=length(xn);
N=10;%循环长度
xn_=[xn,zeros(1,10-Ln)];
n=0:9;
k=0:9;
Xk=xn_*exp(-j*2*pi/N).^(n'*k)%离散傅里叶变换
subplot(3,1,1);stem(n,xn_,'filled');title('x(n) N=10');
subplot(3,1,2);stem(k,real(Xk),'filled');title('real(X(k))');
subplot(3,1,3);stem(n,imag(Xk),'filled');title('imag(X(k))');
figure(15)
yn_=xn_(mod(-n,10)+1);
subplot(3,1,1);stem(n,yn_,'filled');title('时域折叠后的函数');
Yk=yn_*exp(-j*2*pi/N).^(n'*k)%离散傅里叶变换
subplot(3,1,2);stem(k,real(Yk),'filled');title('时域折叠后对应的DFT real(Y(k))');
subplot(3,1,3);stem(k,imag(Yk),'filled');title('时域折叠后对应的DFT imag(Y(k))');
disp('得证:在时域折叠后的函数,其对应的DFT在频域也循环折叠,并取X(k)的共轭')