当前位置: 首页 > news >正文

MATLAB中ifft函数用法

目录

语法

说明

示例

向量的逆变换

填充的矩阵逆变换

​共轭对称向量

算法


        ifft函数的功能是进行快速傅里叶逆变换。

语法

X = ifft(Y)
X = ifft(Y,n)
X = ifft(Y,n,dim)
X = ifft(___,symflag)

说明

​X = ifft(Y) 使用快速傅里叶变换算法计算 Y 的逆离散傅里叶变换。X 与 Y 的大小相同。​

  • 如果 Y 是向量,则 ifft(Y) 返回该向量的逆变换。

  • 如果 Y 是矩阵,则 ifft(Y) 返回该矩阵每一列的逆变换。

  • 如果 Y 是多维数组,则 ifft(Y) 将大小不等于 1 的第一个维度上的值视为向量,并返回每个向量的逆变换。

X = ifft(Y,n) 通过用尾随零填充 Y 以达到长度 n,返回 Y 的 n 点傅里叶逆变换。

X = ifft(Y,n,dim) 返回沿维度 dim 的傅里叶逆变换。例如,如果 Y 是矩阵,则 ifft(Y,n,2) 返回每一行的 n 点逆变换。

X = ifft(___,symflag) 支持上述语法中的任何输入参数组合,且可指定 Y 的对称性。例如,ifft(Y,'symmetric') 将 Y 视为共轭对称。

示例

向量的逆变换

        时空采样数据与频率采样数据间的傅里叶变换及其逆变换。

        创建一个向量并计算其傅里叶变换。

X = [1 2 3 4 5];
Y = fft(X)
Y = 1×5 complex

  15.0000 + 0.0000i  -2.5000 + 3.4410i  -2.5000 + 0.8123i  -2.5000 - 0.8123i  -2.5000 - 3.4410i

        ​计算 Y 的逆变换,结果与原始向量 X 相同。

ifft(Y)
ans = 1×5

     1     2     3     4     5

填充的矩阵逆变换

        ifft 函数允许控制变换的大小。

        创建一个随机的 3×5 矩阵,并计算每一行的 8 点傅里叶逆变换。每一行结果的长度均为 8。

Y = rand(3,5);
n = 8;
X = ifft(Y,n,2);
size(X)
ans = 1×2

     3     8

​共轭对称向量

        对于接近共轭对称的向量,通过指定 'symmetric' 选项,可以更快地计算傅里叶逆变换,还可以确保输出为实数。当计算引入舍入误差时,可能会出现接近共轭对称数据。

        创建一个接近共轭对称的向量 Y,并计算其傅里叶逆变换。然后计算逆变换并指定 'symmetric' 选项,这样可以消除接近 0 的虚部。

Y = [1 2:4+eps(4) 4:-1:2]
Y = 1×7

    1.0000    2.0000    3.0000    4.0000    4.0000    3.0000    2.0000

X = ifft(Y)
X = 1×7 complex

   2.7143 + 0.0000i  -0.7213 + 0.0000i  -0.0440 - 0.0000i  -0.0919 + 0.0000i  -0.0919 - 0.0000i  -0.0440 + 0.0000i  -0.7213 - 0.0000i

Xsym = ifft(Y,'symmetric')
Xsym = 1×7

    2.7143   -0.7213   -0.0440   -0.0919   -0.0919   -0.0440   -0.7213

参数说明

Y — 输入数组

        输入数组,指定为向量、矩阵或多维数组。如果 Y 的类型为 single,则 ifft 本身以单精度进行计算,X 的类型也是 single。否则,X 以 double 类型返回。

n — 逆变换长度

        逆变换长度,指定为 [] 或非负整数标量。通过指定比 Y 的长度更大的变换长度来用零填充 Y,可以提高 ifft 的性能。长度通常指定为 2 的幂或小质数的乘积。如果 n 小于信号的长度,则 ifft 忽略第 n 个条目之后的其余信号值,并返回截断后的结果。如果 n 为 0,则 ifft 返回空矩阵。

dim — 沿其运算的维度

        沿其运算的维度,指定为正整数标量。默认情况下,dim 是大小不等于 1 的第一个数组维度。例如,假设有一个矩阵 Y。

  • ifft(Y,[],1) 返回每一列的傅里叶逆变换。

    ifft(Y,[],1) column-wise operation

  • ifft(Y,[],2) 返回每一行的傅里叶逆变换。

    ifft(Y,[],2) row-wise operation

symflag — 对称类型

        对称类型,指定为 'nonsymmetric' 或 'symmetric'。当 Y 由于舍入误差而导致不完全共轭对称时,ifft(Y,'symmetric') 会通过忽略 Y 的后一半元素(在负频谱中)将它视为共轭对称。

向量的离散傅里叶变换

        Y = fft(X) 和 X = ifft(Y) 分别实现傅里叶变换和傅里叶逆变换。对于长度为 n 的 X 和 Y,这些变换定义如下:

其中

为 n 次单位根之一。

算法

  • ifft 函数测试 Y 中的向量是否共轭对称。如果 Y 中的向量共轭对称,则逆变换的计算速度更快,并且输出为实数。

    如果 g(a)=g∗(−a),则函数 g(a) 为共轭对称函数。然而,时域信号的快速傅里叶变换有一半频谱处于正频率,另一半处于负频率,第一个元素保留用于零频率。因此,当 v(2:end) 等于 conj(v(end:-1:2)) 时,向量 v 为共轭对称向量。

http://www.dtcms.com/a/25851.html

相关文章:

  • MySQL的常见优化策略
  • RT-Thread+STM32L475VET6——ADC采集电压
  • 创建三个节点
  • 通过EDI对接Vitamin Discount Center:高效供应链协作的核心策略
  • 网页制作03-html,css,javascript初认识のhtml的图像设置
  • 【组件安装FAQ】Rocky 8.10 Manager 24.03.3升级到24.10.02
  • Python基于Flask的豆瓣Top250电影数据可视化分析与评分预测系统(附源码,技术说明)
  • 项目管理工具Jira在营销工作管理中的应用与实践
  • 高速PCB设计
  • Bigemap Pro如何设置经纬网出图网格设置
  • 网工项目实践2.6 广域网需求分析及方案制定
  • 数据要素中 数据产权的三权如何分置?
  • Linux下ioctl的应用
  • 框架--Mybatis 2
  • YOLOv12推理详解及部署实现
  • 图解MySQL【日志】——Undo Log
  • 案例-18.文件上传-阿里云OSS-集成
  • 0081.基于springboot+uni-app的垃圾分类小程序+论文
  • PAT乙级( 1018 锤子剪刀布)C语言超详细解析
  • CV -- YOLOv8 图像分割(GPU环境)
  • 【再谈设计模式】迭代器模式~遍历集合元素的利器
  • 数据链路层分析
  • PHP 安全与加密:守护 Web 应用的基石
  • 【C++】类与对象全面剖析(尾卷)(构造深化、类型转换、static成员特性及内部类与匿名对象)
  • Linksys WRT54G路由器溢出漏洞分析–运行环境修复
  • 业务流程中的基准测试 (Benchmarking in Business Processes)介绍
  • 树(数据结构·)
  • 【数据结构初阶第十二节】设计循环队列
  • 在WPF中实现窗口拖拽功能:打造自定义交互体验
  • 管道的学习