📄 exam1_2.m
字号:
%实验1-2
%用两个N点FFT计算一个长度为2N的实数序列的2N点离散傅里叶变换
%并将结果同直接使用一个2N点离散傅里叶变换得到的结果进行比较
clear
clc
%产生信号
N=1024;
v=sin(20.*linspace(0,pi,2*N))+0.5.*rand(1,2*N);
%用两个N点FFT计算一个长度为2N的实数序列的2N点离散傅里叶变换,结果为y
%先分离奇数项和偶数项
g=v(1:2:2*N-1);
h=v(2:2:2*N);
y1=ditfft(g);
y2=ditfft(h);
Wn=1;
w=exp(-i*pi/N);
for k=1:N
t=y2(k)*Wn;
y2(k)=y1(k)-t;
y1(k)=y1(k)+t;
Wn=Wn*w;
end
y=[y1,y2]
%与直接用2N点计算的进行比较
yy=ditfft(v)
if (y-yy)<=0.000000000001 & (y-yy)>-0.000000000001
'两者的计算结果相同'
else
'两者的计算结果不同'
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -