【数字信号处理】傅里叶变换的离散性与周期性

傅里叶变换的离散性与周期性

2023年11月21日
#elecEngeneer


文章目录

  • 傅里叶变换的离散性与周期性
    • 1. 符号说明
    • 2. 具体分析
    • 3. 序列的序号表示的DFT
    • 下链


1. 符号说明

t : 连续时间(时域)变量 ω : 频域变量,aka角频率 g : 时域函数 G : 频域函数 n : 时域采样序列序号 k : 频域采样序列序号 T p : 时域函数的周期,单位s T s : 时域采样周期,时间序列的间隔,单位s ω p : 频域函数的周期,单位rad/s ω s : 频域采样周期,频率序列的间隔,单位rad/s,也是傅里叶变换的分辨率 N : 采样序列长度 频谱 : 频域函数的幅度图像 \begin{align*} t& \text{ : 连续时间(时域)变量} \\ \omega & \text{ : 频域变量,aka角频率} \\ g& \text{ : 时域函数} \\ G& \text{ : 频域函数} \\ n& \text{ : 时域采样序列序号} \\ k & \text{ : 频域采样序列序号} \\ T_p & \text{ : 时域函数的周期,单位s} \\ T_s& \text{ : 时域采样周期,时间序列的间隔,单位s} \\ \omega_{p} & \text{ : 频域函数的周期,单位rad/s} \\ \omega_s & \text{ : 频域采样周期,频率序列的间隔,单位rad/s,也是傅里叶变换的分辨率} \\ N & \text{ : 采样序列长度} \\ \text{频谱} & \text{ : 频域函数的幅度图像} \end{align*} tωgGnkTpTsωpωsN频谱 : 连续时间(时域)变量 : 频域变量,aka角频率 : 时域函数 : 频域函数 : 时域采样序列序号 : 频域采样序列序号 : 时域函数的周期,单位s : 时域采样周期,时间序列的间隔,单位s : 频域函数的周期,单位rad/s : 频域采样周期,频率序列的间隔,单位rad/s,也是傅里叶变换的分辨率 : 采样序列长度 : 频域函数的幅度图像
傅里叶变换 : Fourier Transform, FT 离散时间傅里叶变换 : Discrete Time Fourier Transform, DTFT 傅里叶级数 : Fourier Series, FS 离散傅里叶变换 : Discrete Fourier Transform, DFT \begin{align*} &\text{傅里叶变换 : Fourier Transform, FT} \\ &\text{离散时间傅里叶变换 : Discrete Time Fourier Transform, DTFT} \\ &\text{傅里叶级数 : Fourier Series, FS} \\ &\text{离散傅里叶变换 : Discrete Fourier Transform, DFT} \end{align*} 傅里叶变换 : Fourier Transform, FT离散时间傅里叶变换 : Discrete Time Fourier Transform, DTFT傅里叶级数 : Fourier Series, FS离散傅里叶变换 : Discrete Fourier Transform, DFT
通过傅里叶级数,我们可以发现连续周期函数可以转换为一系列离散频率的波的叠加。
通过Z变换,我们可以发现时域的离散序列可以表示为频域里连续的周期函数。
我们可以发现傅里叶变换的一个对称性;
离散 ↔ 周期 \text{离散} \leftrightarrow \text{周期} 离散周期
时域离散,则频域周期;
时域周期,则频域离散;
时域非离散非周期,频域非离散非周期;
时域离散且周期,频域也离散且周期;
下面来具体分析一下这种对称性。


2. 具体分析

