最小相位系统

最小相位系统

1、传递函数

一个线性系统的响应。

比如一个RC低通滤波器:

Low_pass_filter

交流分量在电容的充放电中被滤除掉,通过设置电容器的电容值,以及电阻值,能够控制这种滤除能力,这个参数为RC。

电容的电抗为 1 / j w C 1/jwC 1/jwC,因此容易的写出其频率响应,其中 V i n = ∑ k = 1 L A k ℜ { exp ⁡ ( j ϕ k ) exp ⁡ ( j w t ) } V_{in} = \sum_{k=1}^{L}A_k\Re\{\exp(j\phi_k)\exp(jwt)\} Vin=k=1LAk{exp(jϕk)exp(jwt)}
V o u t = 1 / j w C R + 1 / j w C V i n = 1 1 + j w R C V i n V_{out} = \frac{1/jwC}{R+1/jwC} V_{in} = \frac{1}{1+jwRC} V_{in} Vout=R+1/jwC1/jwCVin=1+jwRC1Vin
将这个系数提出来:
H ( w ) = 1 1 + j w R C H(w) = \frac{1}{1+jwRC} H(w)=1+jwRC1
这是一个变量为角频率的复变函数。为了便于在二维空间展示,对其取模、取相角,分别得到幅频响应和相频响应。求逆傅立叶变换得到 h ( t ) h(t) h(t)​,冲激函数响应。

此时的 H ( w ) H(w) H(w)是一种传递函数(transfer function)。

以上是简单情况,仅当输入信号存在傅立叶变换的时候才成立,傅立叶变换要求输入信号绝对可积。对于更一般的情况,对频率进行推广。傅立叶变换的核函数是 e j w t e^{jwt} ejwt,将纯虚数推广到复数,就能够对幅度进行调控,即 e s t = e ( a + j b ) t = e a t e j b t e^{st}=e^{(a+jb)t}=e^{at}e^{jbt} est=e(a+jb)t=eatejbt。至于衰减还是增加,取决于 a a a的正负。

得到:
H ( s ) = 1 1 + s R C H(s) = \frac{1}{1+sRC} H(s)=1+sRC1
当s取纯虚数的时候,等于频率响应。

为了便于分析,将 H ( s ) H(s) H(s)画在一个复平面上,横轴为实轴,纵轴为虚轴。

这个系统是一个因果系统,没有输入的时候不会有输出。因此其时域响应是一个右边信号,因此其收敛域为 R O C = { s ∣ ∣ s ∣ > − R C } ROC = \{s\mid |s|> -RC\} ROC={ss>RC}

包含虚轴,那么该系统稳定。有理+极点在左半平面,因此系统因果。

2、最小相位

比较相位大小,首先要保证幅频响应相同,或者说幅度增益相同,否则没有意义。

结论:系统首先要求因果+稳定

  1. 拉普拉斯变换:零极点都在左半复平面
  2. z变换:零极点都在单位圆内

则是最小相位系统

首先系统要求稳定,即有界输入对应有界输出,其充要条件是ROC包含虚轴

其次系统要求因果,即 h ( t ) = 0 , ∀ t < 0 h(t)=0,\forall t<0 h(t)=0,t<0,暂时没有好的充要条件,但又一些有意义的结论:

  1. 必要条件:ROC是某个右半复平面。( h ( t ) h(t) h(t)至少要求是右边信号,起点还不确定,所以仅仅是个必要条件)
  2. 充分条件:传递函数是有理的,并且ROC为最右侧极点的右半复平面。

那么,下面的讨论中,假设传递函数可以用有理函数表示。(这意味着其时域响应可以用复指数函数表示)
H ( s ) = N ( s ) D ( s ) (2-1) H(s) = \frac{N(s)}{D(s)} \tag{2-1} H(s)=D(s)N(s)(2-1)


接下来再说什么情况下两个系统的幅度增益是相同的。
∣ H 1 ( s ) ∣ = ∣ N 1 ( s ) ∣ ∣ D 1 ( s ) ∣ = ∣ N 2 ( s ) ∣ ∣ D 2 ( s ) ∣ = ∣ H 2 ( s ) ∣ (2-2) |H_1(s)| = \frac{|N_1(s)|}{|D_1(s)|} =\frac{|N_2(s)|}{|D_2(s)|} =|H_2(s)| \tag{2-2} H1(s)=D1(s)N1(s)=D2(s)N2(s)=H2(s)(2-2)
从上面公式(2-2)可以看出,幅度相同,意味着分子分母的幅度都相同。

