0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

离散傅里叶变换及其应用简析

冬至子 来源:数云密码 作者:陶洪耀 2023-09-17 15:20 次阅读

傅里叶变换(Fourier Transform)是一种数学工具,用于将一个函数(通常是时间域函数)转换成另一个函数(通常是频域函数),以分析该函数的频率特性。傅里叶变换是工程、物理学、计算机科学、图像处理、音频信号处理以及量子物理等多个领域中常用的一种数学方法。

时间域和频域是信号或函数的两种不同表示方式,它们包含的是同样的信息,只是从不同的角度进行展示。傅里叶变换(Fourier Transform)和其逆变换(Inverse Fourier Transform)是从时间域到频域、以及从频域到时间域进行转换的数学工具。

通过傅里叶分析,你可以将一个时间域函数转换到频域来分析它,或者将一个频域函数转回时间域以重构它。这两种表示方式各有其优点和应用场景。例如,在信号处理、通信、图像处理等多个领域,频域分析提供了很多方便和高效的方法。

时间域函数

在时间域 (Time Domain) 中,信号或函数是按照时间变量 (通常表示为 t ) 来描述的。在这个表示中,你可以看到信号是如何随着时间变化的。时间域表示是直观的,因为它正是我们在现实世界中观察信号的方式。例如,声音波、电信号等都可以在时间域中表示。举个简单的例子,正弦波 Asin⁡(2πωt+ϕ) 是一个时间域函数,其中 A 是振幅, ω 是频率, ϕ 是相位角, t 是时间。

频域函数

频域(Frequency Domain)表示则是关注信号各个不同频率成分的强度或相位。在频域表示中,信号被表达为一系列正弦和余弦波的组合,这些正弦和余弦波有不同的频率和振幅。这样的表示使得我们能更容易地分析和理解信号的频率特性。例如,傅里叶变换是一种常用的从时间域到频域的转换方法。在该变换后,将得到一个频域函数,通常表示为 F(f) 或 F(ω) ,其中 f 或 ω 是频率或角频率。

图片

我们知道,任何周期函数在满足狄利克雷条件下 (连续或只有有限个间断点,且都是第一类间断点;只有有限个极值点),都可以展开成一组正交函数的无穷级数之和。使用三角函数集的周期函数展开就是傅里叶级数。对于周期为 T 的信号 f(t) ,可以用三角函数集的线性组合来表示,即

图片

式中 ω=2π/T 是周期信号的角频率,也成基波频率, nω 称为 n 次谐波频率; 图片为信号的直流分量,图片图片分别是余弦分量和正弦分量幅度。根据级数理论,傅里叶系数图片图片图片的计算公式为:

图片

若将式子中同频率的正弦项和余弦项合并,得到另一种形式的周期信号的傅里叶级数,即

图片

其中,图片为信号的直流分量;图片为信号的基频分量,简称基波;图片为信号的 n 次谐波, n 比较大的谐波,称为高次谐波。上式说明任何周 期信号只要满足狄利克雷条件,都可以分解成直流分量和一系列谐波分量之和,这些谐波分量的频率是周期信号基频的整数倍。比较两种三角函数形式的傅里叶级数,可以看出它们的系数有如下关系:

图片

傅里叶变换适用于非周期性函数,将一个时间域函数转换为其对应的频域函数。可以将傅里叶级数看作是傅里叶变换的一个特殊情况。考虑一个周期为 T 的函数。如果 T 趋于无穷,这意味着函数是非周期性的,此时傅里叶级数会趋向于傅里叶变换。

连续傅里叶变换

对于连续函数 f(t) ,其连续傅里叶变换定义为:

图片

逆变换是:

图片

离散傅里叶变换

对于离散信号,有离散傅里叶变换 (DFT) :

图片

其逆变换是:

图片

离散傅里叶变换在多项式乘法中的应用

对于n-1阶多项式图片可以用n个点唯一表示(复数的点也是可以的)。令图片图片,k=1,…,n-1

图片

只要我们可以求出矩阵的逆,就能反推出这个 Q 的系数。这个矩阵的逆的形式:

图片

快速傅里叶变换(Fast Fourier Transform,简称FFT)是离散傅里叶变换(Discrete Fourier Transform,简称DFT)的一种高效算法。FFT能在 O(NlogN) 的时间复杂度内完成这一变换,而直接计算 DFT需要 O(N^2^) 的时间复杂度。

FFT基于一种名为“分治法”的递归策略,它将一个大问题分解为几个更小的子问题来解决。对于一个 N 点的DFT,FFT会把它分成两个 N/2 点的DFT,并递归地进行这个过程。

具体来说,FFT算法采用以下步骤:

  1. 分解阶段:原始 N 点DFT分解为两个 N/2 点的子序列,一个包含所有的偶数索引,另一个包含所有的奇数索引。
  2. 递归阶段: 对这两个 N/2 点子序列递归地应用FFT。
  3. 组合阶段:使用递归解的结果,通过一系列的复数乘法和加法,组合得到原始N点DFT的结果。

原始的DFT定义为:

图片

在FFT中,这个和会被分成两部分:一部分是偶数索引,另一部分是奇数索引:

图片

其中 E[k] 和 O[k] 是偶数和奇数序列的DFT。

具体例子

假设我们有一个 4 点的序列 x=[0,1,2,3] 。

  1. 分解

偶数序列 e=[0,2]

奇数序列 o=[1,3]

  1. 递归求解