先从连续时间与连续频率出发,即一般的傅里叶变换
G ( ω ) = FT  ∫ − ∞ ∞ g ( t ) e − j ω t d t G( \omega ) \stackrel{\text{ FT }}{=} \int_{ -\infty }^{ \infty } g(t) e^{-j \omega t} \mathrm dt G(ω)= FT g(t)etdt
g ( t ) = IFT  ∫ − ∞ ∞ G ( ω ) e j ω t d ω g(t) \stackrel{\text{ IFT }}{=} \int_{ -\infty }^{ \infty } G( \omega ) e^{j \omega t} \mathrm d \omega g(t)= IFT G(ω)etdω
时域非离散非周期,频域非离散非周期。下面对时域信号进行采样,采样周期 T s {T_s} Ts ,采样 N {N} N 个点。则
g ( t ) → g ( n T s ) , n = 0 , 1 , 2 , ⋯ , N − 1 g(t) \to g(nT_s) \,\,,\,\, n=0,1,2,\cdots,N-1 g(t)g(nTs),n=0,1,2,,N1
g ( n T s ) = ∑ n = 0 N − 1 g ( t ) δ ( n T s ) g(nT_s)= \sum_{n=0}^{ N-1}g(t) \delta (nT_s) g(nTs)=n=0N1g(t)δ(nTs)
g ( n T s ) {g(nT_s)} g(nTs) 相当于从连续函数转化成了一系列冲激函数的叠加。将其代入一般的傅里叶变换,就得到了离散时间傅里叶变换(DTFT)的公式,或者说Z变换,对应离散时间与连续周期频率
G ( ω ) = DTFT  ∫ 0 ( N − 1 ) T s g ( t ) e − j ω t d t , t = n T s = g ( 0 ) e − j 0 + g ( T ) e − j ω T s + g ( 2 T ) e − j ω 2 T s + ⋯ + g ( ( N − 1 ) T ) e − j ω ( N − 1 ) T s = ∑ n = 0 N − 1 g ( n T s ) e − j ω n T s \begin{align*} G(\omega ) \stackrel{\text{ DTFT }}{=} & \int_{ 0 }^{ (N-1)T_s } g(t) e^{-j \omega t} \mathrm dt \,\,,\,\, t=nT_s \\ \\ =&g(0) e^{-j0}+g(T)e^{-j \omega T_s}+g(2T)e^{-j \omega 2T_s}+ \cdots +g((N-1)T)e^{-j \omega (N-1)T_s} \\ \\ =& \sum_{n=0}^{ N-1} g(nT_s)e^{-j \omega nT_s} \end{align*} G(ω)= DTFT ==0(N1)Tsg(t)etdt,t=nTsg(0)ej0+g(T)eTs+g(2T)e2Ts++g((N1)T)e(N1)Tsn=0N1g(nTs)ejωnTs
DTFT的频谱是连续的,频谱的周期通过观察DTFT的公式得到
G ( ω ) = G ( ω + ω p ) G(\omega )=G(\omega + \omega_p ) G(ω)=G(ω+ωp)
ω n T s = ω n T s + 2 π n = ( ω + 2 π T s ) n T s = ( ω + ω p ) n T s \begin{align*} \omega nT_s= \omega nT_s+2\pi n=(\omega + \frac{2\pi}{T_s})nT_s=(\omega + \omega _p)nT_s \end{align*} ωnTs=ωnTs+2πn=(ω+Ts2π)nTs=(ω+ωp)nTs
ω p = 2 π T s (1) \omega_p= \frac{2\pi}{T_s} \tag{1} ωp=Ts2π(1)
这个式子说明了傅里叶变换频域函数的周期与时域采样周期的关系。
再看傅里叶级数,傅里叶级数对应连续周期时间与离散频率,使用 T p {T_p} Tp 为周期的时域周期函数,则
g ( t ) = g ( t + T p ) g(t)=g(t+T_p) g(t)=g(t+Tp)
由傅里叶反变换的公式,有
e j ω t = e j ω ( t + T p ) e^{j \omega t}=e^{j \omega (t+T_p)} et=e(t+Tp)
∴ ω T p = 2 k π , k ∈ Z \therefore \omega T_p=2k\pi \,\,,\,\, k\in \mathbb Z ωTp=2,kZ
ω = 2 π T p k \omega = \frac{2\pi}{T_p} k ω=Tp2πk
ω s = 2 π T p (2) \omega_s=\frac{2\pi}{T_p} \tag{2} ωs=Tp2π(2)
这个式子说明了傅里叶变换时域函数的周期与频域采样周期的关系。
∴ G ( ω ) → G ( k ω s ) = ∑ k = − ∞ ∞ G ( ω ) δ ( k ω s ) \therefore G(\omega )\to G(k \omega_s) = \sum_{k=-\infty}^{ \infty} G(\omega ) \delta (k \omega_s) G(ω)G(kωs)=k=G(ω)δ(kωs)
代入傅里叶反变换的公式,就得到了周期信号傅里叶级数(Fourier Series)的公式:
g ( t ) = FS  ∫ − ∞ ∞ G ( ω ) e j ω t d ω , ω = k ω s = ∑ k = − ∞ ∞ G ( k ω s ) e j k ω s t \begin{align*} g(t) \stackrel{\text{ FS }}{=}& \int_{ -\infty }^{ \infty } G( \omega ) e^{j \omega t} \mathrm d \omega \,\,,\,\, \omega =k \omega_s \\ \\ =& \sum_{k=-\infty}^{ \infty}G(k \omega_s) e^{jk \omega_st} \end{align*} g(t)= FS =G(ω)etdω,ω=kωsk=G(kωs)ejkωst
将DTFT的有限长时间序列做为无限长周期时间序列的其中一个周期,即延拓成周期序列,再做傅里叶变换,得到的应该是离散且有周期性的频谱。这个变换就是离散傅里叶变换(DFT)。
综合式子(1)到(2),有:
1 T s = ω p 2 π 1 T p = ω s 2 π \begin{align*} \frac{1}{T_s} \tag{1} = \frac{\omega_p}{2\pi} \\ \frac{1}{T_p} \tag{2} = \frac{\omega_s}{2\pi} \end{align*} Ts1=2πωpTp1=2πωs(1)(2)
可以知道,时域一个周期内的离散点数量等于频域一个周期内的离散点数量,即
T p T s = ω p ω s = N (3) \frac{T_p}{T_s}= \frac{\omega_p}{\omega_s}=N \tag{3} TsTp=ωsωp=N(3)
所以我们只关注其中一个周期。设从 0 {0} 0 开始一个周期内有 N {N} N 个点,则
ω = 0 , 2 π T p , 2 π T p × 2 , ⋯ , 2 π T p × k , ⋯ , 2 π T p × ( N − 1 ) \omega =0 , \frac{2\pi}{T_p} , \frac{2\pi}{T_p}\times 2 , \cdots , \frac{2\pi}{T_p} \times k , \cdots , \frac{2\pi}{T_p}\times (N-1) ω=0,Tp2π,Tp2π×2,,Tp2π×k,,Tp2π×(N1)
代入DTFT的公式,就得到DFT的公式:
G ( k ω s ) = DFT  ∑ n = 0 N − 1 g ( n T s ) e − j 2 π T p k n T s = ∑ n = 0 N − 1 g ( n T s ) e − j 2 π N k n \begin{align*} G(k \omega_s ) \stackrel{\text{ DFT }}{=} &\sum_{n=0}^{ N-1} g(nT_s)e^{-j \frac{\large 2\pi}{\large T_p}k nT_s} \\ \\ =&\sum_{n=0}^{ N-1} g(nT_s)e^{-j \frac{\large 2\pi}{\large N}k n} \end{align*} G(kωs)= DFT =n=0N1g(nTs)ejTp2πknTsn=0N1g(nTs)ejN2πkn
请添加图片描述