根据有理传递函数的假设,其分子分母都可以用多项式表示,再由代数基本定理,该多项式可以写成连乘的形式。

先讨论分母,其中A是一个常数, a i , i = 1 , 2 , . . . , N a_i,i=1,2,...,N ai,i=1,2,...,N
D ( s ) = A Π i = 1 N ( 1 − a i s − 1 ) = A ( 1 − a 1 s − 1 ) ( 1 − a 2 s − 1 ) ⋯ ( 1 − a N s − 1 ) (2-3) D(s) = A\Pi_{i=1}^N(1-a_is^{-1}) = A(1-a_1s^{-1})(1-a_2s^{-1})\cdots(1-a_Ns^{-1}) \tag{2-3} D(s)=AΠi=1N(1ais1)=A(1a1s1)(1a2s1)(1aNs1)(2-3)
如果要求系统因果稳定,那么 ℜ { a i } < 0 \Re\{a_i\}<0 {ai}<0,且ROC为右半平面。

因此必有 D 1 ( s ) = D 2 ( s ) D_1(s)=D_2(s) D1(s)=D2(s)​,否则必有一个不满足因果稳定的条件。

再讨论分子,其中B是一个常数, b i , i = 1 , 2 , . . . , M b_i,i=1,2,...,M bi,i=1,2,...,M
N ( s ) = B Π i = 1 M ( 1 − b i s − i ) = B ( 1 − b 1 s − 1 ) ( 1 − b 2 s − 1 ) ⋯ ( 1 − b M s − 1 ) (2-4) N(s) = B\Pi_{i=1}^M(1-b_is^{-i}) = B(1-b_1s^{-1})(1-b_2s^{-1})\cdots(1-b_Ms^{-1}) \tag{2-4} N(s)=BΠi=1M(1bisi)=B(1b1s1)(1b2s1)(1bMs1)(2-4)
系统因果稳定跟分子没有关系,因此 b i ∈ C b_i\in C biC,为任意复数。

因此,两个因果稳定的系统,幅度增益相同,相位响应不同,只能从分子入手,分母不能动。


对任意一项 ( 1 − b i s − 1 ) (1-b_is^{-1}) (1bis1),其中 s = σ + j w , b i = x + j y s=\sigma+jw,b_i = x+jy s=σ+jw,bi=x+jy。取相角:
ϕ = ∡ ( 1 − b i s − 1 ) = arg ⁡ ( 1 − x + j y σ + j w ) = arg ⁡ ( σ − x + j ( w − y ) σ + j w ) = arg ⁡ ( K e ϕ 1 − ϕ 2 ) K = ( σ − x ) 2 + ( w − y ) 2 σ 2 + w 2 ϕ = ϕ 1 − ϕ 2 = arctan ⁡ 2 ( w − y σ − x ) − arctan ⁡ ( w σ ) \phi = \measuredangle (1-b_is^{-1})= \arg (1-\frac{x+jy}{\sigma+jw}) =\arg(\frac{\sigma-x+j(w-y)}{\sigma+jw}) = \arg(Ke^{\phi_1-\phi_2}) \\ K = \frac{\sqrt{(\sigma-x)^2+(w-y)^2}}{\sqrt{\sigma^2+w^2}}\\ \phi = \phi_1-\phi_2 = \arctan2(\frac{w-y}{\sigma-x}) - \arctan(\frac{w}{\sigma}) ϕ=(1bis1)=arg(1σ+jwx+jy)=arg(σ+jwσx+j(wy))=arg(Keϕ1ϕ2)K=σ2+w2 (σx)2+(wy)2 ϕ=ϕ1ϕ2=arctan2(σxwy)arctan(σw)

讨论相频响应,需要令 σ = 0 \sigma=0 σ=0,频率 w w w从0开始递增,通常使用波特图来描述,横坐标用类似于np.linspace(1e-2,1e2,1000)的语句来描述。

