📄 shiyan355555.m
字号:
%实验内容2 2N点序列 x[k]=cos(2*pi/N*7*k)+1/2*cos(2*pi/N*19*k) k=0……2N-1
%N=64 用一个64点的复数FFT程序,一次算出 X[m] ,并绘出|X[m]|
N=64;
k=0:2*N-1;
x=cos(2*pi/N*7*k)+1/2*cos(2*pi/N*19*k);
F_64=fft(x);
subplot(2,2,1);
stem(k/128,abs(F_64));title('序列x(k)图形');
%%一次性用64点复数来算
%获得偶数坐标的对应序列
%---------------实验要求一
N=64;
x=zeros(1,128);
u=zeros(1,128);
y=zeros(1,64);
for k=0:2*N-1
x(k+1)=cos(2*pi*7*k/N)+0.5*cos(2*pi*19*k/N);
end
for k=1:64
y(k)=x(2*k)+x(2*k-1)*i;% 偶数位做虚部,即x(1),x(3)...x(127),因为x下标从1开始
end
t=fft2(y);
% u(m),u(m+64)分别是实部和虚部的dft,即是x(k)的奇数位和偶数位的fft
for m=2:64
u(m)=0.5*(t(m)+t(66-m)');
u(m+64)=-0.5*i*(t(m)-t(66-m)');
end
u(1)=0.5*(t(1)+t(1)');
u(65)=-0.5*i*(t(1)-t(1)');
% 利用书本上公式3-32,y(m),t(m)串接构成x(k)的fft
for m=1:64
y(m)=u(m+64)+u(m)*exp(-i*m*2*pi/128);
t(m)=u(m+64)-u(m)*exp(-i*m*2*pi/128);
end
for m=1:64
u(m)=y(m);
u(m+64)=t(m);
end
k=1:128;
subplot(2,2,2);
stem(k,abs(x));title('序列x(k)图形');
subplot(2,2,3);
stem(k/128,abs(u));title('序列x(k)图形');
v=ifft(u,128);
subplot(2,2,4);
stem(k,abs(v));title('x(k)的dft的反变换图形');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -