系统因果性

1、因果系统的定义
若系统当前输出仅由系统当前或过去的输入决定,则称该系统为因果系统。由于因果系统是物理课实现的,且具有稳定性和可预测性,所以得到广泛应用。设系统输入、输出分别为 x ( t ) x(t) x(t) y ( t ) y(t) y(t),系统冲激响应为 h ( t ) h(t) h(t)。则
y ( t ) = x ( t ) ∗ h ( t ) = ∫ τ h ( τ ) x ( t − τ ) d τ y(t)=x(t)*h(t)=\int_\tau h(\tau)x(t-\tau)d\tau y(t)=x(t)h(t)=τh(τ)x(tτ)dτ
 如果系统满足因果性,则 y ( t ) y(t) y(t) x ( t − τ ) x(t-\tau) x(tτ)决定,这意味着,系统冲激响应需满足:
h ( t ) = 0 , t < 0 h(t)=0, t<0 h(t)=0,t<0
 下图给出了不同系统冲激响应示意图,显然只有红色曲线对应的冲激响应才满足因果系统条件。
在这里插入图片描述

图1. 因果冲激响应示意图

2、因果系统频响需满足的条件
  从上面的分析可知,因果系统的冲激响应满足 h ( t ) = 0 , t < 0 h(t)=0,t<0 h(t)=0,t<0,它可以进一步表示为:
h ( t ) = h ( t ) s i g n ( t ) (1) h(t)=h(t)sign(t) \tag{1} h(t)=h(t)sign(t)(1)
  其中, s i g n ( t ) = {   1 , t ≥ 0 0 , t < 0 sign(t)=\left\{\begin{matrix}\ 1,t\geq 0 \\ 0,t<0\\ \end{matrix}\right. sign(t)={ 1,t00,t<0为符号函数。对 h ( t ) h(t) h(t)进行傅里叶变换,得到系统频响,此时有:
H ( ω ) = F ( h ( t ) s i g n ( t ) ) = 1 2 π F ( h ( t ) ) ∗ F ( s i g n ( t ) ) = 1 2 π H ( ω ) ∗ 2 j ω = 1 j π ∫ − ∞ ∞ H ( ω ′ ) ω − ω ′ d ω ′ (2) H(\omega)=\mathcal{F}(h(t)sign(t))=\frac{1}{2\pi}\mathcal{F}(h(t))*\mathcal{F}(sign(t))=\frac{1}{2\pi}H(\omega)* \frac{2}{j\omega}=\frac{1}{j\pi}\int_{-\infty}^{\infty} \frac{H(\omega')}{\omega - \omega'}d\omega' \tag{2} H(ω)=F(h(t)sign(t))=2π1F(h(t))F(sign(t))=2π1H(ω)2=1ωωH(ω)dω(2)
  令 H ( ω ) = U ( ω ) + j V ( ω ) H(\omega)=U(\omega)+j V(\omega) H(ω)=U(ω)+jV(ω),将其带入(2)中,可得:
H ( ω ) = U ( ω ) + j V ( ω ) = 1 j π ∫ − ∞ ∞ U ( ω ′ ) + j V ( ω ′ ) ω − ω ′ d ω ′ = 1 j π ∫ − ∞ ∞ U ( ω ′ ) ω − ω ′ d ω ′ + 1 j π ∫ − ∞ ∞ j V ( ω ′ ) ω − ω ′ d ω ′ = 1 π ∫ − ∞ ∞ V ( ω ′ ) ω − ω ′ d ω ′ − j 1 π ∫ − ∞ ∞ U ( ω ′ ) ω − ω ′ d ω ′ H(\omega)=U(\omega)+j V(\omega)=\frac{1}{j\pi}\int_{-\infty}^{\infty} \frac{U(\omega')+j V(\omega')}{\omega - \omega'}d\omega' \\=\frac{1}{j\pi}\int_{-\infty}^{\infty} \frac{U(\omega')}{\omega - \omega'}d\omega'+\frac{1}{j\pi}\int_{-\infty}^{\infty} \frac{j V(\omega')}{\omega - \omega'}d\omega' \\=\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{V(\omega')}{\omega - \omega'}d\omega'-j\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{U(\omega')}{\omega - \omega'}d\omega' H(ω)=U(ω)+jV(ω)=1ωωU(ω)+jV(ω)dω=1ωωU(ω)dω+1ωωjV(ω)dω=π1ωωV(ω)dωjπ1ωωU(ω)dω
  从上式可得:
U ( ω ) = 1 π ∫ − ∞ ∞ V ( ω ′ ) ω − ω ′ d ω ′ V ( ω ) = − 1 π ∫ − ∞ ∞ U ( ω ′ ) ω − ω ′ d ω ′ U(\omega) = \frac{1}{\pi}\int_{-\infty}^{\infty} \frac{V(\omega')}{\omega - \omega'}d\omega' \\ V(\omega)=-\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{U(\omega')}{\omega - \omega'}d\omega' U(ω)=π1ωωV(ω)dωV(ω)=π1ωωU(ω)dω
 从上面的式子可知,因果系统频响的实部和虚部并不是相互独立的,由实部可以推出虚部,同样由虚部也可以推出实部。这称为Kramers-Kroningt条件。

3、时延因果系统
  上面讨论的均是无时延的因果系统,实际系统一般都是有时延的。设系统时延为 τ \tau τ,若该系统具备因果性,则需满足:
h ( t ) = 0 , t < τ h(t)=0,t<\tau h(t)=0,t<τ
  若 H ( ω ) H(\omega) H(ω)为对应 h ( t ) h(t) h(t)的频响,则 h ( t − τ ) → H ( ω ) e − j ω τ h(t-\tau) \rightarrow H(\omega)e^{-j\omega \tau} h(tτ)H(ω)eτ。此时其对应的Kramers-Kroningt条件为
R e ( H ( ω ) e − j ω τ ) = U ( ω ) c o s ( ω τ ) + V ( ω ) s i n ( ω τ ) = 1 π ∫ − ∞ ∞ I m ( H ( ω ′ ) e − j ω ′ τ ) ω − ω ′ d ω ′ I m ( H ( ω ) e − j ω τ ) = V ( ω ) c o s ( ω τ ) − U ( ω ) s i n ( ω τ ) = − 1 π ∫ − ∞ ∞ R e ( H ( ω ′ ) e − j ω ′ τ ) ω − ω ′ d ω ′ Re(H(\omega)e^{-j\omega \tau})=U(\omega)cos(\omega \tau)+V(\omega)sin(\omega \tau)= \frac{1}{\pi}\int_{-\infty}^{\infty} \frac{Im(H(\omega')e^{-j\omega' \tau})}{\omega - \omega'}d\omega' \\ Im(H(\omega)e^{-j\omega \tau})=V(\omega)cos(\omega \tau)-U(\omega)sin(\omega \tau)= -\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{Re(H(\omega')e^{-j\omega' \tau})}{\omega - \omega'}d\omega' \\ Re(H(ω)eτ)=U(ω)cos(ωτ)+V(ω)sin(ωτ)=π1ωωIm(H(ω)ejωτ)dωIm(H(ω)eτ)=V(ω)cos(ωτ)U(ω)sin(ωτ)=π1ωωRe(H(ω)ejωτ)dω
  上面的表达式相对比较复杂,在实际计算中由于各种非理想因素或计算误差的影响,可能导致一个因果系统的也无法完全满足上面的条件。为此,需要对系统的因果性进行评估,必要时需要对系统响应进行处理,保证足够的因果性。

4、因果性大小的计算
  如下图所示,因果性通常用系统时延 τ \tau τ以前的冲激响应围成的面积和总面积的比值来衡量,具体地:
N o n C a u s a l i t y ( h ) = ∫ − ∞ τ h 2 ( t ) d t ∫ − ∞ ∞ h 2 ( t ) d t NonCausality(h)=\frac{\sqrt{\int_{-\infty}^\tau h^2(t)dt}}{\sqrt{\int_{-\infty}^{\infty}h^2(t)dt}} NonCausality(h)=h2(t)dt τh2(t)dt
在这里插入图片描述

图2. 因果性判断示意图

  考虑到除了冲激响应外,阶跃响应、脉冲响应等不同类型的响应也经常用到,类似地可以定义这些类型的响应的因果性衡量指标,具体地:
N o n C a u s a l i t y ( r ) = ∫ − ∞ τ r 2 ( t ) d t ∫ − ∞ ∞ r 2 ( t ) d t NonCausality(r)=\frac{\sqrt{\int_{-\infty}^\tau r^2(t)dt}}{\sqrt{\int_{-\infty}^{\infty}r^2(t)dt}} NonCausality(r)=r2(t)dt τr2(t)dt
  其中, r ( t ) = h ( t ) ∗ v ( t ) r(t)=h(t)*v(t) r(t)=h(t)v(t) v ( t ) v(t) v(t)表示阶跃信号或脉冲信号。
  用不同响应来计算因果性程度可能会得到明显不同的结果,如下图所示,红色表示系统的冲激响应,蓝色表示系统的脉冲响应。根据冲激响应计算得到的非因果度是11%,而根据脉冲响应计算得到的非因果度是0.01%。这说明有大约11%的非因果性是来源于系统的高频响应的(高于信号波特率),所以当要求系统工作在低频时,可以大致认为系统是因果的。
在这里插入图片描述

图3. 不同响应判断因果性的差异示意图

5、强制因果操作
  我们期望系统满足因果性,因为这样的系统是物理可实现的,具有稳定性且可预测。但是实际处理时,由于各种非理想因素的影响,导致系统无法完全满足因果性,此时往往需要通过一些处理手段,强制系统满足因果性。下面介绍常用的时域和频域方法。
5.1、频域方法
  频域方法的基本思路是基于Kramers-Kroningt条件构造满足要求的系统频响的实部和虚部。具体地,包含以下步骤:
(1)估计和补偿系统时延 τ \tau τ,即
H 1 ( ω ) = H ( ω ) e − j ω τ = U ( ω ) + j V ( ω ) H_1(\omega)=H(\omega)e^{-j\omega \tau}=U(\omega)+jV(\omega) H1(ω)=H(ω)eτ=U(ω)+jV(ω)
(2) 求系统频响的实部,并根据Kramers-Kroningt条件 V ( ω ) = − 1 π ∫ − ∞ ∞ U ( ω ′ ) ω − ω ′ d ω ′ V(\omega)=-\frac{1}{\pi}\int_{-\infty}^{\infty} \frac{U(\omega')}{\omega - \omega'}d\omega' V(ω)=π1ωωU(ω)dω利用系统实部构造系统虚部,该表达式本质上就是对实部进行希尔伯特变换。
(3) 将变换后的实部/虚部重新组合成完成频响,则该频响即满足因果性。

5.2、时域方法

未完待续…
未完待续…
未完待续…

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

描述React Hooks中的useMemo和useCallback的区别和用途。

React Hooks API中的useMemo和useCallback都是用于优化性能的钩子&#xff0c;但它们的用途和工作方式略有不同&#xff1a; 推荐大家看看我过往的文章 useMemo useMemo是一个性能优化钩子&#xff0c;它返回一个记忆化的值。useMemo可以避免在组件渲染时进行昂贵的计算或操作…

【html】用html+css模拟Windows右击菜单

效果图&#xff1a; 在这个示例中&#xff0c;我为每个.second-list添加了一个.sub-menu的<div>&#xff0c;它包含了子菜单项。当鼠标悬停在.second-list上时&#xff0c;.sub-menu会显示出来。你可以根据需要调整这个示例以适应你的具体需求。 记住&#xff0c;这只是…

SpringMVC系列六: 视图和视图解析器

视图和视图解析器 &#x1f49e;基本介绍&#x1f49e; 自定义视图为什么需要自定义视图自定义试图实例-代码实现自定义视图工作流程小结Debug源码默认视图解析器执行流程多个视图解析器执行流程 &#x1f49e;目标方法直接指定转发或重定向使用实例指定请求转发流程-Debug源码…

谁说串口通信波特率越高越好?

在电子世界里&#xff0c;串口通信就像是电子设备之间的“悄悄话”&#xff0c;它们通过串行数据传输来交换信息。但你知道吗&#xff1f;串口通信的波特率并不是越高越好&#xff0c;这事儿得好好聊聊。 1.什么是串口通信&#xff1f; 串口通信&#xff0c;就像它的名字一样&a…

cherry 笔记三(启动)

cherry启动很简单 app创建完 直接startup()就好了 func main() {app : cherry.Configure("./examples/config/profile-chat.json","chat-master",false,cherry.Cluster,)app.SetSerializer(cserializer.NewJSON())app.Startup() } Configure()--->N…

【Python机器学习】NMF——将NMF应用于人脸图像

将NMF应用于之前用过的Wild数据集中的Labeled Faces。NMF的主要参数是我们想要提取的分量个数。通常来说&#xff0c;这个数字要小于输入特征的个数&#xff08;否则的话&#xff0c;将每个像素作为单独的分量就可以对数据进行解释&#xff09;。 首先&#xff0c;观察分类个数…

汽车销售系统

摘 要 在现代社会&#xff0c;电脑是企业运作和管理必不可少的工具。我们过去用手记下卖出的商品的年代已一去不复返了。在我国&#xff0c;汽车销售行业的竞争日趋激烈的情况下&#xff0c;如何提高企业的管理水平&#xff0c;提高企业的工作效率&#xff0c;提高企业的服务质…

ARC学习(3)基本编程模型认识(三)

笔者来介绍arc的编程模型的中断流程和异常流程 1、中断介绍 主要介绍一下中断进入的流程&#xff0c;包括需要配置的寄存器等信息。 中断号&#xff1a;16-255&#xff0c;总共240个中断。触发类型&#xff1a;脉冲或者电平触发中断优先级&#xff1a;16个&#xff0c;0最大&…

DAC测试实验——FPGA学习笔记7

一、DAC简介 DAC全称Digital to Analog Converter&#xff0c;即数模转换器。它用于将主控芯片产生的数字值(0和1)转换为模拟值(电压值)。 1、DAC参数指标 2、DAC类型 常用的DAC可大致分为权电阻网络DAC、T型电阻网络DAC、倒T型电阻网络DAC以及权电流型DAC。 3、AD9708/3PD9…

RSA 加密算法的基础数论、基本原理与 Python 实现 (包含扩展欧几里得算法)

Title: RSA 加密算法的基础数论、基本原理与 Python 实现&#xff08;包含扩展欧几里得算法&#xff09; 文章目录 前言I. 数学原理1. 整数环2. 单位元3. 欧拉定理 II. 算法原理1. 扩展欧几里得算法2. RSA 非对称加密算法 III. 算法实现1. 源代码2. 测试结果 总结参考文献 前言…

spdlog生产者消费者模式

spdlog生产者消费者模式 spdlog提供了异步模式&#xff0c;显示的创建async_logger, 配合环形队列实现的消息队列和线程池实现了异步模式。异步logger提交日志信息和自身指针&#xff0c; 任务线程从消息队列中取出消息后执行对应的sink和flush动作。 1. 环形队列 1.1 环形队…

智慧校园综合门户有哪些特点?

智慧校园的门户系统&#xff0c;作为整个智慧校园架构的门户窗口&#xff0c;扮演着至关重要的角色。它如同一座桥梁&#xff0c;将校园内的各种信息资源、应用服务以及管理功能紧密相连&#xff0c;为师生、家长及管理人员提供了一个集中访问的便捷通道。智慧校园门户的设计理…

RPC通信原理以及项目的技术选型

目录 1.引言 2、RPC通信原理 3.图示解析 4.再举个例子 1.引言 根据上一篇博客《单机&#xff0c;集群和分布式》的举的例子。 我们最终合理地通过对大型软件的合理划分&#xff0c;划分成不同模块&#xff0c;按需求&#xff08;硬件需求&#xff0c;高并发需求&#xff09…

Hadoop+Spark大数据技术(微课版)总复习

期末试卷组成 一、选择题(每小题2分&#xff0c;共20分) 二、判断题(每小题2分&#xff0c;共20分) 三、简答题(每小题5分&#xff0c;共20分) 四、程序分析题 (第1-5小题各6分&#xff0c;第6题10分&#xff0c;共40分) 图1 Hadoop开发环境 图2 HDFS 图3 MapReduce 图4 H…

IDEA插件推荐-CodeGeex

功能&#xff1a;这个插件可以实现快速翻译代码&#xff0c;json文件格式转换&#xff0c;代码语言类型转换。 安装方式&#xff1a;File->Settings->Plugins->MarketPlace->搜索“CodeGeex”即可 &#xff08;CodeGeex功能展示&#xff09; &#xff08;CodeGeex…

【科普】半导体制造过程的步骤、技术、流程

在这篇文章中&#xff0c;我们将学习基本的半导体制造过程。为了将晶圆转化为半导体芯片&#xff0c;它需要经历一系列复杂的制造过程&#xff0c;包括氧化、光刻、刻蚀、沉积、离子注入、金属布线、电气检测和封装等。 基本的半导体制造过程 1.晶圆&#xff08;Wafer&#xf…

算法篇-二叉树

二叉树的遍历 分为前序、中序和后续的遍历&#xff0c;思想就是利用递归。 前序遍历-中左右 代码&#xff1a; public void travelTree(TreeNode node, List<Integer> resulst) {if (node null){return;}// 中resulst.add(node.val);// 左travelTree(node.left, resul…

基于springboot websocket和okhttp实现消息中转

1、业务介绍 消息源服务的消息不能直接推给用户侧&#xff0c;用户与中间服务建立websocket连接&#xff0c;中间服务再与源服务建立websocket连接&#xff0c;源服务的消息推给中间服务&#xff0c;中间服务再将消息推送给用户。流程如下图&#xff1a; 此例中我们定义中间服…

Flink Sql Redis Connector

经常做开发的小伙伴肯定知道用flink连接redis的时候比较麻烦&#xff0c;更麻烦的是解析redis数据&#xff0c;如果rdis可以普通数据库那样用flink sql连接并且数据可以像表格那样展示出来就会非常方便。 历时多天&#xff0c;我终于把flink sql redis connector写出来了&…

关于Pytorch转换为MindSpore的一点建议

一、事先准备 必须要对Mindspore有一些了解&#xff0c;因为这个框架确实有些和其它流程不一样的地方&#xff0c;比如算子计算、训练过程中的自动微分&#xff0c;所以这两个课程要好好过一遍&#xff0c;官网介绍文档最好也要过一遍 1、零基础Mindspore&#xff1a;https://…