function y=my_DitFFT(xn)
M=nextpow2(length(xn));
N=2^M;
disp('调用fft运算结果:'),
fftxn=fft(xn,N);
if length(xn)<N
xn=[xn,zeros(1,N-length(xn))];
end
for m=0:N/2-1;%旋转因子指数范围
WN(m+1)=exp(-j*2*pi/N)^m;%计算旋转因子
end
disp('输入到各存储单元的数据:'),disp(xn);
%数据倒序操作
J=0;%给倒序数赋初值
for I=0:N-1;%按序交换数据和算倒序数
if I<J;%条件判断及数据交换
T=xn(I+1);xn(I+1)=xn(J+1);xn(J+1)=T;
end
%算下一个倒序数
K=N/2;
while J>=K;
J=J-K;K=K/2;
end
J=J+K;
end
disp('倒序后各存储单元的数据:'),
disp(xn);
% 分级按序依次进行蝶形运算
for L=1:M;%分级计算
disp('运算级次:'),disp(L);
B=2^(L-1);
for R=0:B-1;%各级按序蝶算
P=2^(M-L)*R;
for K=R:2^L:N-2;%每序依次计算
T=xn(K+1)+xn(K+B+1)*WN(P+1);
xn(K+B+1)=xn(K+1)-xn(K+B+1)*WN(P+1);
xn(K+1)=T;
end
end
disp('本级运算后各存储单元的数据:'),disp(xn);
end
工大MATLAB课程设计
51 浏览量
2023-08-16
10:09:31
上传
评论
收藏 1.15MB ZIP 举报
Logan.
- 粉丝: 14
- 资源: 18
最新资源
- 第三讲python基础day03.zip
- 《STM32单片机+DHT11温湿度+MQ2烟雾浓度+光照电阻+热敏电阻+OLED屏幕+舵机+蜂鸣器+LED灯》源代码
- 3m链板线.STEP
- labview第十一次作业(不含最后一个调用excel程序包) 表格创建写入读取
- 基于C语言+STM32开发的Marlin三轴机械臂控制程序+源码(高分优秀项目)
- 【学生课程实验】深入浅出Python编程python-tutorial全解
- 基于co-revDSD方法的计算程序
- 利用python的pyautogui函数实现简单的自动化操作
- 大连海事大学/信号与系统实验代码
- 基于c#和Unity3D做的机械臂仿真系统+源码(高分优秀项目)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