⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exfft.m

📁 基于EMCA368国际标准的物理层超宽带协议的基本仿真程序,都是自己编写的
💻 M
字号:
function FD = exfft(TD,r)
%----------------------------------
%   Name:   exfft
%   Param: 
%           TD      -时域序列
%           r       -2的幂数,即迭代次数
%   Return:
%           FD      -频域序列
%   Desc:   对给定的序列进行快速傅立叶变换
%   By:     
%-----------------------------------
count = 2^r;    % 计算变换点数

% 分别用来保存蝶形运算的输入和输出
X1 = zeros(1,2^r);
X2 = zeros(1,2^r);


% 计算加权系数
W = zeros(1,count/2);
for j=1:count/2
    angle = j*3.1415926*2/count;
    W(1,j)=cos(angle)-i*sin(angle);
end

% 采用蝶形算法进行快速傅立叶变换
X1=TD;
for k=1:r   % 迭代次数
    for j=1:(2^k)     % 该次迭代有 2*k 个部分
        bfSize = 2^(r-k);   % 每部分的点数
        for l=1:bfSize/2
            p=(j-1)*bfSize;
            X2(1,l+p) = X1(1,l+p) + X1(1,l+p+bfSize/2);
            X2(1,l+p+bfSize/2) = (X1(1,l+p) - X1(1,l+p+bfSize/2))*W(1,l*(2^k));
        end
    end
    % 将结果X2作为下一次迭代的输入
    X=X1;
    X1=X2;
    X2=X;
end
% 重新排序
FD=bitrevorder(X2)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -