[信号与系统]傅里叶变换、卷积定理、和为什么时域的卷积等于频域相乘。

本文主要是介绍[信号与系统]傅里叶变换、卷积定理、和为什么时域的卷积等于频域相乘。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

最近学习以下IIR滤波器和FIR滤波器

前置

1. 时域和频域

时域和频域代表着频率和时间与振幅的一一对应关系
在这里插入图片描述

在这里插入图片描述

2. 卷积运算

关于卷积的定义,详情请看 这篇文章能让你明白卷积

卷积运算是一种数学运算,广泛应用于信号处理、图像处理、控制系统和概率论等领域。卷积运算可以看作是两个函数之间的一种积分操作,用于描述一个函数在另一个函数上的“滑动”效果。

连续卷积:

对于连续函数 f ( t ) f(t) f(t) g ( t ) g(t) g(t)它们的卷积定义为:

( f ∗ g ) ( t ) = ∫ − ∞ ∞ f ( τ ) g ( t − τ ) d τ (f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t - \tau) \, d\tau (fg)(t)=f(τ)g(tτ)dτ

离散卷积

对于离散函数 f [ n ] f[n] f[n] g [ n ] g[n] g[n],他们的卷积定义为:

( f ∗ g ) [ n ] = ∑ k = − ∞ ∞ f [ k ] g [ n − k ] (f * g)[n] = \sum_{k=-\infty}^{\infty} f[k] g[n - k] (fg)[n]=k=f[k]g[nk]

卷积运算的性质

1. 交换律
f ∗ g = g ∗ f f * g = g * f fg=gf
这意味着两个函数的卷积不受顺序影响。

2. 结合律(结合性)
( f ∗ g ) ∗ h = f ∗ ( g ∗ h ) (f * g) * h = f * (g * h) (fg)h=f(gh)
这意味着多重卷积的计算顺序可以随意改变。

3.分配律
f ∗ ( g + h ) = ( f ∗ g ) + ( f ∗ h ) f * (g + h) = (f * g) + (f * h) f(g+h)=(fg)+(fh)

这意味着卷积运算对加法是分配的。

4. 与冲激函数的卷积(单位冲激函数)

对于单位冲激函数 δ ( t ) \delta(t) δ(t)有:

f ∗ δ = f f * \delta = f fδ=f
这意味着任何函数与单位冲激函数的卷积等于该函数本身。

5.平移性

f ( t − t 0 ) ∗ g ( t ) = ( f ∗ g ) ( t − t 0 ) f(t - t_0) * g(t) = (f * g)(t - t_0) f(tt0)g(t)=(fg)(tt0)
这意味着函数的平移在卷积后仍然保留。

卷积定理

在傅里叶变换域中,卷积运算可以转化为点乘运算。具体来说,如果 F ( ω ) F(\omega) F(ω) G ( ω ) G(\omega) G(ω)分别是 f ( t ) f(t) f(t) g ( t ) g(t) g(t) 的傅里叶变换,那么:

F { f ∗ g } = F { f } ⋅ F { g } \mathcal{F}\{f * g\} = \mathcal{F}\{f\} \cdot \mathcal{F}\{g\} F{fg}=F{f}F{g}

反之亦然,即傅里叶变换的点乘可以通过逆傅里叶变换转化为时域的卷积运算。

3. 傅里叶变换

傅里叶变换将一个时域信号转换到频域,使得可以分析信号的频率成分。对于非周期信号,傅里叶变换定义为:

F ( w ) = ∫ − ∞ ∞ f ( t ) e − j π t d t F(w) = \int_{-\infty}^{\infty} f(t) e^{-j\pi t} \, dt F(w)=f(t)etdt

其中 F ( w ) F(w) F(w)是频域表示,称为频谱。 f ( t ) f(t) f(t)是时域信号,w是角频率

逆傅里叶变换可以将频域信号转换回时域:

f ( t ) = 1 2 π ∫ − ∞ ∞ F ( w ) e j π t d w f(t) = \frac{1}{2\pi}\int_{-\infty}^{\infty} F(w) e^{j\pi t} \, dw f(t)=2π1F(w)etdw

关键点包括:

  1. 频域与时域的对应关系:时域信号可以通过傅里叶变换转换到频域,反之亦然。这提供了分析和处理信号的新方法。

  2. 频谱:傅里叶变换的结果 F ( w ) F(w) F(w)称为信号的频谱,表示信号在不同频率成分上的分布。

  3. 正交性 : 正弦和余弦函数是正交的,这使得傅里叶级数能够分解任何周期信号,而傅里叶变换能够分解任何非周期信号。

  4. 卷积定理 : 时域中的卷积对应于频域中的乘积,这大大简化了信号处理中的卷积运算。

