《数字信号处理》学习04-离散时间系统中的线性时不变系统

2024-09-05 01:28

本文主要是介绍《数字信号处理》学习04-离散时间系统中的线性时不变系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一,系统及离散时间系统 

 二,离散时间系统中的线性时不变系统

1,线性系统

 1) 可加性

 2) 比例性(齐次性)

3)叠加原理(叠加性质)

 2,时不变系统(移不变系统)


通过前几篇文章的学习,此时我对序列的相关概念和运算已经有所掌握,接下来我将开始学习新的概念“离散时间系统中的线性时不变系统”,

一,系统及离散时间系统 

首先需要知道系统的概念,在《信号与系统》中,系统是一个具有特定功能的整体,由相互关联的事物组合而成。

由于需要处理的信号基本是离散时间信号(既序列),因此,在这篇文章中我着重学习用于处理序列的离散时间系统。

离散时间系统是指其输入和输出信号都是离散的时间序列。

离散时间系统可以将输入序列 x(n) 变换成输出序列 y(n) ,因此可以用  T\left [ \cdot \right ] 表示这种系统,其中:

  1. T :transform 变换,输入序列 x(n) 变换成输出序列 y(n) 。
  2. 中间的点号  \cdot  用来表示输入的序列
  3. 例如:“将输入序列 x(n) 变换成输出序列 y(n)”就可以用  y(n)=T\left [ x(n) \right ]  表示。
    输出序列一般 用 英文字母 y 指代,y 是 yield  的缩写,yield 有产出,产生,产量的意思。
  4. 不同的离散时间系统会对 输入序列 x(n) 做不同的操作,例如,只在输入信号x(n)前面乘上系数n 的离散时间系统 :y(n)=T\left [ x(n) \right ]=nx(n),或者是将输入信号x(n)取平方的离散时间系统:y(n)=T\left [ x(n) \right ]=x^{2}(n)

需要注意的是:“将输入序列 x(n) 变换成输出序列 y(n)” 这是一种运算,因此,离散时间系统就是一种运算。可以用下图表示:

 二,离散时间系统中的线性时不变系统

 线性时不变系统由两部分组成:线性系统+时不变系统。

先学习线性系统。

1,线性系统

 首先需要知道什么是线性,在大学里面会有《高等数学》课,涉及到线性齐次(或非齐次)微分方程,还有《线性代数》课,可以看到,熟知线性的概念很重要。

线性:就是具有线的特性,而这个线就是直线,在列直线方程时都是使用一次方程,因此,“线性” 跟“一次”挂钩,在运算时,所涉及到的变量都必须是一次项,如果有二次及以上次数的项出现,那么就是非线性。

在《数字信号处理》中,“线性” 一词出现在 “线性系统” 中,当一个系统满足叠加原理(或叠加性质),就是一个线性系统。

线性系统的叠加原理包括比例性和可加性这两个特性。

 假设有两个不同的输入序列 x_{1}(n)  和  x_{2}(n)  分别作用于 离散时间系统  T\left [ \cdot \right ] ,得到离散时间系统 T\left [ \cdot \right ] 分别 对这两个输入序列的响应 序列 T\left [ x_{1}(n) \right ]  和  T\left [ x_{2}(n) \right ],令y_{1}(n)=T\left [ x_{1}(n) \right ],y_{2}(n)=T\left [ x_{2}(n) \right ] 

 1) 可加性

将两个响应序列相加:T\left [ x_{1}(n) \right ]+T\left [ x_{2}(n) \right ]=y_{1}(n)+y_{2}(n)

 现在,让这两个不同的序列 x_{1}(n)  和  x_{2}(n)  同时作用于离散时间系统  T\left [ \cdot \right ] ,得到离散时间系统 T\left [ \cdot \right ]  同时对这两个输入序列的响应序列  T\left [ x_{1}(n)+ x_{2}(n)\right ] ,令

T\left [ x_{1}(n)+ x_{2}(n)\right ]=y(n)

两个不同的输入序列 x_{1}(n)  和  x_{2}(n) ,不管是分别作用于 离散时间系统  T\left [ \cdot \right ] 还是同时作用于 离散时间系统  T\left [ \cdot \right ] ,相加后的响应序列相等,则这个系统满足可加性:   T\left [ x_{1}(n)+ x_{2}(n)\right ]=y(n)=y_{1}(n)+y_{2}(n)

 2) 比例性(齐次性)

 将两个不同的输入序列 x_{1}(n)  和  x_{2}(n) 分别乘上不同系数 a_{1},a_{2} 并作用于离散时间系统T\left [ \cdot \right ] 

