离散时间系统模型

离散时间系统模型

        离散时间系统模型是表示数字滤波器的方案。MATLAB® 科学计算环境支持若干种离散时间系统模型,这些模型将在以下章节中介绍:

  1. ​传递函数
  2. 零极点增益
  3. 状态空间
  4. 部分分式展开式(残差形式)
  5. 二阶节 (SOS)
  6. 格型结构体
  7. 卷积矩阵

传递函数

      传递函数是数字滤波器的一种基本 Z 域表示,它将滤波器表示为两个多项式的比值。它是此工具箱的主要离散时间模型。数字滤波器的差分方程的 Z 变换的传递函数模型说明如下

       此处,常量 b(i) 和 a(i) 是滤波器系数,滤波器的阶数是 n 和 m 的最大值。在 MATLAB 环境中,您将这些系数存储在两个向量中(按照惯例是行向量),一个行向量用于分子,一个行向量用于分母。有关传递函数形式的详细信息,请参阅滤波器和传递函数。

零极点增益

传递函数的分解形式(又称为零极点增益形式)为

       按照惯例,多项式系数存储在行向量中,多项式根存储在列向量中。因此,在零极点增益形式中,传递函数的分子和分母的零点和极点位置位于列向量中。分解传递函数增益 k 是 MATLAB 标量。

poly 和 roots 函数在多项式表示和零极点增益表示之间转换。例如,一个简单 IIR 滤波器如下

b = [2 3 4];
a = [1 3 3 1];

此滤波器的零点和极点是

q = roots(b)
p = roots(a)
% Gain factor
k = b(1)/a(1)

回到最初的多项式,

bb = k*poly(q)
aa = poly(p)

请注意,本例中的 b 和 a 表示传递函数:

       对于 b = [2 3 4]roots 函数会缺失 z 等于 0 时的零点。事实上,只要输入传递函数的极点数多于零点数(或相反),该函数都会缺失 z 等于 0 时的极点和零点。这在大多数情况下是可以接受的。然而,为了避免此问题,请在使用 roots 函数之前,直接追加零以使向量长度相同;

 例如,b = [b 0]

状态空间

      将数字滤波器或差分方程组表示为一组一阶差分方程组始终是可能的。在矩阵或状态空间形式中,您可以将公式写为

,

其中 u 是输入,x 是状态向量,而 y 是输出。对于单通道系统,A 是 m×m 矩阵,其中 m 是滤波器的阶数,B 是列向量,C 是行向量,D 是标量。对于输入 u 和输出 y 成为向量、BC 和 D 成为矩阵的多通道系统,状态空间表示法尤其方便。

       状态空间表示很容易扩展到 MATLAB 环境。ABC 和 D 是矩形数组;MATLAB 函数将它们分别视为单个变量。

对状态空间方程进行 Z 变换并将其组合,表明状态空间形式和传递函数形式的等效性:

       如果您不熟悉线性系统的状态空间表示,不要担心。一些滤波器设计算法在内部使用状态空间形式,但无需了解任何状态空间概念即可成功使用它们。不过,如果您的应用大量使用基于状态空间的信号处理,请了解 Control System Toolbox™ 产品,以获得全面的状态空间工具库。

部分分式展开式(残差形式)

每个传递函数还具有对应的部分分式展开(又称为残差形式),如下式所示

前提是 H(z) 没有重复的极点。此处,n 是有理传递函数 b(z)/a(z) 的分母多项式的次数。如果 r 是重极点 sr,则 H (z) 具有以下形式的项:

       Signal Processing Toolbox™ 中的 residuez 函数用于将传递函数转换为部分分式展开式形式,或者反之。residuez 末尾的“z”表示 z 域或离散域。residuez 以列向量 p 形式返回极点,以列向量 r 形式返回极点对应的残差,以行向量 k 形式返回原始传递函数的任何不恰当部分。如果两个极点的差值的模小于任一极点的模的 0.1%,则 residuez 确定这两个极点相同。

部分分式展开式在信号处理中以一种求传递函数的逆 Z 变换的方法出现。例如,下式

的部分分式展开式是

b = [-4 8];
a = [1 6 8];
[r,p,k] = residuez(b,a)

它对应于

要想求出 H(z) 的逆 Z 变换,可以求 H(z) 的两个加数的逆 Z 变换之和,这可给出因果冲激响应:

要在 MATLAB 环境中验证这一点,请键入

imp = [1 0 0 0 0];
resptf = filter(b,a,imp)
respres = filter(r(1),[1 -p(1)],imp)+...filter(r(2),[1 -p(2)],imp)

二阶节 (SOS)

任何传递函数 H(z) 都有二阶节表示

其中 L 是描述系统的二阶节的数量。MATLAB 环境将离散时间系统的二阶节形式表示为 L×6 数组 sossos 的每行包含一个二阶节,其中行元素是描述该二阶节的三个分子和三个分母系数。

       有许多方法以二阶节形式表示滤波器。通过仔细对极点和零点对组进行配对、对级联中的各节进行排序以及对各节进行乘性定标,可以在某些定点滤波器实现中降低量化噪声增益并避免溢出。Linear System Transformations 中所述的函数 zp2sos 和 ss2sos 用于执行零极点配对、节缩放和节排序。

