% 基2时间抽取的FFT算法
clc
x =[1 2 3 4 5 6 7 ] %输入的信号x
M=nextpow2(x); % 求x的长度对应的2的最低幂次m
N=2^M;
if length(x)<N
x=[x,zeros(1,N-length(x))]; % 若x的长度不是2的幂,补零到2的整数幂
end
nxd=bin2dec(fliplr(dec2bin([1:N]-1,M)))+1; % 求1:2^M数列序号的倒序
y=x(nxd); % 将x倒序排列作为y的初始值
WN=exp(-i*2*pi/N);
for L=1:M
B=2^L/2;%第L级中,每个蝶形的两个输入数据相距B个点,每级有B个不同的旋转因子
for J=0:B-1 % J代表了不同的旋转因子
p=J*2^(M-L);
WNp=WN^p;
for k=J+1:2^L:N % 本次蝶形运算的跨越间隔为2^L
kp=k+B; % 蝶形运算的两个因子对应单元下标的关系
t=y(kp)*WNp; % 蝶形运算的乘积项
y(kp)=y(k)-t; % 蝶形运算, 注意必须先进行减法运算,然后进行加法运算,否则要使用中间变量来传递y(k)
y(k)=y(k)+t; % 蝶形运算
end
end
end
y
y1=fft(x) %自己编的FFT跟直接调用的函数运算以后的结果进行对比
IT狂飙
- 粉丝: 4842
- 资源: 2650
最新资源
- html5新年快乐主题带动画网页设计模板
- 美食点餐系统-JAVA-基于微信美食点餐系统小程序的设计与实现(毕业论文)
- 实时RGB-D多人检测与跟踪系统:适用于移动机器人和头戴摄像头的深度感知方法
- 纵向泵浦固态激光器吸收损耗模型及其对性能的影响
- MATLAB面板 BP的交通标志系统.zip
- 医学图像分析中基于弱监督推断个性化心脏模型的4D心腔表面网格生成技术
- Python网络编程与数据处理任务指南 - 实现基于Socket通信的任务并确保唯一性
- 交通标志照片测试素材集
- MATLAB【面板】 GUI的水果识别.zip
- MATLAB【面板】 ORL的人脸考勤系统.zip
- MATLAB【面板】 GUI漂浮物垃圾分类检测.zip
- MATLAB【面板】 SVM的车牌识别.zip
- 【被动 LQR主动悬架模型】 采用LQR控制的主动悬架模型,选取车身加速度、悬架动挠度等参数构造线性二次型最优控制目标函数 输入为B级随机路面激励,输出为车身垂向加速度、俯仰角加速度、
- 探究回文串的特性及其在计算机科学与多领域中的应用价值
- MATLAB【面板】车标识别.zip
- MATLAB【面板】车道线检测.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