[傅里叶变换及其应用学习笔记] 二十四. 级联,脉冲响应

 

我们上节课学习了

  1. 在离散有限维空间中,任何线性系统都是通过矩阵间的相乘得到的
  2. 在连续无限维空间中,任何线性系统都是通过对核函数的积分得到的

 

 

脉冲响应(impulse response)

 

级联线性系统(Cascading linear system)

 

如果$L$与$M$都是线性的,有

$w=MLv$

在连续无限维空间中

$\begin{align*}
MLv
&=M\left( \int_{-\infty}^{\infty}k(x,y)v(y)dy \right )\\
&\approx M\left( \sum_{i=-\infty}^{\infty}k(x,y_i)v(y_i)\Delta y_i \right )\\
&=\sum_{-\infty}^{\infty}M\left( k(x,y_i)v(y_i)\Delta y_i \right )\\
&=\sum_{-\infty}^{\infty}M_x \left( k(x,y_i)v(y_i)\Delta y_i \right ) \qquad M\ deal\ with\ the\ function\ that\ Lv\ ouput\ based\ on\ x \\
&\approx \int_{-\infty}^{\infty}M_x(k(x,y))v(y)dy
\end{align*}$

 

 

脉冲响应的定义

上述关于级联的讨论是为了引出下面的这个结论:

任何线性系统都由对核(函数)的积分得到,核(函数)就是该线性系统对脉冲函数的响应。(Any linear system is given by integration against a kernel (impulse response).)

 

推导过程如下:

$\begin{align*}
v(x)
&=(\delta * v)(x)\\
&=\int_{-\infty}^{\infty}\delta(x-y)v(y)dy \qquad(\delta\ shift\ property)
\end{align*}$

那么线性系统有如下表示

$\begin{align*}
Lv(x)
&=L\left( \int_{-\infty}^{\infty}\delta(x-y)v(y)dy \right )\\
&=\int_{-\infty}^{\infty}L_x\delta(x-y)v(y)dy
\end{align*}$

令$h(x,y) = L_x\delta(x-y)$,则有,

$\displaystyle{ Lv(x) = \int_{-\infty}^{\infty}h(x,y)v(y)dy }$

 

其中$h(x,y)$是该线性系统的核函数,它由$L_x\delta(x-y)$得到,同时他也是该线性系统的脉冲响应。

脉冲响应的定义如下

  • $\delta(x-y)$是位置在$y$上的脉冲,$L_x\delta(x-y)$表示了把脉冲输入到该线性系统,此时系统会做出响应,并输出脉冲响应$h(x,y)$。

 

 

 

Schwartz核函数定理

如果$L$是广义函数(分布)的一个线性算符,即$L$在符合叠加性原则的基础上将一个广义函数变换为另一个广义函数,那么就会存在唯一的核$k$,使得$Lv = <k,v>$

 

 

傅里叶变换的脉冲响应

当输入脉冲函数$\delta(x-y)$,傅里叶变换会输出

$h(x,y) = \mathcal{F}(\delta(x-y)) = e^{-2\pi ixy}$

另外,傅里叶变换的公式如下

$\mathcal{F}f(x) = \displaystyle{ \int_{-\infty}^{\infty}e^{-2\pi ixy}f(y)dy }$

它的核函数为

$k(x,y) = e^{-2\pi ixy}$

我们注意到,核函数与脉冲响应式一样的,其中有如下关系:

  • 如果一个线性算符能表示成对于$k(x,y)$与输入函数乘积的积分形式,那么$k(x,y)$就是脉冲响应了。
  • 反过来说,如果我们能得到线性系统的脉冲响应,就能通过对脉冲响应和输入函数的乘积进行积分来表达该线性系统的线性算符。

 

 

离散有限维线性系统的脉冲响应

在连续无限维的线性系统中,脉冲响应是线性系统对输入脉冲$\delta(x-y)$的响应。在离散有限维线性系统也同样是对输入脉冲序列的响应,用矩阵乘法的表达如下:

$A\cdot \left[ \underline{\delta}_0,\underline{\delta}_1,\underline{\delta}_2,...,\underline{\delta}_{n-1} \right]
=A\cdot\begin{bmatrix}
1 &0  &0  &...  &0 \\
0 &1  &0  &...  &0 \\
0 &0  &1  &...  &0 \\
\vdots &\vdots  &\vdots  &...  &\vdots \\
0 &0  &0  &...  &1
\end{bmatrix}=A$

 

 

脉冲响应的例子

开关

$Lv = \Pi v$

它的脉冲响应为

$h(x,y) = L\delta(x-y) = \Pi(x)\delta(x-y) = \Pi(y)\delta(x-y) \qquad(\delta\ sampling\ property)$

对脉冲响应与输入函数乘积的积分会得到开关的线性算符

$\begin{align*}
\int_{-\infty}^{\infty}h(x,y)v(y)dy
&=\int_{-\infty}^{\infty}\Pi(y)\delta(x-y)v(y)dy\\
&=\int_{-\infty}^{\infty}\delta(x-y)\left( \Pi(y)v(y) \right )dy\\
&=\left(\delta * (\Pi v) \right )(x) \qquad (\delta\ shift\ property)\\
&=\Pi(x)v(x)
\end{align*}$

这个结果证明了前面的结论是正确的

 

 

 

卷积,连续无限维线性时不变系统

引入时移符号$\tau$

$\tau_a v(x) = v(x-a)$。

 

假设有用卷积表达的线性系统如下

$Lv = h*v$

如果我们对输入$v$进行延时$a$

$\begin{align*}
L\tau_a v(x)
&= (h*\tau_av)(x)\\
&= \int_{-\infty}^{\infty}h(x-y)v(y-a)dy \\
&= \int_{-\infty}^{\infty}h(x-z-a)v(z)dz \qquad (letting\ z=y-a) \\
&= \int_{-\infty}^{\infty}\left(h(x-z)*\delta(x-a) \right )v(z)dz \qquad (\delta\ shift\ property)\\
&= \left(\int_{-\infty}^{\infty}h(x-z)v(z)dz \right )*\delta(x-a)\\
&= (h*v)(x-a)\\
&= \tau_a(h*v)(x)\\
&= \tau_aLv(x)
\end{align*}$

结果显示该线性系统输出的延时与输入的延时同为$a$,这被称为线性时不变系统(Linear Time Invariant System)。

结论是:

  • 如果一个线性系统是由卷积给定的,那么他就是时不变的。

 

反过来也是成立的:

  • 如果一个线性系统是时不变的,那么它一定是由卷积给定的。

证明过程如下:

任何连续无限维线性系统都有如下表示

$Lv = \displaystyle{ \int_{-\infty}^{\infty}L_x\delta(x-y)v(y)dy }$

我们令$h(x) = L_x\delta(x)$,就是线性系统对$\delta_0$进行脉冲响应。则有

$L_x\delta(x-y) = L_x(\tau_y\delta(x))$

如果$L$是时不变的,则输出与输入会有同一延时

$L_x\delta(x-y) = L_x(\tau_y\delta(x)) = \tau_y(L_x\delta(x)) = \tau_yh(x) = h(x-y)$

$Lv = \displaystyle{ \int_{-\infty}^{\infty}h(x-y)v(y)dy }$

转载于:https://www.cnblogs.com/TaigaCon/p/5138144.html

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

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

相关文章

WPF如何实现TreeView节点重命名

我们经常看到一些软件比如酷狗音乐&#xff0c;在对列表右键进行重命名的时候&#xff0c;当前列表会泛白并且进入可编辑状态&#xff0c;当我们更改完成后就会并进入非编辑状态&#xff0c;这些具体是怎么实现的呢&#xff1f;下面的方法也许会提供一些思路&#xff0c;下面的…

