数字信号||离散系统的冲激响应和阶跃响应(3)

news2024/11/15 13:28:43

实验三  离散系统的冲激响应和阶跃响应

一、实验目的

(1)加深对离散线性移不变(LSI)系统基本理论的理解,明确差分方程与系统函数之间的关系。

(2)初步了解用MATLAB语言进行离散时间系统研究的基本方法。

(3)掌握求解离散时间系统冲激响应和阶跃响应程序的编写方法,了解常用子函数。

二、实验涉及的MATLAB子函数

1.impz

功能:求解数字系统的冲激响应。

调用格式:

[h,t]=impz(b,a);求解数字系统的冲激响应h,取样点数为缺省值。

[h,t]=impz(b,a,n);求解数字系统的冲激响应h,取样点数由n确定。

impz(b,a);在当前窗口用stem(t,h)函数出图。

2.dstep

功能:求解数字系统的阶跃响应。

调用格式:

[h,t]=dstep(b,a);求解数字系统的阶跃响应h,取样点数为缺省值。

[h,t]=dstep(b,a,n);求解数字系统的阶跃响应h,取样点数由n确定。

dstep(b,a);在当前窗口用stairs(t,h)函数出图。

3.filter

功能:对数字系统的输入信号进行滤波处理。

调用格式:

y=filter(b,a,x);对于由矢量a、b定义的数字系统,当输入信号为x时,对x中的数据进行滤波,结果放于y中,长度取max(na,nb)。

[y,zf]=filter(b,a,x);除得到结果矢量y外,还得到x的最终状态矢量zf。

y=filter(b,a,x,zi);可在zi中指定x的初始状态。

4.filtic

功能:为filter函数选择初始条件。

调用格式:

z=filtic(b,a,y,x);求给定输入x和y时的初始状态。

z=filtic(b,a,y);求x=0,给定输入y时的初始状态。

其中,矢量x和y分别表示过去的输入和输出:

x=[x(-1),x(-2),…,x(-N)]

y=[y(-1),y(-2),…,y(-N)]

说明:以上子函数中的b和a,分别表示系统函数H(z)中由对应的分子项和分母项系数所构成的数组。如式(4-2)所示,H(z)按z-1(或z)的降幂排列。在列写b和a系数向量时,两个系数的长度必须相等,它们的同次幂系数排在同样的位置上,缺项的系数赋值为0。

在MATLAB信号处理工具箱中,许多用于多项式处理的函数,都采用以上的方法来处理分子项和分母项系数所构成的数组。在后面的实验中不再说明。

三、实验原理

1.离散LSI系统的响应与激励:由离散时间系统的时域和频域分析方法可知,一个线性移不变离散系统可以用线性常系数差分方程表示:

也可以用系统函数来表示:

  系统函数H(z)反映了系统响应与激励间的关系。一旦上式中的bm和ak的数据确定了,则系统的性质也就确定了。其中特别注意:a0必须进行归一化处理,即a0=1。

  对于复杂信号激励下的线性系统,可以将激励信号在时域中分解为单位脉冲序列或单位阶跃序列,把这些单元激励信号分别加于系统求其响应,然后把这些响应叠加,即可得到复杂信号加于系统的零状态响应。因此,求解系统的冲激响应和阶跃响应尤为重要。由图4-1可以看出一个离散LSI系统响应与激励的关系。

 同时,图4-1显示了系统时域分析方法和z变换域分析法的关系。如果已知系统的冲激响应h(n),则对它进行z变换即可求得系统函数H(z);反之,知道了系统函数H(z),对其进行z逆变换,即可求得系统的冲激响应h(n)。

图4-1 离散LSI系统响应与激励的关系

2.用impz和dstep子函数求解离散系统的单位冲激响应和阶跃响应

在MATLAB语言中,求解系统单位冲激响应和阶跃响应的最简单的方法是使用MATLAB提供的impz和dstep子函数。

下面举例说明使用impz和dstep子函数求解系统单位冲激响应和阶跃响应的方法。

四、实验任务

(1)认真阅读实验原理部分,明确本次实验目的,复习有关离散LSI系统的理论知识。

(2)读懂实验原理并编写例题程序,理解每一条语句的意义,了解用MATLAB进行离散时间系统冲激响应和阶跃响应求解的方法、步骤,熟悉MATLAB与本实验有关的子函数。

