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

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

前言

最近学习以下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

相关文章

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

windows系统下shutdown重启关机命令超详细教程

《windows系统下shutdown重启关机命令超详细教程》shutdown命令是一个强大的工具,允许你通过命令行快速完成关机、重启或注销操作,本文将为你详细解析shutdown命令的使用方法,并提... 目录一、shutdown 命令简介二、shutdown 命令的基本用法三、远程关机与重启四、实际应用