3. 序列的序号表示的DFT

通过序列的序号表示DFT,即
g ( n T s ) → g [ n ] G ( k ω s ) → G [ k ] \begin{align*} g(nT_s)\to g[n]\\ \\ G(k\omega_s ) \to G[k] \end{align*} g(nTs)g[n]G(kωs)G[k]
设从 0 {0} 0 开始一个周期内有 N {N} N 个点,则
T s ′ = 1 , ω p ′ = 2 π T_s'=1 \,\,,\,\, \omega_p'=2\pi Ts=1,ωp=2π
T p ′ = N , ω s ′ = 2 π N T_p'=N \,\,,\,\, \omega_s'= \frac{2\pi}{N} Tp=N,ωs=N2π
从而可以推出序列序号表示DFT的时间、频率与真实时间、频率之间的关系:
T s = T p N T s ′ T_s= \frac{T_p}{N} T_s' Ts=NTpTs
ω s = N T p ω s ′ \omega_s= \frac{N}{T_p} \omega_s' ωs=TpNωs
T p = T p N T p ′ T_p= \frac{T_p}{N}T_p' Tp=NTpTp
ω p = N T p ω p ′ \omega_p = \frac{N}{T_p} \omega_p' ωp=TpNωp
序列序号表示的DFT如下:
G [ k ] = DFT  ∑ n = 0 N − 1 g [ n ] e − j 2 π N k n , k = 0 , 1 , ⋯ , N − 1 G[k] \stackrel{\text{ DFT }}{=} \sum_{n=0}^{ N-1} g[n]e^{-j \frac{\large 2\pi}{\large N} kn} \,\,,\,\, k=0,1, \cdots ,N-1 G[k]= DFT n=0N1g[n]ejN2πkn,k=0,1,,N1
n {n} n 个点的真实时间为
n T s = n T p N nT_s=n \frac{T_p}{N} nTs=nNTp
k {k} k 个点的真实频率为
k ω s = k N T p ⋅ 2 π N = k 2 π T p k \omega_s=k \frac{N}{T_p}\cdot \frac{2\pi}{N}=k \frac{2\pi}{T_p} kωs=kTpNN2π=kTp2π