因此 ϕ 2 = π / 2 \phi_2=\pi/2 ϕ2=π/2 ϕ 1 = arctan ⁡ 2 ( w − y − x ) \phi_1 = \arctan2(\frac{w-y}{-x}) ϕ1=arctan2(xwy),需要注意 arctan ⁡ 2 \arctan2 arctan2的输出范围是 [ − π , π ) [-\pi,\pi) [π,π)。因此当 − x > 0 -x>0 x>0为常数, w − y > 0 w-y>0 wy>0的时候,返回的是一个一象限的锐角,因此 ϕ 1 \phi_1 ϕ1 − π / 2 -\pi/2 π/2递增到0。反过来将从 π / 2 \pi/2 π/2递减到0

可以用python代码来描述这个过程:

import numpy as np
import matplotlib.pylab as plt
# (1-bs^-1)
sigma = 0
Npoints = 1000
w = np.linspace(1e-1,100,Npoints)
s = sigma+1j*wb = -5+1j*0y1 = np.angle((1-b/s), deg=True)
y2 = np.angle((1+b.conjugate()/s), deg=True)x1 = np.abs(1-b/s)
x2 = np.abs(1+b.conjugate()/s)
plt.semilogx(w,y1,'ro')
plt.semilogx(w,y2,'b*')
plt.legend(["negtive poles","positive poles"])
plt.show()

上述推导属实令人费解,主要原因是我们采用了负幂来描述这个系统。实际上,在控制工程当中,使用正幂来描述连续时间系统会更加常见。

如果是正幂,那么分子中的一项为 ( s − b i ) (s-b_i) (sbi),令s的实部为0,即 s = j w s=jw s=jw,那么
∡ ( s − b i ) = a r c t a n 2 ( w − y − x ) ∣ ( s − b i ) ∣ = x 2 + ( w − y ) 2 (2-5) \measuredangle(s-b_i) = arctan2(\frac{w-y}{-x}) \\ |(s-b_i)| = \sqrt{x^2+(w-y)^2} \tag{2-5} (sbi)=arctan2(xwy)(sbi)=x2+(wy)2 (2-5)
显然,要使得幅频响应不变,那么 b i b_i bi的虚部不能动,实部的正负可以变。

( w − y ) > 0 (w-y)>0 (wy)>0 ( w − y ) < 0 (w-y)<0 (wy)<0
实部为正(位于正半平面)正钝角负钝角
实部为负(位于负半平面)正锐角负锐角

所以,当实部为负,即零点在负半平面,随着频率的变化,相位变化相比于零点在正半平面更慢。也就是说相位变化小,即群时延小,阶跃响应建立更快,冲激响应能量更向0时刻集中。需要注意,最小相位系统,其相位延迟不一定是最小,但是相位变化一定是最小。比如一个最小相位系统的相位延迟了45度,另外一个相同幅频响应的系统相位延迟可能只有30度。

总结

Tip1:

关于最小相位系统有一些等价条件:

  1. 群时延最小的系统
  2. 冲激响应能量最靠近0时刻的系统
  3. 阶跃响应建立最快的系统
  4. 有理传递函数的情况下,零极点都在复平面的左半平面的系统
  5. 有理传递函数的情况下,对于离散时间系统,零极点都在单位圆内的系统
  6. 有理传递函数的情况下,系统和逆系统都是因果稳定的系统

Tip2:

最大相位系统:零点都在右半平面。因此这种系统因果稳定,但是其逆系统则不可能同时因果稳定。

Tip3:

一个零极点系统可以表示成最小相位系统和全通系统的乘积。

比如:
H ( s ) = s − 1 ( s + 3 ) ( s + 2 ) = s − 1 ( s + 3 ) ( s + 2 ) × s − 1 s + 1 H(s) = \frac{s-1}{(s+3)(s+2)} = \frac{s-1}{(s+3)(s+2)}\times \frac{s-1}{s+1} H(s)=(s+3)(s+2)s1=(s+3)(s+2)s1×s+1s1

H ( z ) = 1 − ( 2 e j π / 3 ) z − 1 ( 1 − 3 z − 1 ) ( 5 − z − 1 ) = z − 1 − 2 e − j π / 3 ( z − 1 − 3 ) ( 5 − z − 1 ) × 1 − ( 2 e j π / 3 ) z − 1 z − 1 − 2 e − j π / 3 × z − 1 − 3 1 − 3 z − 1 H(z) = \frac{1-(2e^{j\pi/3})z^{-1}}{(1-3z^{-1})(5-z^{-1})} = \frac{z^{-1} - 2e^{-j\pi/3}}{(z^{-1}-3)(5-z^{-1})} \times \frac{1-(2e^{j\pi/3})z^{-1}}{z^{-1} - 2e^{-j\pi/3}} \times \frac{z^{-1}-3}{1-3z^{-1}} H(z)=(13z1)(5z1)1(2e/3)z1=(z13)(5z1)z12e/3×z12e/31(2e/3)z1×13z1z13