注意

所有 Signal Processing Toolbox 二阶节变换仅适用于数字滤波器。

格型结构体

对于由多项式系数 a(n) 说明的离散的 N 阶全极点或全零滤波器,n = 1,2...,N+1,有 N 个对应的格型结构体系数 k (n),n = 1,2...,N。参数 k (n) 也称为滤波器的反射系数。给定这些反射系数,您可以实现如下所示的离散滤波器。

FIR 和 IIR 格型滤波器结构图

对于由多项式系数 a 和 b 说明的一般零极点 IIR 滤波器,分母 a 有格型系数 k (n),分子 b 有阶梯系数 v (n)。格型/梯形滤波器可以实现为

格型/梯形滤波器示意图

工具箱函数 tf2latc 接受多项式形式的 FIR 或 IIR 滤波器,并返回对应的反射系数。多项式形式的 FIR 滤波器的一个示例是

b = [1.0000   0.6149   0.9899   0.0000   0.0031  -0.0082];

此滤波器的格型(反射系数)表示为

k = tf2latc(b)

对于 IIR 滤波器,反射系数的幅值提供简单的稳定性检查。如果对应于一个多项式的所有反射系数的量级都小于 1,则该多项式的所有根都在单位圆内。例如,假设某 IIR 滤波器具有上述分子多项式 b 和如下的分母多项式:

a = [1 1/2 1/3];

则该滤波器的格型表示为

[k,v] = tf2latc(b,a);  

对于 k 中的所有反射系数,abs(k) < 1,因此该滤波器是稳定的。

函数 latc2tf 根据滤波器的格型(反射)系数计算滤波器的多项式系数。给定反射系数向量 k,对应的多项式形式为

b = latc2tf(k);

格型或格型/梯形系数可用于使用函数 latcfilt 实现滤波器。

卷积矩阵

在信号处理中,对两个向量或矩阵求卷积等效于用一个输入操作数对另一个输入操作数进行滤波。这种关系支持将数字滤波器表示为卷积矩阵

给定任意向量,工具箱函数 convmtx 生成一个矩阵,该矩阵与另一个向量的内积等于这两个向量的卷积。生成的矩阵表示一个数字滤波器,您可以将其应用于适当长度的任何向量;操作数的内部维度必须一致才能计算内积。

表示数字滤波器分子系数的向量 b 的卷积矩阵为