我们常见的其实会由这个卷积定理延申出来一个定理:

为了接下来的这个问题,我们需要用到一些傅里叶变换的性质:

1. 线性性质

傅里叶变换是线性的。对于任意两个信号 x 1 ( t ) x_1(t) x1(t) x 2 ( t ) x_2(t) x2(t),以及任意常数 a a a b b b,有:

F { a x 1 ( t ) + b x 2 ( t ) } = a X 1 ( ω ) + b X 2 ( ω ) \mathcal{F}\{a x_1(t) + b x_2(t)\} = a X_1(\omega) + b X_2(\omega) F{ax1(t)+bx2(t)}=aX1(ω)+bX2(ω)

2. 平移性质

如果一个信号 x ( t ) x(t) x(t) 在时域上平移 t 0 t_0 t0,其傅里叶变换为:

F { x ( t − t 0 ) } = X ( ω ) e − i ω t 0 \mathcal{F}\{x(t - t_0)\} = X(\omega) e^{-i\omega t_0} F{x(tt0)}=X(ω)et0

3. 调制性质

如果一个信号 x ( t ) x(t) x(t) 在时域上乘以一个复指数函数 e i ω 0 t e^{i\omega_0 t} eiω0t,其傅里叶变换为:

F { x ( t ) e i ω 0 t } = X ( ω − ω 0 ) \mathcal{F}\{x(t) e^{i\omega_0 t}\} = X(\omega - \omega_0) F{x(t)eiω0t}=X(ωω0)

4. 微分性质

如果一个信号 x ( t ) x(t) x(t) 的导数 d n x ( t ) d t n \frac{d^n x(t)}{dt^n} dtndnx(t) 存在,其傅里叶变换为:

F { d n x ( t ) d t n } = ( i ω ) n X ( ω ) \mathcal{F}\left\{\frac{d^n x(t)}{dt^n}\right\} = (i\omega)^n X(\omega) F{dtndnx(t)}=()nX(ω)

5. 卷积性质
如果两个信号 x 1 ( t ) x_1(t) x1(t) x 2 ( t ) x_2(t) x2(t) 的卷积 ( x 1 ∗ x 2 ) ( t ) (x_1 * x_2)(t) (x1x2)(t) 存在,其傅里叶变换为:

F { ( x 1 ∗ x 2 ) ( t ) } = X 1 ( ω ) ⋅ X 2 ( ω ) \mathcal{F}\{(x_1 * x_2)(t)\} = X_1(\omega) \cdot X_2(\omega) F{(x1x2)(t)}=X1(ω)X2(ω)

时域的卷积等于频域相乘

这是怎么来的呢,我们首先知道两个时域信号 x ( t ) x(t) x(t) h ( t ) h(t) h(t)的卷积:

( x ∗ h ) ( t ) = ∫ − ∞ ∞ x ( τ ) h ( t − τ ) d τ (x * h)(t) = \int_{-\infty}^{\infty} x(\tau) h(t - \tau) \, d\tau (xh)(t)=x(τ)h(tτ)dτ

我们得到X(f)和H(f)是他们分别通过傅里叶变换得到的频域表示,那么时域中的卷积 x ( t ) ∗ h ( t ) x(t) * h(t) x(t)h(t)就对应于频域中的乘积 X ( f ) ⋅ H ( f ) X(f)·H(f) X(f)H(f)
也就是说,时域中的复杂操作,我们最后用频域中的简单操作就可以指代了。

换句话说:

时域信号可以分解成一串不同频率正弦信号的叠加。根据卷积的分配率,两个时域信号的卷积最终可以展开成两两正弦信号的卷积的和。由于不同频率的正弦信号的卷积为0,所以最终只剩下相同频率的正弦信号的卷积。而卷积的结果就是频率不变,幅度相乘。
在频域里边就表现为直接相乘。

关于这句话,我们还可以生硬的推导一下:

推导

卷积定理的推导

我们首先知道两个时域信号 x ( t ) x(t) x(t) h ( t ) h(t) h(t) 的卷积定义为:

( x ∗ h ) ( t ) = ∫ − ∞ ∞ x ( τ ) h ( t − τ ) d τ (x * h)(t) = \int_{-\infty}^{\infty} x(\tau) h(t - \tau) \, d\tau (xh)(t)=x(τ)h(tτ)dτ

