首页 > 编程知识 正文

快速傅里叶变换matlab程序,matlab实现傅里叶逆变换

时间:2023-05-03 23:56:40 阅读:268053 作者:2224

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);

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。