卷积、频域乘积和矩阵向量乘积三种形式之间的等价关系与转换
线性移不变系统
线性移不变系统(Linear Time-Invariant System, LTI系统)同时满足线性和时不变性两个条件。
-
线性:如果输入信号的加权和通过系统后,输出是这些输入信号单独通过系统后的输出的相同加权和,那么该系统就是线性的。数学上,对于任意输入信号 x 1 ( t ) x_1(t) x1(t)和 x 2 ( t ) x_2(t) x2(t),以及任意常数 a a a和 b b b,如果系统满足:
y ( t ) = a ⋅ h ( x 1 ( t ) ) + b ⋅ h ( x 2 ( t ) ) y(t) = a \cdot h(x_1(t)) + b \cdot h(x_2(t)) y(t)=a⋅h(x1(t))+b⋅h(x2(t))
其中 h ( ⋅ ) h(\cdot) h(⋅)表示系统对输入的响应,则该系统是线性的。 -
时不变性:如果一个系统的输入信号延迟一段时间后,其输出仅仅是原输出信号同样延迟的时间,而没有其他变化,那么该系统就是时不变的。即,对于任意输入信号 x ( t ) x(t) x(t)及其延迟版本 x ( t − τ ) x(t - \tau) x(t−τ),系统的输出也仅仅是 y ( t ) y(t) y(t)延迟了 τ \tau τ时间单位的版本 y ( t − τ ) y(t - \tau) y(t−τ)。
LTI系统的一个重要性质是,它们可以通过卷积来描述。具体来说,如果 h ( t ) h(t) h(t)是系统的冲激响应(即当输入为单位脉冲时系统的输出), x ( t ) x(t) x(t)是系统的输入信号,那么系统的输出 y ( t ) y(t) y(t)可以通过输入信号与冲激响应的卷积来计算:
y ( t ) = ( x ∗ h ) ( t ) = ∫ − ∞ ∞ x ( τ ) h ( t − τ ) d τ y(t) = (x * h)(t) = \int_{-\infty}^{\infty} x(\tau) h(t - \tau) d\tau y(t)=(x∗h)(t)=∫−∞∞x(τ)h(t−τ)dτ
这个卷积公式表示,LTI系统的输出是输入信号与系统冲激响应之间的一种加权平均。这一性质使得LTI系统在理论分析和实际应用中都变得极其重要,尤其是在滤波器设计、通信系统、图像处理等领域。通过理解系统的冲激响应,可以预测系统对任何输入信号的响应。
卷积还可以写成频域乘积和矩阵向量乘积两种形式。

三者之间的等价关系与转换
时域卷积到频域乘积
①→②和②→①根据卷积定理,时域中的卷积对应于频域中的乘积。时域卷积通常用于理论分析,而频域乘积则更常用于实际计算,尤其是当信号长度较长时,通过快速傅里叶变换(FFT)实现的频域乘积可以显著提高计算效率。
- 傅里叶变换:首先对输入信号 x ( t ) x(t) x(t)和冲激响应 h ( t ) h(t) h(t)进行傅里叶变换,得到它们的频域表示 X ( f ) X(f) X(f)和 H ( f ) H(f) H(f)。
X ( f ) = F { x ( t ) } X(f) = \mathcal{F}\{x(t)\} X(f)=F{x(t)}
H ( f ) = F { h ( t ) } H(f) = \mathcal{F}\{h(t)\} H(f)=F{h(t)}
这里是psf2otf,解释见这里。 - 频域乘积:在频域中,将 X ( f ) X(f) X(f)和 H ( f ) H(f) H(f)相乘,得到输出信号的频域表示 Y ( f ) Y(f) Y(f)。
Y ( f ) = X ( f ) H ( f ) Y(f) = X(f) H(f) Y(f)=X(f)H(f) - 逆傅里叶变换:对 Y ( f ) Y(f) Y(f)进行逆傅里叶变换,得到输出信号 y ( t ) y(t) y(t)。
y ( t ) = F − 1 { Y ( f ) } y(t) = \mathcal{F}^{-1}\{Y(f)\} y(t)=F−1{Y(f)}