8086地址传送指令LEA

LEA REG,OPRD ;操作数OPRD必须是一个存储器操作数 LEA AX,IDATA ;把IDATA的偏移地址传送到AX寄存器中DATA SEGMENTIDATA DW 1,2,3,4 DATA ENDS CODE SEGEMNT BEG:MOV AX,OFFSET IDATA ;AXIDATA的偏移地址LEA AX,IDATA ;AXIDATA的偏移地址LEA AX,DS:[IDATA] ;把ds:[IDA…

Shell --- 批量修改文件后缀脚本

for f in *.$1; dofilenamebasename $fmv $f "${filename%.*}".$2; done; Usage:&#xff1a; rename suffix rename_suffix eg: rename dat txt > ls > a.dat > rename dat txt > ls > a.txt 转载于:https://www.cnblogs.com/RookieCoder/p/5140265.…

8086标志操作指令

标号传送指令LAHF 把FLAG低八位送入AH。不影响FLAG的任何位LAHF ;把CF,PF,AF,ZF,SF送入AH的相应位即0,2,4,6,7位SAHF 把AH送入FLAG低八位。根据AH中的内容FLAG的低八位受到影响,高位不受影响MOV AH,11111111B SAHF ;(执行后CF,PF,AF,ZF,SF等于1)PUSHF 把FLAG压入栈中。不影…

最大子序列和

一、遍历所有可能情况 (1234...N)所有可能子序列如下&#xff1a; 1&#xff1b;12&#xff1b;123...... 2&#xff1b;23&#xff1b;234...... ...... N 共N趟&#xff0c;没趟可能的情况由N&#xff0c;N-1...&#xff0c;1依次递减。 时间复杂度O(N3)的算法&#xff1a; i…

!--注释--和%--注释--%有什么区别

转载&#xff1a;版权所有&#xff1a;基础软件。作者邮箱&#xff1a;s.j.l.studiohotmail.com&#xff0c;sun.j.l.studiogmail.com。本文首发于 http://www.cnblogs.com/FoundationSoft。文章转载请保持此版权信息并注明出处。 使用ASP.NET编辑页面时&#xff0c;有两种注释…

团队开发——用户需求调研报告

用户需求调研报告 项目名称&#xff1a; 躲避小球 项目编号&#xff1a;001 调研主题&#xff1a; 用户需求 访谈时间&#xff1a;2015.4.10 调研地点&#xff1a; 石家庄铁道大学图书馆 访谈部门&#xff1a; 三个人行 参与人员&#xff1a; 林彦汝 1. 访谈目的 1、让用…

8086地址传送指令LDS,LES

LDS REG,OPRE;REG是一个16位寄存器,OPRD是一个存储器操作数,为双字项,高16位送入DS,低16位送入REG LDS BX,[SI](ds:si取得存储器中32位(双字),高16位作为段值送入DS中,低十六位送入指定的BX寄存器中)data segmentidata dd 12345678H data ends code segment assume cs:code,ds:…

设计模式(十五):解释器模式

一、定义 在设定环境中&#xff0c;定义一种规则或者语法&#xff0c;通过解释器来解释规则或者语法的含义. 二、实例&#xff1a;将 二十一 —> 21 2.1 设定我们的环境 Context public class Context{public string Input { get; set; }public int Output { get; se…

8086地址传送指令LEA,LDS,LES

LEA BX,[SI] ;BX<--DS:[SI]内存单元的偏移地址,与该单元中的数据无关 LDS BX,[SI] ;BX<--DS:[si]内存单元中的数据的低16位,DS<--内存单元中数据的高16位 LES BX,[SI] ;BX<--DS:[SI] ,ES<--DS:[SI2] 显然LDS和LES的操作数是32位的(两个字 四个字节 32位) 写个…

MySQL 5.7.10 免安装配置

# 配置环境&#xff1a;windows 64bit # 安装版本&#xff1a;mysql-5.7.10-win32&#xff08;zip archive版本&#xff09; 1. ZIP Archive版是免安装的&#xff0c;只需把mysql-5.7.10-win32.zip解压到安装目录即可。 2. 在D:\Program Files\mysql-5.7.10-win32文件夹下新建配…

Cacti安装教程

CentOS 6.0架设流量监控及集中日志系统第一章、cacti的安装1、 系统的基本设置2、 设置主机名3、 [rootlocalhost ~]# vi /etc/sysconfig/network4、 [rootlocalhost ~]# exit5、 重新登陆6、 [rootGZ-Cacti ~]#7、 安装screen后台运行程序yum -y install screen8、 安装优秀的…

8086条件转移指令JE,JZ

JZ/JE 指令格式 转移条件 说明 JZ/JE 标号 ZF1 等于0或相等转移code segment assume cs:codemov ax,2mov bx,2cmp ax,bxje ok ;如果axbx 进行转移(其实是检测ZF的值进行转移操作);根据ZF1 得出axbx ,所以才有axbx 相等则转移 iout: mov ax,4c00Hint 21H ok: add a…

单片机C语言下LCD多级菜单的一种实现方法

摘要: 介绍了在C 语言环境下,在LCD 液晶显示屏上实现多级嵌套菜单的一种简便方法,提出了一个结构紧凑、实用的程序模型。 关键词: 液晶显示屏; 多级菜单; 单片机; C 语言; LCD  中图分类号:TP311. 1    文献标识码:B 收稿日期:2005 - 11 - 210  引言 由于C 语…

fortran语法笔记

1&#xff0c;数据类型&#xff0c;fortran支持整形&#xff0c;real型&#xff0c;logical型&#xff0c;char型&#xff0c;复数型。整形分为为长整形和短整形定义长整形的方法 同时声明多个变量的话可以用逗号隔开。 加两个冒号的话可以直接在声明的时候赋值。 fortran是唯一…

8086条件转移指令JNE,JNZ

JNZ/JNE 指令格式 转移条件 说明 JNZ/JNE 标号 ZF0 不等于0或不相等转移code segment assume cs:codemov ax,5mov bx,2cmp ax,bx ;两数比较 不相等则转移 jne ok iout: mov ax,4c00Hint 21H ok: add ax,bxjmp iout code ends endAX0005 BX0002 CX0013 DX0000 SP00…

8086条件转移指令JE/JZ,JNE/JNZ

JE/JZ,JNE,JNZ检测的只是ZF的值,只要ZF满足则进行转移 JE的逻辑含义是相等则转移 但是JE进行操作的是ZF1才执行所有相等则转移是通过CMP指令来配合使用体现出的CMP AX,BX ;ax-bx 结果是否为0 {true ,ZF1} {false ,ZF0} JE OK (ZF1说明两数相等) (ZF…

git 使用手册

git 作为开源项目首选版本管理软件&#xff0c;必然其优势不容小觑&#xff0c;下面总结一下初次解除用到的一些技能 1. 基本命令介绍 git help branch 查看branch帮助文档 git branch -a 列出当前所有分支 git branch good_proj 创建分支good_proj git checkout good_p…

WZY社区

WZY社区是我自己做的一个网站&#xff0c;后面会详细更新&#xff0c;敬请关注&#xff01;转载于:https://www.cnblogs.com/jxldjsn/p/5146682.html

条件转移指令和无条件转移指令练习

无条件转移指令 JMP条件转移指令 JE JNE JB 低于转移(小于) JNB 不低于转移(大于等于) JA 高于转移(大于) JNA不高于转移(小于等于)查找出数据中0&#xff5e;9的无符号数写到itable单元中 0&#xff5e;9 大于等于0 小于等于9 用JNB和JNA最合适不过了 贴代码~assume cs:code,d…