(3)列写已调试通过的实验任务程序,打印或描绘实验程序产生的曲线图形。

例4-1 已知一个因果系统的差分方程为

6y(n)+2y(n-2)=x(n)+3x(n-1)+3x(n-2)+x(n-3)

满足初始条件y(-1)=0,x(-1)=0,求系统的单位冲激响应和阶跃响应。

解:将y(n)项的系数a0进行归一化,得到

分析上式可知,这是一个3阶系统,列出其bm和ak系数:

  编写MATLAB程序如下(取N=32点作图):

a=[1,0,1/3,0];

b=[1/6,1/2,1/2,1/6];

N=32;

n=0:N-1;

hn=impz(b,a,n);             %求时域单位冲激响应

gn=dstep(b,a,n); %求时域单位阶跃响应

subplot(1,2,1),stem(n,hn,¢k¢);%显示冲激响应 曲线

title(¢系统的单位冲激响应¢);

ylabel(¢h(n)¢);xlabel(¢n¢);

axis([0,N,-1.1*min(hn),1.1*max(hn)]);

subplot(1,2,2),stem(n,gn,¢k¢);%显示阶跃响应 曲线

title(¢系统的单位阶跃响应¢);

ylabel(¢g(n)¢);xlabel(¢n¢);

axis([0,N,-1.1*min(gn),1.1*max(gn)]);

系统的单位冲激响应和阶跃响应如图4-2所示。

a=[1,0,1/3,0];

b=[1/6,1/2,1/2,1/6];

N=32;

n=0:N-1;

hn=impz(b,a,n);             %求时域单位冲激响应

gn=dstep(b,a,n);        %求时域单位阶跃响应

subplot(1,2,1),stem(n,hn,'k');%显示冲激响应曲线

title('系统的单位冲激响应');

ylabel('h(n)');xlabel('n');

axis([0,N,-1.1*min(hn),1.1*max(hn)]);

subplot(1,2,2),stem(n,gn,'k');%显示阶跃响应曲线

title('系统的单位阶跃响应');

ylabel('g(n)');xlabel('n');

axis([0, N, -1.1*min(gn), 1.1*max(gn)]);

例4-1系统的单位冲激响应和阶跃响应

3.用filtic和filter子函数求解离散系统的单位冲激响应

MATLAB提供了两个子函数filtic和filter来求解离散系统的响应。当输入信号为单位冲激信号时,求得的响应即为系统的单位冲激响应;当输入信号为单位阶跃信号时,求得的响应即为系统的单位阶跃响应。

例4-3 已知一个因果系统的差分方程为

6y(n)-2y(n-4)=x(n)-3x(n-2)+3x(n-4)-x(n-6)

  满足初始条件y(-1)=0,x(-1)=0,求系统的单位冲激响应和单位阶跃响应。时间轴上N取32点作图。

  解 将y(n)项的系数a0进行归一化,得到

 分析上式可知,这是一个6阶系统,直接用MATLAB语言列出其bm和ak系数:

a=[1,0,0,0,-1/3,0,0];

b=[1/6,0,-1/2,0,1/2,0,-1/6];

  注意:原公式中存在着缺项,必须在相应的位置上补零。

  编写MATLAB程序如下:

x01=0;y01=0;N=32;    %赋初始条件和采样点数

a=[1,0,0,0,-1/3,0,0];%输入差分方程系数

b=[1/6,0,-1/2,0,1/2,0,-1/6];

xi=filtic(b,a,0);%求等效初始条件的输入序列

n=0:N-1;%建立N点的时间序列

x1=[n==0];%建立输入单位冲激信号x1(n)

hn=filter(b,a,x1,xi);%对输入单位冲激信号进行滤波,求冲激响应

x2=[n>=0];%建立输入单位阶跃信号x2(n)

gn=filter(b,a,x2,xi);%对输入单位阶跃信号进行 滤波,求阶跃响应

subplot(1,2,1),stem(n,hn);

title(¢系统单位冲激响应¢);

subplot(1,2,2),stem(n,gn);

title(¢系统单位阶跃响应¢);

x01=0;y01=0;N=32;    %赋初始条件和采样点数