图片

  1. 合并

图片

所以 X=[6,0,-2,-4] ,这就是序列 x 的DFT。这个过程大大减少了计算量,当 N 是2 的幂时,效率最高。

图片

我们总结一下该过程的时间复杂度如下:

  1. DFT阶段: 将两个 n 度的多项式 A(x) 和 B(x) 使用FFT转换到点值表示,分别得到 A(k) 和 B(k) 。时间复杂度为 2×O(nlogn)=O(nlogn) 。
  2. 乘法阶段:在点值表示下,将 A(k) 和 B(k) 对应点值相乘得到 C(k) 。这是个 O(n) 时间复杂度的操作。
  3. IDFT阶段:再次使用FFT (实际上是其逆变换IDFT)将 C(k) 转换回系数表示得到 C(x) , 即 A(x)×B(x) 。时间复杂度是 O(nlogn) 。综合这三个阶段,总时间复杂度为 O(nlogn)+O(n)+O(nlogn)=O(nlogn) 。

数论变换(NTT)是有限域上离散傅里叶变化的一个变体。由于离散傅里叶变换是基于复数域上的变换,大多是浮点运算,故存在着一定的精度和效率问题。在许多应用中,需要对整数商环上的多项式进行变换,在这种情况下离散傅里叶变换的性能无法满足要求。而NTT直接对整数进行处理而无需考虑浮点数中的存储问题和精度问题,避免了浮点计算,大大提高了运算效率,非常适合基于LWE或RLWE难题的密码系统。

数论变换(NTT)是整数环图片上定义的线性正交变换。设x(i),X(k)∈图片,i=0,1,2…,n-1,k=0,1,2,…,n-1,有如下公式:

图片

图片

公式中ω为模q的n次单位原根,满足

图片

图片

n为整数并且存在n^-1^满足

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FFT
    FFT
    +关注

    关注

    15

    文章

    434

    浏览量

    59315
  • 浮点运算
    +关注

    关注

    0

    文章

    19

    浏览量

    11158
  • DFT
    DFT
    +关注

    关注

    2

    文章

    224

    浏览量

    22681
  • 傅里叶变换
    +关注

    关注

    6

    文章

    438

    浏览量

    42566
  • NTT
    NTT
    +关注

    关注

    2

    文章

    51

    浏览量

    12935
收藏 人收藏

    评论

    相关推荐

    如何用LABVIEW做一个关于离散傅里叶变换

    各位如何用LABVIEW做一个关于离散傅里叶变换??!!!
    发表于 04-08 21:59

    离散傅里叶变换及其快速算法

    离散傅里叶变换及其快速算法离散傅里叶变换 (Discrete Fourier Transform,DFT)是时间函数是
    发表于 10-30 12:54 33次下载

    有限长离散变换-离散傅里叶变换

    离散傅里叶变换是一种在时域和频域均离散傅里叶变换.
    发表于 02-23 09:30 49次下载
    有限长<b class='flag-5'>离散</b><b class='flag-5'>变换</b>-<b class='flag-5'>离散</b><b class='flag-5'>傅里叶变换</b>

    离散傅里叶变换

    《OpenCV3编程入门》书本配套源代码:离散傅里叶变换
    发表于 06-06 15:39 5次下载

    离散傅里叶变换-作业

    第三章-离散傅里叶变换-作业
    发表于 12-28 14:23 0次下载

    离散傅里叶变换及其快速计算方法

    第三章-离散傅里叶变换及其快速计算方法
    发表于 12-28 14:23 0次下载

    离散傅里叶变换

    第三章-离散傅里叶变换
    发表于 12-28 14:23 0次下载

    离散傅里叶变换(DFT)

    第3章--离散傅里叶变换(DFT)
    发表于 12-28 14:23 0次下载

    离散傅里叶变换及其快速计算方法

    第三章 离散傅里叶变换及其快速计算方法
    发表于 12-28 14:23 0次下载

    离散傅里叶变换(DFT)及其快速算法(FFT)

    第2章-离散傅里叶变换(DFT)及其快速算法(FFT)
    发表于 12-28 14:23 0次下载

    离散傅里叶变换及其快速计算方法

    离散傅里叶变换及其快速计算方法
    发表于 12-28 14:23 2次下载

    傅里叶变换的实现方法

    傅里叶变换的实现方法  傅里叶变换是一种将信号在时间域和频率域之间相互转换的数学工具。它的实现方法有很多种,其中最常见的是离散傅里叶变换(DFT)和快速
    的头像 发表于 09-07 16:47 1242次阅读

    傅里叶变换离散傅里叶变换的关系

    傅里叶变换离散傅里叶变换的关系 傅里叶变换(Fourier Transform)是一种将时间域(或空间域)的信号转换为频率域(或波数域)的信号的数学工具。而
    的头像 发表于 09-07 17:04 2501次阅读

    傅里叶变换的定义 傅里叶变换的意义

    连续傅里叶变换离散傅里叶变换。最初傅里叶分析是作为热过程的解析分析的工具被提出的。 傅里叶变换的意义主要体现在以下几个方面: 1. 频谱分析:傅里
    的头像 发表于 11-30 15:32 1959次阅读

    如何实现离散傅里叶变换

    离散傅里叶变换(DFT)是将离散时序信号从时间域变换到频率域的数学工具,其实现方法有多种,以下介绍几种常见的实现方案: 一、直接计算法 直接依据离散
    的头像 发表于 11-14 09:35 162次阅读