傅里叶逆变换程序matlab,按时间抽取基2-快速傅里叶逆变换算法_MATLAB代码

function x=MyIFFT_TB(y)

%MyIFFT_TB:My Inverse Fast Fourier Transform Time Based

%按时间抽取基2-傅里叶逆变换算法

%input:

% y -- 傅里叶正变换结果,1*N的向量

%output:

% x -- 逆变换结果,1*N的向量

%参考文献:

% http://www.doczj.com/doc/415f0f0976c66137ee0619b6.html/view/fea1e985b9d528ea81c779ee.html

N=length(y);

x=conj(y); %求共轭

x=MyFFT_TB(x);%求FFT

x=conj(x);%求共轭

x=x./N;%除以N

end

%% 内嵌函数====================================================== function y=MyFFT_TB(x,n)

%MYFFT_TB:My Fast Fourier Transform Time Based

%按时间抽取基2-fft算法

%input:

% x -- 输入的一维样本

% n -- 变换长度,缺省时n=length(x) 当n小于x数据长度时,x数据被截断到第n个数据% 当n大于时,x数据在尾部补0直到x 含n个数据

%output:

% y -- 1*n的向量,快速傅里叶变换结果

%variable define:

% N -- 一维数据x的长度

% xtem -- 临时储存x数据用

% m,M -- 对N进行分解N=2^m*M,M为不能被2整除的整数

% two_m -- 2^m

% adr -- 变址,1*N的向量

% l -- 当前蝶形运算的级数

% W -- 长为N/2的向量,记录W(0,N),W(1,N),...W(N/2-1,N)

% d -- 蝶形运算两点间距离

% t -- 第l级蝶形运算含有的奇偶数组的个数

% mul -- 标量,乘数

% ind1,ind2 -- 标量,下标

% tem -- 标量,用于临时储存

%% 输入参数个数检查

msg=nargchk(1,2,nargin);

error(msg);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值