原理参考:百度文库PPT
(欢迎指正)
matlab 编写快速傅里叶反变换函数(ifft)(横向读取数据进行变换)

matlab代码:

%快速傅里叶逆变换,不够2的整数幂的个数,末尾自动补齐0
function ret_val = myifft(Vector)
%因为输入的数据可能不是2的整数次幂,补零使得计算更加方便
[m,n]=size(Vector);%输入信号矩阵大小
num=ceil(log2(n));%向上取整
N=2^num;
vector=zeros(m,N);%申请足够大小矩阵
vector(:,1:n)=Vector(:,:);%将变换后的信号输入,不足补零for lines=1:m%循环行数for L=num-1:-1:0%L表示运算等级或者层数dis=2^L;%dis表示奇偶组之间的距离for id=1:2^(num-L-1) %循环当前层数组数%进行同址运算for idx=1:dis%循环组内个数x1=(id-1)*2*dis+idx;%求得奇数数组的索引值x2=(id-1)*2*dis+dis+idx;%对应偶数数组的索引值temp1=(vector(lines,x1)+vector(lines,x2))/2;%中间变量保存相应奇偶数组数据temp2=(vector(lines,x1)-vector(lines,x2))/2*W(L,(x1-1));vector(lines,x1)=temp1;%存入之前地址vector(lines,x2)=temp2;endendend
end
%变址运算,逆推回原来位置
for line=1:m%循环行数j1 = 0;for i = 1 : N%循环个数if i < j1 + 1tmp = vector(line,j1 + 1);vector(line,j1 + 1) = vector(line,i);vector(line,i) =tmp;endk = N / 2;while k <= j1j1 = j1 - k;k = k / 2;endj1 = j1 + k;end
end
ret_val =vector;
function val=W(L,x)%旋转因子当层数为L,索引值为x
val=exp(1j*2*pi*x/2^(L+1));
end
end

输入傅里叶变换后的结果进行反变换*

反变换结果截图
右边图像右下黑框是fft变换过程中补零部分

当然也可以去除黑边框:

说明:函数是对输入数据进行一维横向fft,对于遥感图像要进行二维变换,才能获得如图效果。

matlab 快速傅里叶反变换函数(ifft)编写相关推荐

  1. matlab中频域信号IFFT,MATLAB中ifft函数用法、性质、特性-以及与fft的组合应用全面深入解析(含程序)...

    MATLAB中ifft函数用法.性质.特性,以及与fft的组合应用全面深入解析(含程序) 前言 在我之前的<MATLAB中fft函数用法.性质.特性.缺陷全面深入解析(含程序)>中,我已经 ...

  2. matlab教程lqg函数与收敛速度,科学网—Matlab编写由加速度积分得到速度和位移函数 - 王德才的博文...

    研究中经常会用到将加速度数据积分成速度和位移,对前几年编写的程序重新进行了改写.为了测试和验证peer2acc函数.dirFolder函数和acc2vd函数,编写了一个简单的测试程序 acc2vd函数 ...

  3. matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计.doc

    实验四:函数编写与程序设计 一.实验目的1 . 掌握M文件的创建. 2.掌握函数的编写规则. 3.掌握函数的调用. 4 . 掌握基本的输入输出函数以及显示函数的用法. 5.会用Matlab程序设计实现 ...

  4. matlab实验函数编写与程序设计,matlab实验四函数编写与程序设计

    <matlab实验四函数编写与程序设计>由会员分享,可在线阅读,更多相关<matlab实验四函数编写与程序设计(8页珍藏版)>请在金锄头文库上搜索. 1.实验四:函数编写与程序 ...

  5. matlab中ode指令,matlab中ode5函数编写.doc

    matlab中ode5函数编写 function varargout = ode45(ode,tspan,y0,options,varargin) %ODE45 Solve non-stiff dif ...

  6. 【Matlab】如何规范地编写一个MATLAB函数文件

    在matlab中,M文件分为脚本文件和函数文件.如果M文件的第一个可执行语句以function开头,那这个M文件就是函数文件.函数文件内定义的变量为局部变量,只在函数文件内部起作用,当函数文件执行完后 ...

  7. 基于MATLAB的数论运算与编写函数(附完整代码)

    目录 一. 基本数论运算 例题1 例题2 例题3 例题4 二. 循环结构 2.1 for 结构 2.2 while结构 例题5 例题6 例题7 三. 转移结构 例题8 四. 开关结构与试探结构 4.1 ...

  8. matlab转换为部分分式,用MATLAB的residuez函数,求出下列各式的部分分式展开式和反变换f[n]。 说明:residuez函数...

    用MATLAB的residuez函数,求出下列各式的部分分式展开式和反变换f[n]. 说明:residuez函数 更多相关问题 需求价格弹性反映需求量与价格之间的敏感程度.( ) (2.0分) 实验( ...

  9. MATLAB数字信号处理函数

    MATLAB数字信号处理函数(自学笔记4) 笔者正在学习matlab的m函数,本文为学习笔记的其中之一.本文主要介绍数字信号处理相关的函数. 文章目录 MATLAB数字信号处理函数(自学笔记4) FI ...

  10. matlab的fft与ifft,fft与ifft区别

    OFDM是如何利用FFT和IFFT技术实现的_信息与通信_工程科技_专业资料.1.LTE 在广义上说只有一个载波,FDD 是上行和下行的载波分配在不同的频点,TDD 是在 同一个...... Matl ...

最新文章

  1. 上传图片并生成缩略图
  2. Python核心编程学习日记之错误处理
  3. 1111B - Average Superhero Gang Power
  4. js/jquery判断浏览器 停止加载
  5. elasticsearch配置文件解析
  6. linux dmaengine编程
  7. 软件测试人员的三重境界
  8. ask调制流程图_FSK、MSK、ASK调制方式自动识别模块分析设计
  9. linux 网桥配置命令:brctl
  10. 西数桌面云储存服务器,小白折腾NAS 篇九:超详细拆解小记 — Western Digital 西部数据 Elements 桌面硬盘12TB...
  11. JDBC操作MYSQL数据库
  12. 计算机代码查重软件,文件查重程序
  13. surface surfaceTexture
  14. Springboot查看MANIFEST.MF信息
  15. 华为MAC-VLAN举例
  16. mom和mes系统有哪些异同点?
  17. 公安部称游街示众的执法方式严重违规
  18. 4.2w字,详细的带你认识基础I/O【Linux--基础IO】
  19. Python-----(3)数
  20. 《抽样技术》第3章 分层随机抽样(st)

热门文章

  1. 浅解一下BS和CS的区别
  2. jmeter使用心得(一)
  3. 在开放环境的步态识别:一个基准(二)
  4. 华硕飞行堡垒Fx50j4200H 4600HD 黑苹果High Sierra10.13.6心得
  5. 互联网企业该如何进行风险管理
  6. Python项目如何打包成whl文件
  7. unity中移动的九种方法
  8. 搭建opensips进行简单的注册、呼叫
  9. 【Linux】SCP 拷贝命令
  10. 数据库如何增加表中字段