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

 

我们上节课学习了

  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,一经查实,立即删除!

相关文章

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

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

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

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

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文件夹下新建配…

fortran语法笔记

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

BSA基础数据维护

平台 BSA基础数据维护 。扇区五个字段的内容 本来值为0&#xff0c;经过107上计算解析&#xff0c;得出正常的数值。然后106上报&#xff08;200050&#xff09;&#xff0c;得到回复&#xff08;200051&#xff09;。 查看回复数据&#xff0c;是否有错误。比如提示104 基站拼…

API函数MessageBox的参数与返回值

Win32汇编函数的参数,参数类型,返回值都是一个dword类型(4字节) 返回值永远放在EAX中,如超过4个字节则返回一个数据的指针(指向返回值存放的缓冲区地址).data titleS db helloworld,0 messageS db hello,welcome to win32,0.code start:invoke MessageBox,NULL,offset message…

The initialize list of C++ Class

性能问题之外&#xff0c;有些时场合初始化列表是不可或缺的&#xff0c;以下几种情况时必须使用初始化列表 常量成员&#xff0c;因为常量只能初始化不能赋值&#xff0c;所以必须放在初始化列表里面 Error1(constchar* constmsg) :data(msg) { //data msg; } 引用类型&…

PYTHON--定期监测服务器端口,并将结果写入MYSQL

定时监测服务器端口&#xff0c;然后将结果入写数据库。 监测用NC命令&#xff0c;入库就用PYTHON的MYSQL模块 再调一个基于函数的多线程。。。 妥妥的。。 是网上两个功能的合成。。 俺不生产代码&#xff0c;俺只是BAIDU的搬运工&#xff01; #!/usr/bin/env python import m…

MS_DOS头部 IMAGE_DOS_HEADER

MS_DOS头部 IMAGE_DOS_HEADER STRUCT{00H WORD e_magic ;DOS可执行文件标记字符串MZ(4D 5A)3CH DWORD e_1fanew ;指向PE文件头} IMAGE_DOS_HEADER ENDS用十六进制编辑器打开一个EXE文件 如QQ.EXEe_magic5A 4D e_1fanew00000100H---->此地址指向PE头文件

计算机原理学习(6)-- x86-32 CPU和内存管理之分页管理

前言 上一篇我们了解了x86-16 CPU计算机的内存访问方式&#xff0c;寻址方式&#xff0c;以及基于MS-DOS的应用程序的内存布局。这一篇会主要介绍32位处理器的内存访问&#xff0c;内存管理以及应用程序的内存布局。虽然目前64位CPU已经非常普及了&#xff0c;不过相对于32位的…

socket通信简介

前言 我们深谙信息交流的价值&#xff0c;那网络中进程之间如何通信&#xff0c;如我们每天打开浏览器浏览网页时&#xff0c;浏览器的进程怎么与web服务器通信的&#xff1f;当你用QQ聊天时&#xff0c;QQ进程怎么与服务器或你好友所在的QQ进程通信&#xff1f;这些都得靠sock…

SQL Server自动化运维系列——关于邮件通知那点事(.Net开发人员的福利)

需求描述 在我们的生产环境中&#xff0c;大部分情况下需要有自己的运维体制&#xff0c;包括自己健康状态的检测等。如果发生异常&#xff0c;需要提前预警的&#xff0c;通知形式一般为发邮件告知。 邮件作为一种非常便利的预警实现方式&#xff0c;在及时性和易用性方面也有…

So easy Webservice 1.Socket建设web服务

socket 是用来进行网络通讯的&#xff0c;简单来说&#xff0c;远程机器和本地机器各建一个socket&#xff0c;然后通过该socket进行连接通讯 socket简单模型图&#xff1a; socket的原理图&#xff1a; 代码实现&#xff1a; 1.创建socket服务端&#xff1a;用于处理客户端发送…

Java 自带MD5 校验文件

http://www.iteye.com/topic/1127319 前天第一次发表博客到论坛&#xff0c;关于Java文件监控一文&#xff0c;帖子地址在&#xff1a;http://www.iteye.com/topic/1127281 评论的朋友很多&#xff0c;下载代码的朋友很不少&#xff0c;感谢在论坛上看我帖子的朋友&#xff0c;…

决策树资料汇总

2012年8月26日决策树&#xff08;Decision tree&#xff09;决策树是以实例为基础的归纳学习算法。它从一组无次序、无规则的元组中推理出决策树表示形式的分类规则。它采用自顶向下的递归方式&#xff0c;在决策树的内部结点进行属性值的比较&#xff0c;并根据不同的属性值从…

metasploitable2渗透测试

一、系统弱密码登录 1、在kali上执行命令行telnet 192.168.26.129 2、Login和password都输入msfadmin 3、登录成功&#xff0c;进入系统 4、测试如下&#xff1a; 二、MySQL弱密码登录&#xff1a; 1、在kali上执行mysql –h 192.168.26.129 –u root 2、登录成功&#…

Portainer.io:让容器管理变得更加直观

在现代软件开发和部署中&#xff0c;容器化技术已经变得越来越流行。Docker 是其中一种领先的容器化平台&#xff0c;而 Portainer.io 则是一个优秀的管理工具&#xff0c;使得 Docker 的使用变得更加简单和可视化。本文将介绍 Portainer.io 的基本功能和如何在 Docker 上安装和…

python开发的一些tips

1. Notepad编写python脚本 1&#xff09;新建文件&#xff0c;编写代码 2&#xff09;点击菜单栏&#xff0c;“语言”—>“P”—>“Python”&#xff0c;设置脚本为Python语言的高亮&#xff08;这样保存文本的时候&#xff0c;Notepad也可以自动识别文件类型为.py&…

metasploitable3渗透测试

1、攻击windows服务器漏洞 用nmap对网段进行扫描nmap -sP 192.168.123 在进行IP扫描 发现Windows服务器漏洞 步骤: msfconsole---进入渗透模块

以前写的一个下载小说的工具

因为当时发现只有一个站点有。但是时时联网的要求太让人不爽。就写了一个给全下下来了。 用到了: 1. 正则表达式&#xff0c;分析章节和内容&#xff1b; 2. 线程池下载&#xff0c;并且对下载中的相关超时做了一些处理&#xff1b; 3. 文件生成与写入&#xff0c;注意格式问题…