数字信号处理7

news2024/12/24 2:19:25

昨天着重就是离散时间系统的复习,包括离散时间系统的分类有哪些,是根据什么进行分类的,要搞清楚,LTI系统是一个什么样的系统,以及卷积的操作,因果LTI等,回顾完这些之后,就开始了今天的学习。

首先是离散时间系统的描述,很有意思的一点,现在我们可以应用数学方法来描述离散时间系统了,常用的就是差分方程,至于差分方程有人说不会的,可以看高等数学或者是找找宇哥的课听。

一、递归\非递归的离散时间系统,

我也不多说了递归就是一个系统它在n时刻的输出y(n)是依赖于一定数量的y(n-1),y(n-2),\cdots,y(n-k),,这样的系统就是递归的,相反的,非递归的就是y(n)仅仅依赖于当前和过去的输入x(n-1),x(n-2),\cdots,x(n-k),,我们用两个很简单的式子表示一下递归和非递归:

因果的实际可实现的递归:

y(n)=F[y(n-1),y(n-2),\cdots,y(n-N),x(n),x(n-1),\cdots,x(n-M)]

非递归:

y(n)=F[x(n),x(n-1),\cdots,x(n-M)]

我觉得清楚明白。


然后就到了差分方程推导这块,首先,我们得介绍两个概念:

对于一个信号y(n)来说,如果他是一个递归的系统,y可以表示成:

y(n)=ay(n-1)+x(n),

然后我们对他进行递归,计算n\geqslant 0时候y(n)的连续值:

y(n)=a^{n+1}y(-1)+\sum_{k=0}^{n}a^kx(n-k),n\geqslant0

这样的话,我们就将一个系统响应分成了两个部分,一个是系统的初始条件,另一个是系统对输入信号的响应,

我们假设,y(-1)=0,也就是说,这个系统在时刻n=0初始时弛豫的,他的记忆为0。

1、零状态响应:

y_{zs}(n)=\sum_{k=0}^{n}a^kx(n-k),n\geqslant 0

很简单吧,就是说这个系统零状态。

2、零输入响应(自然响应):

这个就更简单了,x(n)=0嘛,就是我们的系统里面没有输入,这时候,

y_{zi}(n)=a^{n+1}y(-1),n\geqslant 0

零输入响应是系统的本身的特性,零状态响应是输入信号给系统强加之后的响应,也常常被称为系统的强迫响应。从上面就得到,我们的系统可以表示成零输入响应和零状态响应的和。

然后,就是按照数学方法去求解差分方程,你要去计算一个齐次解y_h(n)和一个特解y_p(n),然后二者相加,就是y(n),和差分方程计算一样,如果我们想知道齐次解中的常系数{C},就还得计算题目或者实际中得到的几个特殊值,这样才能够的到这些常系数,但是已经不难了,就是个带入特值求解嘛。

然后,有一个各种输入信号的特殊解的一般形式的表格,我觉得这个还是比较重要的,就写上吧:

输入信号x(n )特殊解y_p(n)
常数AK
AM^nKM^n
An^MK_0n^M+K_1n^{M-1}+\cdots+K_M
A^nn^MA^n(K_0n^M+K_1n^{M-1}+\cdots+K_M)
\left\{\begin{matrix} Acos(\omega_0 n)\\ \\ Asin(\omega_0 n) \end{matrix}\right.K_1cos(\omega_0n)+K_2sin(\omega_0 n)

然后我们来看到底什么样的系统可以是一个线性系统呢:

他必须满足的条件是什么?

书上给出了三个条件:

1、系统总是等于零输入响应和零状态响应之和

2、零状态响应满足叠加法则

3、零输入相应满足叠加法则

这样的系统就是一个线性系统。

上面的只是一个小插曲,有一个问题,一个可以用线性常系数差分方程表示的递归系统是LTI吗,答案是当然的,这是因为:系数全是常数,并不按时间特性去改变,所以,必然是LTI。


LTI 的冲激响应:

之前,上一篇博客里面对LTI的冲激响应被定义为系统对单位采样激励的相应x(n)=\delta(n),在递归的情况下呢?

如果输入x(n)=\delta(n)且系统是初始弛豫的,那么h(n)仅是等于y_{zs}(n)

系统对任何激励函数的全响应是由差分方程的两个结合和来组成的。

那么我们一个怎么样去对一个N解差分方程所描述的系统进行稳定性判断呢?

因为BIBO稳定要求冲激响应是绝对可加的,我们对于一个因果系统,就可以得到:

\sum_{n=0}^{\infty}|h(n)|=\sum_{n=0}^{\infty}|\sum_{k=1}^{N}C_k\lambda_k^n|\leqslant \sum_{k=1}^{N}|C_k|\sum_{n=0}^{\infty}|\lambda_k|^n

(lambda是特征多项式的根)这样子就能判断了:对于一个由线性常系数差分方程描述的因果IIR系统,其稳定的必要条件是特征多项式的所有根在幅度上小于1。


然后四LTI系统的实现,还记得数学信号处里5那一章中的那五个单位元件嘛?加法器,乘法器(常数、信号)、单位延迟、单位超前,一个系统,实际上就靠着这些个元件排列组合,以求实现相关功能。

我们举个例子:

y(n)=-a_1y(n-1)+b_0x(n)+b_1x(n-1)

其实,我觉得这个跟电路图是很像的,上面这个例子,就可以这样子用元件来表示:

 同时呢,我们也知道,交换级联的线性时不变系统的次序,整个系统的响应还是保持不变的,那么我们就可以把上面的给转换一下:

 然后,你就发现,两个单位延迟元件可以合并:

 那么这样子的话 ,我们就可以用上面从图一到图三的方式来推广到一个一般LTI系统:

y(n)=-\sum_{k=1}^{N}a_ky(n-k)+\sum_{k=0}^{M}b_kx(n-k)

如果我们用图一或者图二的方式,那么就需要N+M个延迟器和N+M+1个乘法器,用图三的话,只要N+M-1个乘法器和max{M,N}个延迟器,减少了硬件的使用量。

实际上,每个FIR系统可以通过非递归实现,但是从另一方面看,任何FIR系统又都是可以递归的实现的。这个书上又例子,我就不写了,我想其他的书上应该也是有的。


好了,前面哪些琐碎的概念的确写的难受,接下来要说的是一个非常重要的计算方法:相关,之前我就在昨天的卷积那里说到过相关,他和卷积的计算步骤很像的,但是,他却和卷积的意义是不一样的。

相关:计算两个信号的相关,其目的在于衡量两个信号的相似程度,并且由此来提取在很大程度上应用得到的信息。

主要要说的就是两个序列:自相关、互相关:

我们有两个实信号序列,且每个序列都是有限能量的:x(n),y(n),定义他们的互相关为:

r_{xy}(l)=\sum_{n=-\infty}^{\infty}x(n)y(n-l)或者r_{xy}(l)=\sum_{n=-\infty}^{\infty}x(n+l)y(n)

当然,你也可以用ryx来表示,只不过我们要求要遵守这样的规律:

r_{xy}(l)=r_{yx}(-l)

也就是说这两个是偶对称序列,他们关于0对称。

计算互相关序列:平移一个序列,将两个序列相乘,再将成绩序列的所有值相加,如果我们有一段执行卷积的程序,就把x和y的反转序列作为输入,就可以计算互相关序列了:

r_{xy}(l)=x(l)*y(-l)

注意,互相关是不可交换的运算,这是因为缺少了反转操作(不要看上面的这个式子,看定义式就明白了),一般来说,我们会把自、互相关给写成有限和的形式。

那么什么是自相关呢?

很简单,既让y=x不就行了,我们就这样简单的得到了自相关的定义:

r_{xx}(l)=\sum_{n=-\infty}^{\infty}x(n)x(n-l)或者r_{xx}(l)=\sum_{n=-\infty}^{\infty}x(n+l)x(n)

同时,如果说,我们的两个输入序列是长度为N的因果序列(x(n)=y(n)=0,n<0 .and.n\geqslant N),那么我们就可以把自相关、互相关序列给表示成:

r_{xx}(l)=\sum_{n=i}^{N-|k|-1}x(n)x(n-l)以及:

r_{xy}(l)=\sum_{n=l}^{N-|k|-1}x(n)y(n-l)

在计算的时候,python的numpy包的确是有相关的功能函数直接使用,很简单:

numpy.correlate(x, y, mode='valid', old_behavior=False)

随便试了一下,还挺简单的:

那么,既然已经有了自相关、互相关的概念,我们就想知道,他们能干什么,或者说,他们有什么是我们可以用来帮助我们解决问题的性质?

1、信号的自相关序列再零延迟处得到器最大值,

2、我们可以对互相关运算中的信号进行缩放,这只会改变他的幅值大小,所以,在处理的时候,我们可以对一个互相关序列进行归一化而不改变其性质

3、自相关是偶函数,我们只要计算出一半就可以知道另一半了。

4、如果一个序列x(n)是周期性的,那么其自相关序列也会有相同的周期(这一性质常被用来鉴别观测的物理信号的周期)。

5、系统输入和输出之间的互相关就是冲激响应和输入序列自相关之间的卷积:

r_{xy}(l)=h(-l)*r_{xx}(l)

6、输出信号的自相关:

r_{yy}(l)=r_{hh}(l)*r_{xx}(l)

emm,第二章我大致上就先了解到这个程度了,至于后面的,如果这两天做题过程中出现问题的话,我会补充的。

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

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

相关文章

Python面向对象编程详细解析(都带举例说明!)

前言 Python面向对象编程&#xff08;Object-Oriented Programming&#xff0c;简称OOP&#xff09;是一种编程范式&#xff0c;它将数据和操作数据的方法封装在一起&#xff0c;形成一个对象。 Python中的面向对象编程包括以下内容&#xff1a; 目录点击对应章节可直接跳转…

数据治理项目易失败?企业数据治理的解决思路在这里

据Gartner 的一项调查显示&#xff0c;我国超过90%的数据治理项目都失败了。大家的感受也是如此&#xff1a;数据治理的项目不好落地&#xff0c;数据治理项目实施起来从理论到实践有一条巨大的鸿沟很难跨越。 失败的原因各种各样&#xff0c;总结起来大概有4类&#xff1a; …

编译原理个人作业--第六章——基于 编译原理 国防工业出版社 第三版

2 对表达式((a)(b)) (1) 按照表6.4属性文法构造抽象语法树 (2) 按6.17翻译模式构造表达式抽象语法树 5(1) 下列文法对整型常数、实型常熟世家加法运算符 生成表达式&#xff0c;当两个整型数相加&#xff0c;结果为整形&#xff0c;否则结果为实型 E → E T ∣ T E\r…

软件测试面试题

一、描述 TCP/IP 协议的层次结构&#xff0c;以及每一层中重要协议 TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff09;是互联网的核心协议套件&#xff0c;它定义了在网络中进行通信的规则和标准。TCP/IP协议栈按照层次结构划分&#xff0c;每一…

【DataTable.js】DataTable基础应用

一、简介 DataTables是一个功能强大的Javascript库&#xff0c;用于向HTML表中添加交互特性&#xff0c;虽然简单性是整个项目的核心设计原则&#xff0c;但一开始可能会让人望而生畏。然而&#xff0c;采取这些第一步&#xff0c;让DataTables在你的网站上运行实际上是相当直…

测试——四元数绕轴旋转

float angle 40;Vector3 v rotatePoint.transform.position;Debug.Log("旋转向量 " v "__自身 " cube.transform.rotation);v.Normalize();Debug.Log(v);float f angle * Mathf.Deg2Rad / 2;float sinHalfAngle Mathf.Sin(f);float cosHalfAngle M…

智慧梁场3D建模

智慧梁场3D建模&#xff1a;数字化革命下的新起点 ​ 随着科技的迅猛发展&#xff0c;数字化已经成为了现代工业生产的必然趋势。作为传统工业的核心产业&#xff0c;建筑行业也在不断地探索数字化变革的新路径。而“智慧梁场3D建模”便是其中的一项杰出实践。 ​ 梁场是建筑…

FreeRTOS:系统内核控制函数

目录 前言一、内核控制函数预览二、内核控制函数详解2.1强制上下文切换宏2.2临界区2.3可屏蔽中断2.4调度器2.5调整系统节拍 前言 FreeRTOS 中有一些函数只供系统内核使用&#xff0c;用户应用程序一般不允许使用&#xff0c;这些 API 函 数就是系统内核控制函数。内核控制的一…

【iOS】—— iOS中的相关锁

文章目录 自旋锁1.OSSpinLock2.os_unfair_lock3.atomic 互斥锁pthread_mutexsynchronizedobjc_sync_enterobjc_sync_exit注意事项 NSLockNSRecursiveLock信号量条件锁NSConditionNSConditionLock 读写锁总结 锁作为一种非强制的机制&#xff0c;被用来保证线程安全。每一个线程…

数字时代安全文件共享的重要性

数字时代彻底改变了工作、学习、交流和生活方式的方式。从在线协作到远程工作和电子学习&#xff0c;数字世界为全球各地的人们开辟了新的机遇。然而&#xff0c;伴随着这种便利性和可访问性而来的是对安全文件共享的需求。随着越来越多的机密信息在网上共享&#xff0c;窃取该…

常用数据可视化相关型图表大全

大数据时代&#xff0c;工作中我们可能经常会需要处理很多数据&#xff0c;需要在总结汇报中展示呈现&#xff0c;俗话说“字不如表&#xff0c;表不如图”&#xff0c;那么如何缩短数据与用户的距离?让用户一眼Get到重点? 在理解或分析大量数据时&#xff0c;数据可视化起着…

开始第一个vue项目,环境搭建+html项目运行

【用vue.js&#xff0c;通过script标签导入】 1. 搭建vue脚手架 安装node js安装cnpm&#xff08;淘宝源&#xff09; 【vue】在windows中搭建vue开发环境&#xff08;全网最详细&#xff09;_vue环境搭建_一起来学吧的博客-CSDN博客2a 2. 官网下载地址&#xff1a; 安装 …

Python实现ACO蚁群优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

伟大的公司只需要十一人

在生成式AI、云计算等技术逐渐抹平大企业与中小企业之间的技术、成本差距后&#xff0c;各企业真正比拼的&#xff0c;只剩下人才、创意与执行力。 目前&#xff0c;随着AI技术的快速迭代&#xff0c;各种基于AIGC&#xff08;人工智能内容生成&#xff09;技术的产品不断涌向…

pytest自动化测试框架和unittest自动化测试框架的区别

目录 Unittest vs Pytest 用例编写规则 用例前置与后置条件 断言 测试报告 失败重跑机制 参数化 用例分类执行 实例演示 前后置区别 参数化区别 总结 python的单元测试框架经常使用的是unittest&#xff0c;因为它比较基础&#xff0c;并且可以进行二次开发&#xf…

分布式事务的21种武器 - 3

在分布式系统中&#xff0c;事务的处理分布在不同组件、服务中&#xff0c;因此分布式事务的ACID保障面临着一些特殊难点。本系列文章介绍了21种分布式事务设计模式&#xff0c;并分析其实现原理和优缺点&#xff0c;在面对具体分布式事务问题时&#xff0c;可以选择合适的模式…

时间序列预测 | Matlab基于最小二乘支持向量机LSSVM时间序列预测,LSSVM时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 基于最小二乘支持向量机LSSVM多维时间序列预测LSSVM多变量时间序列预测,matlab代码 评价指标包括:MAPE、MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %----------------…

如何落地中台架构

大家好&#xff0c;我是易安&#xff01;今天我分享下如何落地中台架构。 前台和后台 讲中台之前&#xff0c;我们先来理解下前台和后台&#xff0c;这样&#xff0c;你才能更清楚中台的定位。 前台 比较好理解&#xff0c;指的是 面向C端的应用&#xff0c;比如像微信、淘宝这…

数字音频接口I2S-PDM-TDM-PCM

主要分类&#xff1a;模拟、数字&#xff08;I2S、PCM、PDM、TDM&#xff09; 模拟音频&#xff0c;就是功放输出的&#xff0c;驱动音箱和喇叭的音频。模拟麦克风采样回来的数据也是模拟音频。通常会有单端或差分两种信号。 数字音频&#xff0c;不能直接驱动喇叭&#xff0…

混剪功能开发——抖音账号矩阵系统源码解析

抖音是目前国内非常流行的短视频平台之一&#xff0c;用户数量庞大&#xff0c;更是吸引了许多企业和个人在上面开设账号&#xff0c;通过发布内容来进行流量变现。但是&#xff0c;在一个账号发布内容的同时&#xff0c;管理员又需要同时关注多个账号&#xff0c;对账号的管理…