Tip4:

已知幅频响应,那么其最小相位系统的相频响应响应是唯一的。

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

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

相关文章

单片机+TN901非接触式红外测温设计

摘要 温度测量技术应用十分广泛&#xff0c;而且在现代设备故障检测领域中也是一项非常重要的技术。但在某些应用领域中&#xff0c;要求测量温度用的传感器不能与被测物体相接触&#xff0c;这就需要一种非接触的测温方式来满足上述测温需求。本论文正是应上述实际需求而设计的…

C语言实战:贪吃蛇(万字详解)

&#x1f4a1;目录 效果图 界面设计思路 1. 基本布局 2. 视觉元素 游戏机制设计 基本规则 游戏代码 前期准备 游戏代码详解 数据结构设计 宏定义 数据结构定义 函数原型&#xff08;详见后文&#xff09; 主函数代码 核心代码 Review 效果图 界面设计思路 1. 基…

转型AI产品经理(4):“认知负荷”如何应用在Chatbot产品

认知负荷理论主要探讨在学习过程中&#xff0c;人脑处理信息的有限容量以及如何优化信息的呈现方式以促进学习。认知负荷定律认为&#xff0c;学习者的工作记忆容量是有限的&#xff0c;而不同类型的认知任务会对工作记忆产生不同程度的负荷&#xff0c;从而影响学习效果。以下…

Elasticsearch 认证模拟题 - 16

一、题目 创建一个搜索模版&#xff0c;要求 match_prase 查询&#xff0c;并且用指定的格式高亮&#xff0c;并排序 # 创建索引 PUT my_index {"settings": {"number_of_replicas": 0,"number_of_shards": 1},"mappings": {"p…

【SpringCloud学习笔记】Docker(上篇)

Docker 1. 前置准备 在学习Docker之前我们需要具备以下环境&#xff1a; Linux云服务器 / 虚拟机安装并配置Docker环境&#xff08;命令行中输入docker -v能够显示对应版本证明安装成功&#xff09; 2. 快速入门 要求&#xff1a; 我们先来尝试使用Docker创建MySQL服务&am…

ChatGLM2-6b的本地部署

** 大模型玩了一段时间了&#xff0c;一直没有记录&#xff0c;借假期记录下来 ** ChatGlm2介绍&#xff1a; chatglm2是清华大学发布的中英文双语对话模型&#xff0c;具备强大的问答和对话功能&#xff0c;拥有长达32K的上下文&#xff0c;可以输出比较长的文本。6b的训练参…

pycharm使用pip安装依赖包报错 -----Microsoft Visual C++ 14.0 is required解决方法

pip安装第三方库的时候会报错&#xff1a;需要Microsoft Visual C14.0或更高版本。 报错原因 因为pip所安装的包需要使用C编译后才能够正常安装&#xff0c;但是当前安装环境中缺少完整的C编译环境&#xff0c;因此安装失败。 这样解决方案就很明确了&#xff0c;安装完整的C编…

【学习笔记】解决 VMware Workstation 17 Player 和主机之间无法复制粘贴的问题

【学习笔记】解决 VMware Workstation 17 Player 和主机之间无法复制粘贴的问题 使用VMware Workstation 17 Player&#xff0c;再上面安装 Ubuntu &#xff0c;安装完之后&#xff0c;需要和主机之间进行复制粘贴。 首先安装了VMware Tools。 在打开的页面下把 VMwareTools…

c++【入门】正多边形每个内角的度数

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 根据多边形内角和定理&#xff0c;正多边形内角和等于&#xff1a;&#xff08;n &#xff0d; 2&#xff09;180(n大于等于3且n为整数&#xff09;&#xff08;如下图所示是三角形、四边形、五边形、六边形的形状&#xff09…

Stable Diffusion WebUI 各操作系统安装教程