如果得到的响应序列满足  T\left [ a_{1}x_{1}(n)\right ]=a_{1}y_{1}(n),T\left [ a_{2}x_{2}(n)\right ]=a_{2}y_{2}(n) ,则这个系统满足比例性(齐次性)

3)叠加原理(叠加性质)

将系统满足 可加性 及 比例性 的公式合二为一,得到线性系统满足叠加原理的公式,如下👇 

T\left [ a_{1}x_{1}(n)+ a_{2}x_{2}(n)\right ]=a_{1}y_{1}(n)+a_{2}y_{2}(n)

上面的公式是以两个输入序列为例,列出的公式,但是对于一个线性系统来说,可以有两个及两个以上的输入序列作用于该线性系统,假设有N个输入序列作用于线性系统,则响应的也会有N个响应序列输出,公式可以写成如下形式:

T\left [ \sum_{i=1}^{N}a_{i}x_{i}(n) \right ]= \sum_{i=1}^{N}a_{i}y_{i}(n)

 线性系统肯定满足:“零输入产生零输出”(当输入序列x(n)的序列值全为0时,0乘任何数都为0,并且,多个0相加的结果也是0,所以响应序列y(n)的序列值也全为0)

 知道了线性系统的相关概念,我现在可以开始理论和实践相结合,做一道题:

 由题目可以看到,输入序列x(n)作用于的离散时间系统T\left [ \cdot \right ],是先将输入序列 x(n) 乘上系数2,接着将序列 2x(n) 上移5个时间单位,最后得到响应序列y(n)

需要注意的是,在做题的过程中,要一直牢记:离散时间系统是对 输入序列 x(n) 的响应

 个人解:先运用可加性的公式判断该系统是否满足可加性

T\left [ x_{1}(n) \right ]=2x_{1}(n)+5=y_{1}(n)

T\left [ x_{2}(n) \right ]=2x_{2}(n)+5=y_{2}(n) 

 T\left [ x_{1}(n)+x_{2}(n) \right ]=2(x_{1}(n)+x_{2}(n))+5=2x_{1}(n)+2x_{2}(n)+5=y_{3}(n)

由于y_{1}(n)+y_{2}(n)=2x_{1}(n)+2x_{2}(n)+10,而 y_{3}(n)=2x_{1}(n)+2x_{2}(n)+5

 所以y_{1}(n)+y_{2}(n)\neq y_{3}(n),因此该系统不满足可加性,不是线性系统,是非线性系统。

书上解:

 2,时不变系统(移不变系统)

时不变系统是指,无论输入序列x(n)在时间上何时作用于离散时间系统 T[\cdot ],系统的响应 y(n) 仅与输入信号x(n)的形状和时间延迟有关,而与输入信号x(n)的实际时间无关。换句话说,如果输入信号 x(n)的时间延迟了n_{0}​ 个单位时间,则系统的输出  y(n)也会相应地延迟n_{0}个单位时间,即 y(n)=T\left [x(n-m) \right ]=y(n-m)。 

 如果一个系统的输入输出满足式 T\left [x(n-m) \right ]=y(n-m),那么它就是一个时不变系统。

 开始上题👇

 解:让乘了系数 n 的输入序列 x(n) 作用于延时m个单位时间的离散时间系统,即T\left [ x(n-m) \right ]=nx(n-m)

接着也让响应序列 y(n) 延时m个单位时间,得到 y(n-m)=(n-m)x(n-m)

可以看到,T\left [x(n-m) \right ]\neq y(n-m),因此该系统是时变系统。

书上的解答:

 如果一个系统既是线性系统,又是时不变系统,那么就可以称这个系统为线性时不变系统(LTI:linear  线性的  time 时间的  invariable不变的)

有问题请在评论区留言或者是私信我,回复时间不超过一天。 

这篇关于《数字信号处理》学习04-离散时间系统中的线性时不变系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137574

相关文章

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

Python实现特殊字符判断并去掉非字母和数字的特殊字符

《Python实现特殊字符判断并去掉非字母和数字的特殊字符》在Python中,可以通过多种方法来判断字符串中是否包含非字母、数字的特殊字符,并将这些特殊字符去掉,本文为大家整理了一些常用的,希望对大家... 目录1. 使用正则表达式判断字符串中是否包含特殊字符去掉字符串中的特殊字符2. 使用 str.isa

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法

《golang获取当前时间、时间戳和时间字符串及它们之间的相互转换方法》:本文主要介绍golang获取当前时间、时间戳和时间字符串及它们之间的相互转换,本文通过实例代码给大家介绍的非常详细,感兴趣... 目录1、获取当前时间2、获取当前时间戳3、获取当前时间的字符串格式4、它们之间的相互转化上篇文章给大家介

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间