b = [1 2 3];
x = randn(3,1);
C = convmtx(b',3);

求 b 与 x 的卷积的两种等效方法如下。

y1 = C*x;
y2 = conv(b,x);

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

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

相关文章

一个车厢号码识别算法(2005年的老程序----ccc)

一个车厢号码识别算法&#xff08;2005年的老程序----ccc&#xff09; 2023-09-18 ccc 程序的识别效果 对图中的车厢号码部分用上下两条线限定分为&#xff0c;然后进行识别。 从上面的识别效果可以看出&#xff0c;识别算法具有一定的鲁棒性&#xff0c;能够适应车厢号码的各…

【论文阅读】NeROIC:在线图像集合中对象的神经渲染

论文连接&#xff1a; NeROIC: Neural Rendering of Objects from Online Image Collections introduction 从在线图像集合中获取对象表示的新颖方法&#xff0c;从具有不同相机、照明和背景的照片中捕获任意对象的高质量几何形状和材料属性。这使得各种以对象为中心的渲染应…

基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码

基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蚁狮算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蚁狮优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

【已验证】php配置连接sql server中文乱码(解决方法)更改utf-8格式

解决数据库中的中文数据在页面显示乱码的问题 在连接的$connectionInfo中设置"CharacterSet" > "UTF-8"&#xff0c;指定编码方式即可 $connectionInfo array("UID">$uid, "PWD">$pwd, "Database">$database…

【springboot】Failed to start bean ‘webServerStartStop‘;

新同事新建了一个项目springboot项目&#xff0c;启动时候报错。 具体错误如下&#xff1a; Failed to start bean webServerStartStop; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server 未能启动bea…

(论文阅读26/100)Weakly-supervised learning with convolutional neural networks

26.文献阅读笔记 简介 题目 Weakly-supervised learning with convolutional neural networks 作者 Maxime Oquab&#xff0c;Leon Bottou&#xff0c;Ivan Laptev&#xff0c;Josef Sivic&#xff0c;CVPR&#xff0c;2015 原文链接 http://www.cv-foundation.org/open…

深度探究深度学习常见数据类型INT8 FP32 FP16的区别即优缺点

定点和浮点都是数值的表示&#xff08;representation&#xff09;&#xff0c;它们区别在于&#xff0c;将整数&#xff08;integer&#xff09;部分和小数&#xff08;fractional&#xff09;部分分开的点&#xff0c;点在哪里。定点保留特定位数整数和小数&#xff0c;而浮点…

C++——const成员

这里先用队列举例&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <assert.h> using namespace std; class SeqList { public:void pushBack(int data){if (_size _capacity){int* tmp (int*)realloc(a, sizeof(int) * 4);if (tm…

excel记录wFm数值(推理过程)

1 导入计算wfm库2 实例化具体的指标 3 列表循环之前&#xff0c;设置空list 4 单图评测-将图号、图片名、数值记录 列表里面存储dict 5 将excel列表结果逐个存入excel.xlsx文件 完整代码 test_CPD.py ### test_CPD.py ### import torch import torch.nn.functional as Fimpor…

flv.js在vue中的使用

Flv.js 是 HTML5 Flash 视频&#xff08;FLV&#xff09;播放器&#xff0c;纯原生 JavaScript 开发&#xff0c;没有用到 Flash。由 bilibili 网站开源。它的工作原理是将 FLV 文件流转码复用成 ISO BMFF&#xff08;MP4 碎片&#xff09;片段&#xff0c;然后通过 Media Sour…

​《水经注全国三维离线GIS系统》硬件安装教程

有些工作&#xff0c;是需要一些外在动力才能完成的。 为什么这么讲呢&#xff1f; 因为正是在客户的要求下&#xff0c;我们才撰写了《水经注全国三维离线GIS系统》的硬件安装教程&#xff0c;而且还录制了视频教程。 当用户收到货物以后&#xff0c;就可以通过本教程清点货…

信驰达科技加入车联网联盟(CCC),推进数字钥匙发展与应用

CCC)的会员。 图 1 深圳信驰达正式成为车联网联盟(CCC)会员 车联网联盟(CCC)是一个跨行业组织&#xff0c;致力于推动智能手机与汽车连接解决方案的技术发展。CCC涵盖了全球汽车和智能手机行业的大部分企业&#xff0c;拥有150多家成员公司。CCC成员公司包括智能手机和汽车制造…

Springboot+vue的人力资源管理系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的人力资源管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的企业资产管理系统&#xff0c;采用M&#xff08;model&…

react+星火大模型,构建上下文ai问答页面(可扩展)

前言 最近写的开源项目核心功能跑通了&#xff0c;前两天突发奇想。关于项目可否介入大模型来辅助用户使用平台&#xff0c;就跑去研究了最近比较活火的国内大模型–讯飞星火大模型。 大模型api获取 控制台登录 地址&#xff1a;https://console.xfyun.cn/app/myapp 新建应…

迅为龙芯2K1000开发板虚拟机ubuntu启动root用户

作为嵌入式开发人员&#xff0c;系统的所有权限都要为我们打开&#xff0c;所以我们不必像运维那样&#xff0c;对 root 用户非常敏感&#xff0c;所以安装完 ubuntu 系统以后&#xff0c;我们要启用 root 用户。 首先我们打开 ubuntu 控制终端&#xff0c;然后在终端里面输入…

[SOC] MBIST (Memory Built-In Self Test) and Memory Built-in Self Repair (BISR)

存储器构成了 VLSI 电路的很大一部分。存储系统设计的目的 是存储大量数据。[1] 存储器不包括逻辑门和触发器。因此&#xff0c;需要不同的故障模型和测试算法来测试存储器。 MBIST 是一种自测试和修复机制&#xff0c;它通过一组有效的算法来测试存储器&#xff0c;以检测典型…

【阿里云】任务2-OSS对象存储教程(找我参加活动可获得京东卡奖励)

目录 前言说明第一步第二步第三步&#xff1a;开通并使用OSS传输加速三、清理第四步-提交作品第五步-提交记录到小程序 前言 本次任务是阿里云官方发出的&#xff0c;每个任务30软妹币&#xff0c;欢迎大家加入我的活动群&#xff0c;门槛很低&#xff0c;所有人都可以参加&…

代码随想录算法训练营第五十天丨 动态规划part13

300.最长递增子序列 思路 首先通过本题大家要明确什么是子序列&#xff0c;“子序列是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序”。 本题也是代码随想录中子序列问题的第一题&#xff0c;如果没接触过这种…

能跟“猫主子”聊天了!生成式AI最快5年内破译第一种动物语言

image.png ChatGPT用它自己的方式来理解世界&#xff0c;类似的技术是否也能用来学习动物的语言&#xff1f; 所罗门能够与动物交流并不是因为他拥有魔法物品&#xff0c;而是因为他有观察的天赋。 ——康拉德・劳伦兹《所罗门王的指环》 在《狮子王》、《疯狂动物城》等以动…

Java通过JNI技术调用C++动态链接库的helloword测试

JNI调用原理 原理就不细说了&#xff0c;其实就是写个库给Java调&#xff0c;可以百度一下Java JNI&#xff0c;下面是HelloWorld代码测试 编写一个本地测试类 package com.my.study.cpp_jni;/*** 测试Java调用C库* <p>使用命令javac -h . NativeTest.java自动生成C头…