声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 873|回复: 0

[综合讨论] 关于基4时间抽取FFT程序的循环设置

[复制链接]
发表于 2007-12-7 16:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
最近想做下分裂基的FFT,可是在编写基4时间抽取FFT程序的过程中遇到了程序循环算法的问题,想跟大家一起讨论讨论.
function[y]=czffttb4(x)
% The program can be used to Fast Fourier Transform.
% The different between czfft-4 and czfft-2 is the length of the short singal.
% x:input
% y:output
n=fix(log2(x)/2);
%-------------------------------分析:基4的fft不能用倒序的方法对原序列进行排列。
l=length(x);   
x1(1,:)=x(1:2:l-1);
x1(2,:)=x(2:2:l);
l2=size(x1,2);
x2(1,:)=x1(1,1:2:l2-1)
x2(2,:)=x1(2,1:2:l2-1)
x2(3,:)=x1(1,2:2:l2);
x2(4,:)=x1(2,2:2:l2);
%--------------------------------完成切分
x2=x2'
h=[1 1 1 1
   1 -j -1 j
   1 -1 1 -1
   1 j -1 -j]
for i=1:4
    x2(:,i)=h* x2(:,i)
end
x2=conj(x2)'
wn=exp(-j*2*pi/l)
m=size(x2,2)
for i=0:m-1
    w(1,i+1)=1
    w(2,i+1)=(wn)^i
    w(3,i+1)=(wn)^(2.*i)
    w(4,i+1)=(wn)^(3.*i)
end
y=h*(x2.*w)
经过测试,本程序已经能够计算序列长为16的FFT,但要想做到更大的兼容性,需要添加许多循环程序来实现.希望大家能多出注意多提想法,同时对于本程序有什么意见和建议大家也可以提出,都是初学者多交流交流总有好处的,谢谢.

[ 本帖最后由 花如月 于 2007-12-7 18:18 编辑 ]

评分

1

查看全部评分

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 14:04 , Processed in 0.090617 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表