下链

[[DFT与FFT]]


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/165031.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MAV3D:从文本描述中生成三维动态场景

Singer U, Sheynin S, Polyak A, et al. Text-to-4d dynamic scene generation[J]. arXiv preprint arXiv:2301.11280, 2023. MAV3D 是 Meta AI 研究者们提出的一种从文本描述生成三维动态场景的方法。从所提供的文本生成的动态视频输出可以从任何摄像机位置和角度查看&#xf…

Rust语言入门教程(一) - 简介及Cargo使用

Rust编程入门 为什么学习Rust 我本人是一个DevOps工程师,并不是专职的开发人员,但需要了解各种各样的语言的基本知识和特性,以便在不同的项目中帮助开发人员设计软件架构,部署流程以及进行错误排查和调试。但是对任何新生的优秀…

springboot 外部化配置

背景:修改jar包中的配置比较麻烦 项目部署的时候放一个配置文件在jar包外 配置文件优先级: 1.jar包内的application.properties/yaml 2.jar包内的application-{profile}.properties/yaml 3.jar包外的application.properties/yaml 4.jar包外的application-{profile}.properties…

【算法】缓存淘汰算法

目录 1.概述2.代码实现2.1.FIFO2.2.LRU2.3.LFU2.4.Clock2.5.Random 3.应用 1.概述 缓存淘汰策略是指在缓存容量有限的情况下,当缓存空间不足时决定哪些缓存项应当被移除的策略。缓存淘汰策略的目标是尽可能地保持缓存命中率高,同时合理地利用有限的缓存…

(保姆级教程)Mysql中事务的概念,什么是事务,如何使用事务,以及事务的隔离级别,什么是脏读、幻读,代码演示

继续讲解 Mysql 数据库中最重要的一个概念:事务 文章目录 事务1.1 什么是事务1.2 执行原理1.3 如何操作事务1.4 事务的特点(ACID原则)1.5 事务并发1.6 事务隔离级别1.6.1 事务并发问题操作演示1.6.2 脏读演示1.6.3 不可重复读演示1.6.4 幻读演…

二叉树的顺序结构及实现

目录 1 二叉树的顺序结构2. 堆的概念及结构3 .堆的实现(小堆) 1 二叉树的顺序结构 普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,…

【Pytorch】Visualization of Feature Maps(3)

学习参考来自: Image Style Transform–关于图像风格迁移的介绍github:https://github.com/wmn7/ML_Practice/tree/master/2019_06_03 文章目录 风格迁移 风格迁移 风格迁移出处: 《A Neural Algorithm of Artistic Style》(ar…