最近几天在 2 台 Mac、2 台 PC、一台云无 GPU 的 Linux 安装了 Stable Diffusion WebUI&#xff0c;这里记录下如何安装&#xff0c;以及一些注意点和坑。 以下内容针对 Windows&#xff08;N 卡&#xff09;、MacOS&#xff08;m 系列芯片&#xff09;、Linux&#xff08;Ubu…

【国产NI替代】SMU 源测量仪:源测量单元平台主要用于半导体、传感器、模组等 IVR 测试测量

• 集 5 台仪器 (数字万用表、电压源、电流源、电子负载和脉冲发生器) 功能于⼀体 • 典型输出源及测量精度 02%&#xff0c;支持直流/脉冲输出模式 • 脉冲输出模式&#xff0c;最⼩脉冲宽度 100 us &#xff0c;上升时间 10 us • 具有 pA 级分辨率高精度源&#xff0c;且…

【Python机器学习】PCA——特征提取(1)

PCA的一个重要应用是特征提取。特征提取背后的思想是&#xff0c;可以找到一种数据表示&#xff0c;比给定的原始表示更适合于分析。特征提取很有用&#xff0c;它的一个很好的应用实例就是图像。图像由像素组成&#xff0c;通常存储于红绿蓝强度。图像中的对象通常由上千个像素…

变声器软件免费版有哪些?国内外12大热门变声器大盘点!(新)

变声软件是一种人工智能AI音频处理工具&#xff0c;允许用户实时修改自己的声音或改变预先录制的音频。这些软件解决方案可提供不同的效果&#xff0c;如改变声音的音调或速度&#xff0c;或将我们的声音转换成其他人或其他东西的声音&#xff0c;如名人、卡通人物、机器人或不…

WinForms 应用(.NET 8.0)使用ReportViewerCore.WinForms显示打印RDLC报表

在要WinForms 应用&#xff08;.NET 8.0&#xff09;中&#xff0c;显示RDLC报表&#xff0c;就要使用ReportViewerCore.WinForms。原来的ReportViewer只能在.NET Framework框架下运行。 1.ReportViewerCore.WinForms 程序包说明 SQL Server Reporting Services ReportViewer…

[stm32]——uc/OS-III多任务程序

目录 一、获取uC/OS-III源码 二、移植源代码 &#xff08;1&#xff09;建立工程文件 &#xff08;2&#xff09;移植uC/OS-III源码 &#xff08;3&#xff09;添加工程组件和头文件路径 &#xff08;4&#xff09;添加头文件路径 三、修改代码 总结 一、获取uC/OS-III源码 …

【Vue】声明式导航-自定义类名(了解)

问题 router-link的两个高亮类名 太长了&#xff0c;我们希望能定制怎么办 解决方案 我们可以在创建路由对象时&#xff0c;额外配置两个配置项即可。 linkActiveClass和linkExactActiveClass const router new VueRouter({routes: [...],linkActiveClass: "类名1&quo…

【中篇】从 YOLOv1 到 YOLOv8 的 YOLO 物体检测模型历史

YOLO 型号之所以闻名遐迩,主要有两个原因:其速度和准确性令人印象深刻,而且能够快速、可靠地检测图像中的物体。上回我解释了Yolo v1, 今天从Yolov2开始。 YOLOv2:更好、更快、更强 2017 年 7 月一个闷热的星期二下午,雷德蒙(Joseph Redmon, Yolo创始人)再次走上舞台。 …

Android gradle kts 8.0以上版本配置签名和修改APK输出名字

目录 概述修改签名配置新建签名文件目录配置签名信息使用签名信息打包 修改APK名称 概述 之前写过一篇文章是通过Kotlin的Dsl结合gradle编写的插件来管理项目依赖&#xff0c;我是从一个开源项目叫DanDanPlayAndroid项目上学到的&#xff0c;那时还没有使用toml文件来管理项目…

【CS.SE】使用 docker pull confluentinc/cp-kafka 的全面指南

文章目录 1 引言2 准备工作2.1 安装 Docker2.1.1 在 Linux 上安装 Docker2.1.2 在 macOS 上安装 Docker2.1.3 在 Windows 上安装 Docker 2.2 验证 Docker 安装 3 拉取 confluentinc/cp-kafka Docker 镜像3.1 拉取镜像3.2 验证镜像 4 运行 Kafka 容器4.1 启动 ZooKeeper4.2 启动…

【原创】springboot+mysql农业园区管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…