时域卷积到矩阵向量乘积
①→③对于有限长的离散信号,卷积可以完全等价地用矩阵向量乘积来表示。这种方法在实现离散信号处理算法时非常有用,它可以利用线性代数来进行表示和计算。
- 构建卷积矩阵:根据冲激响应 h [ n ] h[n] h[n],构建卷积矩阵 H \mathbf{H} H。假设 x [ n ] x[n] x[n]的长度为 N N N, h [ n ] h[n] h[n]的长度为 M M M,则 H \mathbf{H} H是一个 ( N + M − 1 ) × N (N+M-1) \times N (N+M−1)×N的矩阵。
H = [ h [ 0 ] 0 ⋯ 0 h [ 1 ] h [ 0 ] ⋯ 0 ⋮ ⋮ ⋱ ⋮ h [ M − 1 ] h [ M − 2 ] ⋯ h [ 0 ] 0 h [ M − 1 ] ⋯ h [ 1 ] ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ h [ M − 1 ] ] \mathbf{H} = \begin{bmatrix} h[0] & 0 & \cdots & 0 \\ h[1] & h[0] & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ h[M-1] & h[M-2] & \cdots & h[0] \\ 0 & h[M-1] & \cdots & h[1] \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & h[M-1] \end{bmatrix} H= h[0]h[1]⋮h[M−1]0⋮00h[0]⋮h[M−2]h[M−1]⋮0⋯⋯⋱⋯⋯⋱⋯00⋮h[0]h[1]⋮h[M−1] - 矩阵向量乘积:将输入信号 x [ n ] x[n] x[n]表示为列向量 x \mathbf{x} x,计算输出向量 y \mathbf{y} y。
y = H x \mathbf{y} = \mathbf{H} \mathbf{x} y=Hx