浏览器没收到返回,后端也没报错,php的json_encode问题bug

今天网站遇到个问题,后端返回异常,但是浏览器状态码200,但是看不到结果。经过排查发现,我们在返回结果的时候使用了json_encode返回给前端,结果里面的字符编码异常,导致json_encode异常,但是php…

前缀和——724. 寻找数组的中心下标

文章目录 🍓1. 题目🫒2. 算法原理🦄解法一:暴力枚举🦄解法二:前缀和 🥔3. 代码实现 🍓1. 题目 题目链接:724. 寻找数组的中心下标 - 力扣(LeetCode&#xff0…

【限时免费】20天拿下华为OD笔试之【前缀和】2023B-数字游戏【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入描述输出描述示例一输入输出 示例二输入输出说明 解题思路前缀和简单的数学推导哈希集合的使用 代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 小明玩一个游戏。 系统发1n张牌&#xff…

某60区块链安全之未初始化的存储指针实战一学习记录

区块链安全 文章目录 区块链安全未初始化的存储指针实战一实验目的实验环境实验工具实验原理实验过程 未初始化的存储指针实战一 实验目的 学会使用python3的web3模块 学会分析以太坊智能合约未初始化的存储指针漏洞 找到合约漏洞进行分析并形成利用 实验环境 Ubuntu18.04操…

深度学习之八(生成对抗网络--Generative Adversarial Networks,GANs)

概念 生成对抗网络(Generative Adversarial Networks, GANs)是一种深度学习模型,由 Ian Goodfellow 等人于2014年提出。GAN 的目标是通过训练两个神经网络(生成器和判别器),使得生成器能够生成与真实数据相似的样本,而判别器能够区分真实样本和生成样本。这两个网络相…

多元逻辑回归模型的概念、模型检验以及应用

多元逻辑回归是逻辑回归的一种扩展,用于处理多类别分类问题。在二元逻辑回归中,我们通过一个逻辑函数(也称为S形函数)将输入特征映射到一个概率值,用于预测两个类别中一个的概率。而在多元逻辑回归中,我们面…

沃趣班11月月考题目解析

沃趣班11月月考题目解析 1.在oracle中创建用户时,若未设置default tablespace关键字,则oracle将哪个表空间分配给用户作为默认表空间 答案:D.user SQL> create user mytest identified by 123456; SQL> grant connect to mytest; SQL…

【开源】基于Vue.js的海南旅游景点推荐系统的设计和实现

项目编号: S 023 ,文末获取源码。 \color{red}{项目编号:S023,文末获取源码。} 项目编号:S023,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四…

CSS特效017:球体涨水的效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧,主要包含CSS布局,CSS特效,CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点,CSS特效主要是一些动画示例,CSS花边是描述了一些CSS…

前端错误处理与调试

** javascript错误处理 ** 由于javascript本身是动态语言,而且没有固定的开发工具,因此他普遍认为是最难以调试的语言,在ECMAScript3新增了try-catch和throw以及一些错误类型,让开发人员能适当的处理错误,紧接着web浏…

多tab页表单校验如何做

多tab页表单校验如何做 在多tab页表单中进行校验,可以按照以下步骤进行: 创建一个表单对象,用于存储表单数据和校验规则。 分为多个tab页,每个tab页对应一个表单页面。 定义每个tab页中的表单字段及其相应的校验规则。 在切换…

PHP 赋值、算数和比较运算符 学习资料

PHP 赋值、算数和比较运算符 在 PHP 中,赋值、算数和比较运算符用于对变量进行赋值、进行数学运算和比较操作。以下是对这些运算符的介绍和示例: 赋值运算符 赋值运算符用于给变量赋值。常用的赋值运算符有 、、-、*、/ 等。 示例: $a …

芯能转债上市价格预测

芯能转债-113679 基本信息 转债名称:芯能转债,评级:AA-,发行规模:8.8亿元。 正股名称:芯能科技,今日收盘价:12.63元,转股价格:13.1元。 当前转股价值 转债面…