a=[1,0,0,0,-1/3,0,0];%输入差分方程系数

b=[1/6,0,-1/2,0,1/2,0,-1/6];

xi=filtic(b,a,0),%求等效初始条件的输入序列

n=0:N-1,%建立N点的时间序列

x1=[n==0];%建立输入单位冲激信号x1(n)

hn=filter(b,a,x1,xi);%对输入单位冲激信号进行滤波,求冲激响应

x2=[n>=0];%建立输入单位阶跃信号x2(n)

gn=filter(b,a,x2,xi);%对输入单位阶跃信号进行                   滤波,求阶跃响应

subplot(1,2,1),stem(n,hn);

title('系统单位冲激响应');

subplot(1,2,2),stem(n,gn);

title('系统单位阶跃响应);

图4-4 用filter子函数求解例4-3系统的响应

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

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

相关文章

Proxmox8基于PC物理机/服务器安装,初始化,挂载磁盘,安装虚拟机

目录 安装文件 开始安装Proxmox 选择启动菜单,F11 后进入启动菜单选择 按需选择是否关闭RAID 选择对应的U盘 进入安装界面 进入安装启动过程 选择系统盘 设置相关信息 设置IP和开启root远程登录 设置dns 设置网卡ip 设置 ssh 远程登录 开机合并local-l…

Java---String类

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 ,Java 欢迎大家访问~ 创作不易,大佬们点赞鼓励下吧~ 前言 在C语言中已经涉及到字符串了…

四、GD32 MCU 常见外设介绍 (6) ADC 模块介绍

6.1.ADC 基础知识 12 位逐次逼近式模数转换器模块(ADC),可以采样来自于外部输入通道、内部输入通道的模拟信号,采样转换后,转换结果可以按照最低有效位对齐或最高有效位对齐的方式保存在相应的数据寄存器中。 6.2.GD…

go语言Gin框架的学习路线(十)

目录 GORM的CRUD教程 查询 普通查询 定义 User 结构体 查询所有用户 查询第一个用户 总结 条件查询 内联条件 额外查询选项 高级查询 链式操作 Scopes 多个立即执行方法 GORM的CRUD教程 CRUD 是 "Create, Read, Update, Delete"(创建、查询…

数字图像处理中的常用特殊矩阵及MATLAB应用

一、前言 Matlab的名称来源于“矩阵实验室(Matrix Laboratory)”,其对矩阵的操作具有先天性的优势(特别是相对于C语言的数组来说)。在数字图像处理中,为了提高编程效率,我们可以使用多种方式来创…

【UIE模型-傻瓜式教程】飞桨AI Studio中fork实体抽取任务(打车、快递单)并运行教程

文章目录 fork项目环境与数据准备微调训练验证与测试 fork项目 环境与数据准备 安装paddlenlp(尽量装paddlenlp2.4.2,否则会报错!) 下载打车数据 转换数据格式,并划分训练集、验证集和测试集 微调训练 微调训练&#x…

WiFi通信——STM32通过ESP8266-01S与阿里云通信

嵌入式设计中常用的无线通信方式主要由蓝牙、WiFi、Zigbee、Lora、NB-IOT等等。这些是最常用的,也是在实际项目开发中根据项目的数据通信特点来选择相应的无线通信方式。本设计主要是讲解WiFi在嵌入式开发中的使用。 1. ESP8266-01S烧录固件 WiFi通信的频段和蓝牙一…

论文中的流程图参考图片

写论文的时候,在绘制流程图时,一直纠结n是大写还是小写,用不用斜体,号两边要不要空格。今天找到了一张标准的流程图来参考。图片来自 Zhi-Chang Ba et al, Combination of DCE-MRI and NME-DWI via Deep Neural Network for Predi…

学成在线开心学习

环境配置 第一章 项目介绍&环境搭建 项目背景 项目业务框架 项目技术架构 第二章 内容管理模块 本项目使用mybatis-plus的generator工程生成PO类、Mapper接口、Mapper的xml文件 模块工程 模型类的作用 课程查询接口 controller ApiOperation("课程查询接口&qu…

数字化就是要“用数字说话”运营,按“效果付费”经营

随着数字化技术的迅速发展,企业所处的市场环境发生了深刻的变革。在这个数字化转型时期,数据成为了企业决策的关键依据,“用数字说话”已成为企业运营的基本准则。而“效果付费”作为一种基于实际成果的商业模式,正逐渐受到企业经…

【QAC】Dashboard服务端如何配置

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 解决Dashboard服务端如何配置的问题。 2、 问题场景 客户想使用Dashboard,Dashboard服务端如何配置。 3、软硬件环境 1、软件版本:HelixQAC23.04 2、机器环境:Windows 64bit 3…

Linux_权限3

Linux所对应的文件类型 1.在Win下,有文件类型,通常通过后缀标识 日常用的就是windows系统这里不做举例. 2.Linux的文件类型不通过后缀区分(不代表Linux不用后缀) 其中需要注意的是第一个字符表示文件类型的含义 - :普通文件, 文本, 源代码…

AtCoder Beginner Contest 363(A~D题)

A - Piling Up 思路: 我们只需要找到下一阶段的下限。a / 100 是本阶段1 变成下一阶段&#xff0c;再 * 100变成下限&#xff0c;再与原来的相减即可。 代码: #include<bits/stdc.h> using namespace std; #define N 200010 typedef long long ll; typedef unsigned l…

Biomimetics 综述分享:肌电假肢手的交互操作控制综述

近些年假肢灵巧手成为了热点研究方向。此前有综述研究回顾了包括基于表面肌电信号的预测连续上肢运动的方法、基于表面肌电信号的多任务人机交互应用&#xff0c;以及肌电控制中的各种性能指标。近期&#xff0c;期刊Biomimetics&#xff08;JCR Q1&#xff09;发表了“面向肌电…

定时器+外部中断实现NEC红外线协议解码

一、前言 1.1 功能介绍 随着科技的进步和人们生活水平的提高&#xff0c;红外遥控器已经成为了日常生活中不可或缺的电子设备之一&#xff0c;广泛应用于电视、空调、音响等多种家电产品中。 传统的红外遥控器通常只能实现预设的有限功能&#xff0c;无法满足用户对设备更加智…

Mac 下华为鸿蒙 :DevEco Studio 开发工具下载

1.登录&#xff1a;华为开发者中心--开发--下载工具DevEco Studio 2.下载完成后 &#xff0c;安装&#xff0c;并创建一个新项目。 3.Tools --点击SDK Manager 下载SDK: 如果报&#xff1a;淘宝镜像源错误&#xff1a; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_H…

Threejs——辅助视图的旋转轴

官网的代码&#xff1a;link 实现这个效果 import {CylinderGeometry,CanvasTexture,Color,Euler,Mesh,MeshBasicMaterial,Object3D,OrthographicCamera,Quaternion,Raycaster,Sprite,SpriteMaterial,SRGBColorSpace,Vector2,Vector3,Vector4 } from three;class ViewHelper …

FP5207+音频功率放大器的组合解决方案-适用于便携式音频播放器、无线耳机、智能音箱和车载音响系统等高质量音频输出需求的产品,以提高电池供电的效率和输出功率

随着消费者对智能家居的需求增长&#xff0c;智能音响市场成为重要增长点。同时&#xff0c;音响技术也在不断发展&#xff0c;音响及扬声器的功能和性能不断提升。 蓝牙音箱&#xff0c;这类音箱供电是以锂电池为主&#xff0c;一般选用内置升压的音频功放芯片&#xff0c;音响…

Java聚合快递系统对接云洋系统快递小程序系统源码

&#x1f680; "聚合快递系统"无缝对接云洋系统&#xff0c;快递小程序新体验&#xff01;&#x1f4e6; &#x1f69a; 开篇&#xff1a;快递管理新纪元&#xff0c;一键接入云洋系统&#xff01; 你是否还在为繁琐的快递管理而头疼&#xff1f;多个快递公司账号切…

构建一个具有深色模式的简单React Web应用

在当今的Web开发世界里,创建一个既美观又功能丰富的用户界面是至关重要的。在本文中,我们将探讨如何使用React构建一个简单但功能强大的Web应用,它包含导航栏、内容展示区域和深色模式切换功能。 项目概述 我们的目标是创建一个具有以下特性的Web应用: 左侧导航栏,包含四个链…