矩阵向量乘积到时域卷积
③→①对于一个 n × n n \times n n×n的循环矩阵 C C C和一个 n n n维向量 x x x,计算 C x Cx Cx的过程实际上是一个卷积操作。设 c c c为 C C C的第一列,那么 C x Cx Cx等价于将 c c c和 x x x进行循环卷积。
- 提取冲激响应:从卷积矩阵 H \mathbf{H} H中提取冲激响应 h [ n ] h[n] h[n]。通常, H \mathbf{H} H的第一行或第一列就是 h [ n ] h[n] h[n]。
- 计算卷积:使用提取的 h [ n ] h[n] h[n]和输入信号 x [ n ] x[n] x[n]计算卷积。
y [ n ] = ( x ∗ h ) [ n ] = ∑ k = 0 M − 1 x [ n − k ] h [ k ] y[n] = (x * h)[n] = \sum_{k=0}^{M-1} x[n-k] h[k] y[n]=(x∗h)[n]=k=0∑M−1x[n−k]h[k]
矩阵向量乘积到频域乘积
③→②[循环矩阵和BCCB矩阵的对角化,即特征值分解,特征值是傅里叶系数,特征向量是傅里叶变换基。](https://blog.csdn.net/u013600306/article/details/143728757?spm=1001.2014.3001.5501)
总结
- 时域卷积 和 频域乘积 通过傅里叶变换和逆傅里叶变换相互转换。
- 时域卷积 和 矩阵向量乘积 通过构建卷积矩阵实现相互转换。
- 矩阵向量乘积 到 时域卷积 通过提取卷积矩阵中的冲激响应实现。
相关文章:
卷积、频域乘积和矩阵向量乘积三种形式之间的等价关系与转换
线性移不变系统 线性移不变系统(Linear Time-Invariant System, LTI系统)同时满足线性和时不变性两个条件。 线性:如果输入信号的加权和通过系统后,输出是这些输入信号单独通过系统后的输出的相同加权和,那么该系统就…...
【Vue】Vue3.0(二十二) v-model 在原始Dom元素、自定义输入组件中双向绑定的底层实现原理详解
上篇文章 【Vue】Vue3.0(二十一)Vue 3.0中 的$event使用示例 🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年11月11日17点30分 文章目录 1. v-model 用于 HTML 标…...
史上最强大的 S3 API?介绍 Prompt API。
迄今为止,对象存储世界已由 PUT 和 GET 的 S3 API 概念定义。然而,我们现在生活的世界需要更多。鉴于 MinIO 的 S3 部署甚至比 Amazon 还多,因此我们不得不提出下一个出色的 S3 API。 这个新 API 就是 Prompt API,它很可能成为有…...
单片机设计智能翻译手势识别系统
目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 电路图采用Altium Designer进行设计: 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 在全球化的浪潮下,语言的多样性也为人们的交流带来了不小的挑战…...
「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
本篇将继续讲解PTA平台上的题目 L1-003 个位数统计,通过对数字的处理与统计,掌握基础的字符串操作与数组计数功能,进一步提升Cangjie编程语言的实际应用能力。 关键词 PTA刷题数字统计数组操作字符串处理编程技巧 一、L1-003 个位数统计 题…...
飞书文档只读限制复制
飞书文档只读限制复制 场景描述解决方式插件安装测试 场景描述 当使用飞书时,可能会存在无对方文档编辑/管理权限,对方只给自己开放只读权限的时候,此时如果文档较重要,需要本地保存一份,但是又无法复制文档或直接屏蔽…...
【WPF】Prism学习(二)
Prism Commands 1.命令(Commanding) 1.1. ViewModel的作用: ViewModel不仅提供在视图中显示或编辑的数据,还可能定义一个或多个用户可以执行的动作或操作。这些用户可以通过用户界面(UI)执行的动作或操作…...
【鸿蒙开发】第二十一章 Location位置服务
目录 1 简介 1.1 Location Kit简介 1.2 运作机制 1.3 约束与限制 2 位置服务开发 2.1 申请位置权限开发指导 2.1.1 场景概述 2.2 获取设备的位置信息开发指导 2.2.1 场景概述 2.2.2 接口说明 2.2.3 开发步骤 2.3(逆)地理编码转化开发指导 2.…...
《目标检测》R-CNN网络基础(RCNN,Fast-RCNN)
文章目录 1.Overfeat模型2.RCNN网络2.1 算法流程2.1.1 候选区域的生成(了解,已经不再使用了)2.1.2 CNN网络提取特征2.1.3 目标分类(SVM)2.1.4 目标回归(线性回归修正坐标)2.1.5 预测过程 2.2 算…...
iOS中的定位实现(逆地理编码)及Info.plist位置权限详解
引言 在现代移动应用开发中,位置服务已经成为不可或缺的一部分。无论是地图导航、社交分享,还是基于位置的个性化推荐,位置数据都为用户提供了更加丰富和智能的体验。然而,随着用户隐私保护的不断加强,iOS对位置权限的…...
【从零开始的LeetCode-算法】3270. 求出数字答案
给你三个 正 整数 num1 ,num2 和 num3 。 数字 num1 ,num2 和 num3 的数字答案 key 是一个四位数,定义如下: 一开始,如果有数字 少于 四位数,给它补 前导 0 。答案 key 的第 i 个数位(1 < …...
Web认证机制 Cookie、Token、Session、JWT、OAuth2 解析
标题 一、Cookie二、Session三、Token四、JWTSSO(单点登录) 五、OAuth2如何设计权限系统区别总结 Cookie、Token、Session 和 JWT 都是在 Web 开发中常用的身份验证和授权技术,它们各有优缺点,适用于不同的场景。 Cookie 简单易用…...
Docker 基础命令介绍和常见报错解决
介绍一些 docker 可能用到的基础命令,并解决三个常见报错: 权限被拒绝(Permission Denied)无法连接到 Docker 仓库(Timeout Exceeded)磁盘空间不足(No Space Left on Device) 命令以…...
如何轻松导出所有 WordPress URL 为纯文本格式
作为一名多年的 WordPress 使用者,我深知管理一个网站的复杂性。从迁移网站、设置重定向到整理内容结构,每一步都需要精细处理。而拥有所有 URL 的清单,不仅能让这些工作变得更加简单,还能为后续的管理提供极大的便利。其实&#…...
【进程概念精讲】
Susan,在那命运月台前面,再上车,春天开始落叶.................................................................. 文章目录 前言 一、【认识进程】 1、【进程基本概念引入】 2、【进程的描述与组织——进程控制块(PCB)与进程…...
帽子矩阵--记录
帽子矩阵 H是一个重要的统计工具,用于评估数据点对模型拟合结果的影响。通过计算帽子矩阵的对角线元素(杠杆值),我们可以识别出高杠杆点,这些点对模型的影响较大,可能需要特别关注。...
MySQL深入:B+树的演化、索引和索引结构
提示:内容是读《MySQL技术内幕:InnoDB存储引擎》,笔记摘要 文章目录 二叉查找树平衡二叉树(AVL) B树(BTree)B树(BTree)InnoDB B树索引索引结构(InnoDB B树)B树存放的数据量 二叉查找树 在二叉查找树中,左子…...
axios 实现 无感刷新方案
实现思路 首次登录前端通过接口获取到两个 token;分别是 accessToken、refreshToken; accessToken:正常请求需要传递的 token ;refreshToken:当某个请求 401 ,就可以通过 refreshToken 获取到新的 accessToken 特殊场…...
Python 三种方式实现自动化任务
在这篇文章中,我们将介绍一些用Python实现机器人过程自动化的包。机器人流程自动化(Robotic process automation,简称RPA)是指将鼠标点击和键盘按压自动化的过程,即模拟人类用户的操作。RPA用于各种应用程序࿰…...
新型创业模式:退休创业。没有工资,不用投资,有时间就干,不强制做,赚钱按贡献分。
这种“退休创业”的创业模式具有独特的吸引力和灵活性,适合那些已退休但希望继续贡献社会价值、赚取额外收入且无需承担太多责任的群体。以下是一个详细的设计思路: 模式概述 目标人群:退休人员,具有一定技能或经验,但…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
ZYNQ学习记录FPGA(一)ZYNQ简介
一、知识准备 1.一些术语,缩写和概念: 1)ZYNQ全称:ZYNQ7000 All Pgrammable SoC 2)SoC:system on chips(片上系统),对比集成电路的SoB(system on board) 3)ARM:处理器…...