y ( t ) = ( x ∗ h ) ( t ) y(t) = (x * h)(t) y(t)=(xh)(t),则 y ( t ) y(t) y(t) x ( t ) x(t) x(t) h ( t ) h(t) h(t) 的卷积。

傅里叶变换

y ( t ) y(t) y(t) 进行傅里叶变换:

Y ( f ) = F { y ( t ) } = F { ∫ − ∞ ∞ x ( τ ) h ( t − τ ) d τ } Y(f) = \mathcal{F}\{y(t)\} = \mathcal{F}\left\{\int_{-\infty}^{\infty} x(\tau) h(t - \tau) \, d\tau\right\} Y(f)=F{y(t)}=F{x(τ)h(tτ)dτ}

根据傅里叶变换的线性性质,我们可以将积分符号放到傅里叶变换操作符的前面:

Y ( f ) = ∫ − ∞ ∞ x ( τ ) F { h ( t − τ ) } d τ Y(f) = \int_{-\infty}^{\infty} x(\tau) \mathcal{F}\{h(t - \tau)\} \, d\tau Y(f)=x(τ)F{h(tτ)}dτ

时移性质

根据傅里叶变换的时移性质,如果 h ( t − τ ) h(t - \tau) h(tτ) 的傅里叶变换为 H ( f ) H(f) H(f),则:

F { h ( t − τ ) } = H ( f ) e − i 2 π f τ \mathcal{F}\{h(t - \tau)\} = H(f) e^{-i2\pi f \tau} F{h(tτ)}=H(f)ei2πfτ

将其代入上式:

Y ( f ) = ∫ − ∞ ∞ x ( τ ) H ( f ) e − i 2 π f τ d τ Y(f) = \int_{-\infty}^{\infty} x(\tau) H(f) e^{-i2\pi f \tau} \, d\tau Y(f)=x(τ)H(f)ei2πfτdτ

分离变量

H ( f ) H(f) H(f) 从积分符号中分离出来:

Y ( f ) = H ( f ) ∫ − ∞ ∞ x ( τ ) e − i 2 π f τ d τ Y(f) = H(f) \int_{-\infty}^{\infty} x(\tau) e^{-i2\pi f \tau} \, d\tau Y(f)=H(f)x(τ)ei2πfτdτ

这里, ∫ − ∞ ∞ x ( τ ) e − i 2 π f τ d τ \int_{-\infty}^{\infty} x(\tau) e^{-i2\pi f \tau} \, d\tau x(τ)ei2πfτdτ x ( t ) x(t) x(t) 的傅里叶变换:

X ( f ) = ∫ − ∞ ∞ x ( τ ) e − i 2 π f τ d τ X(f) = \int_{-\infty}^{\infty} x(\tau) e^{-i2\pi f \tau} \, d\tau X(f)=x(τ)ei2πfτdτ

因此:

Y ( f ) = X ( f ) ⋅ H ( f ) Y(f) = X(f) \cdot H(f) Y(f)=X(f)H(f)

总结

我们得到了频域中的乘积:

Y ( f ) = X ( f ) ⋅ H ( f ) Y(f) = X(f) \cdot H(f) Y(f)=X(f)H(f)

这表明时域中的卷积对应于频域中的乘积。这就是卷积定理的内容。

这篇关于[信号与系统]傅里叶变换、卷积定理、和为什么时域的卷积等于频域相乘。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

基于Python实现自动化邮件发送系统的完整指南

《基于Python实现自动化邮件发送系统的完整指南》在现代软件开发和自动化流程中,邮件通知是一个常见且实用的功能,无论是用于发送报告、告警信息还是用户提醒,通过Python实现自动化的邮件发送功能都能... 目录一、前言:二、项目概述三、配置文件 `.env` 解析四、代码结构解析1. 导入模块2. 加载环

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

更改linux系统的默认Python版本方式

《更改linux系统的默认Python版本方式》通过删除原Python软链接并创建指向python3.6的新链接,可切换系统默认Python版本,需注意版本冲突、环境混乱及维护问题,建议使用pyenv... 目录更改系统的默认python版本软链接软链接的特点创建软链接的命令使用场景注意事项总结更改系统的默

在Linux系统上连接GitHub的方法步骤(适用2025年)

《在Linux系统上连接GitHub的方法步骤(适用2025年)》在2025年,使用Linux系统连接GitHub的推荐方式是通过SSH(SecureShell)协议进行身份验证,这种方式不仅安全,还... 目录步骤一:检查并安装 Git步骤二:生成 SSH 密钥步骤三:将 SSH 公钥添加到 github

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序