数字信号处理:matlab解差分方程

1. 验证全响应

%验证全响应=零状态响应+零输入响应
%y(n)=4y(n-1)+x(n),其中x(n)=δ(n),y(-1)=2.

clc;%清屏
clear all;%清除所有变量的值
b=[1];
a=[1,-4];
ys=[2];
xs=[0];%没有初始值,就是0
xn=[1, zeros(1,4)];%输入序列,假设长度是5,则输出长度也是5
n=0:length(xn)-1;%序列横坐标

y0=filtic(b,a,ys,xs);%由初始状态得到的y0值,
yn1=filter(b,a,zeros(1, length(xn)), y0);%零输入响应,由y0递推可得。
yn2=filter(b,a,xn, 0);%零状态响应
yn=filter(b,a,xn, y0);%全响应

结果:

2. 验证系统的时不变

%验证时不变
%y(n)=4y(n-1)+x(n),其中x(n)=δ(n),y(-1)=0.

clc;%清屏
clear all;%清除所有变量的值
b=[1];
a=[1,-4];
ys=[0];
xs=[0];
xn=[1, zeros(1,4)];%输入序列,假设长度是5,则输出长度也是5
n=0:length(xn)-1;%序列横坐标

y0=filtic(b,a,ys,xs);%由初始状态得到的y0值,
yn1=filter(b,a,zeros(1, length(xn)), y0);%零输入响应,由y0递推可得。
yn2=filter(b,a,xn, 0);%零状态响应
yn=filter(b,a,xn, y0);%全响应

%验证差分方程的时变特性
xn_d=[0,1,0,0,0];
yn_d=filter(b, a, xn_d, y0);

结果:只有初始状态为0的情况下才是时不变的

如果初始值不为0,结果是不一样的:

%验证时不变
%y(n)=4y(n-1)+x(n),其中x(n)=δ(n),y(-1)=2,初始值不为0

clc;%清屏
clear all;%清除所有变量的值
b=[1];
a=[1,-4];
ys=[2];%初始值
xs=[0];
xn=[1, zeros(1,4)];%输入序列,假设长度是5,则输出长度也是5
n=0:length(xn)-1;%序列横坐标

y0=filtic(b,a,ys,xs);%由初始状态得到的y0值,
yn1=filter(b,a,zeros(1, length(xn)), y0);%零输入响应,由y0递推可得。
yn2=filter(b,a,xn, 0);%零状态响应
yn=filter(b,a,xn, y0);%全响应

%验证差分方程的时变特性
xn_d=[0,1,0,0,0];
yn_d=filter(b, a, xn_d, y0);

结果:

3. 验证系统的稳定性

%求系统函数h(n), 并验证该系统是否是稳定的
%y(n)-2y(n-1)=x(n)

clc;%清屏
clear all;  %清除所有变量的值
b=[1];      %差分方程系数
a=[1,-2];   %差分方程系数
N=100;       %序列长度
dn=[1, zeros(1,N-1)]; %产生单位脉冲序列
hn=filter(b,a,dn); %求单位脉冲响应h(n),没有初始状态,直接输入即可
n=0:N-1;

xn=ones(1,N);%输入是单位阶跃序列
yn=filter(b,a,xn);%求系统输出

subplot(211);
stem(n, hn);title('h(n)');

subplot(212);
stem(n, yn);title('输入是x(n)=u(n)');

结果:

可以发现,输入有界,但输出并不是有界的,该系统不稳定,实际上h(n)是不收敛的序列。

4. 卷积法和递推法求系统输出

%卷积法和递推法有何差异
%y(n)=x(n)+2x(n-1)+4x(n-3), x(n)=[1 2 3 4]

clc;%清屏
clear all;  %清除所有变量的值
b=[1 2 0 4];      %h(n)
a=[1];      %差分方程系数
xn=1:4;     %输入序列

yn_cov=conv(b,xn);%卷积法求系统输出
yn_filter=filter(b, a, xn);%递推法求系统输出

结果:

长度不同,卷积法结果的长度是:4+4-1,而递推法的输出和输入长度相同。可以在递推法的输入序列后补上三个0,得到的结果就是一样的:

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

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

相关文章

WDW-100G 高温拉力试验机 技术方案书

一、整机外观图: 二、项目简介: 微机控制高温拉力试验机是电子技术与机械传动相结合的新型材料试验机,它具有宽广准确的加载速度和测力范围,对载荷、变形、位移的测量和控制有较高的精度和灵敏度,还可以进行等速加载、…

sharded jedis pipelined 执行后 数据并未存入redis

前言 因为历史原因,在某个同步菜单操作的方法中先清除缓存,然后在初始化缓存。本来很正常的逻辑,但是这个清除是db查询获取所有的菜单 然后循环一条条删除 然后在db查询有效的菜单操作 在循环一条条插进去 经统计这个菜单操作大概有个7千个 …

【区块链】fisco网络运维之添加节点黑名单

基于已完成的区块链系统与管理平台搭建工作,开展区块链节点的黑名单工作,具体操作如下 以node3为例子 1查看node0节点的连接状态日志(现有4个节点连接) 注意:如果查询不到连接状态,修改node0的配置文件中…

QT5.15.2及以上版本安装

更新时间:2024-05-20 安装qt5.15以上版本 系统:ubuntu20.04.06 本文安装:linux-5.15.2 下载安装 # 安装编译套件g sudo apt-get install build-essential #安装OpenGL sudo apt-get install libgl1-mesa-dev# 下载qt安装器 https://downl…

每天五分钟深度学习框架PyTorch:创建具有特殊值的tensor张量

本文重点 tensor张量是一个多维数组,本节课程我们将学习一些pytorch中已经封装好的方法,使用这些方法我们可以快速创建出具有特殊意义的tensor张量。 创建一个值为空的张量 import torch import numpy as np a=torch.empty(1) print(a) print(a.dim()) print(s.shape) 如图…

supOS NEO科技普惠!永久免费!亿元补贴

数字化转型正在全球蓬勃发展,工业操作系统进入大规模推广期! 如果您正在被预算不足、技术团队不强、数字化投入产出比等问题困扰,supOS NEO是您最好的选择。 “让supOS走进万千工厂、千行百业!让全世界每个工厂都能用得上supOS&am…

.net core web项目部署IIS报错:HTTP 错误 413.1 - Request Entity Too Large

HTTP 错误 413.1 - Request Entity Too Large 解决办法 这个报错的原因是因为IIS配置问题,IIS最大默认配置只有30M,超过30M就会报错 解决办法 在程序中配置能接收最大字节大小 //配置请求头中能最大接收多少数据 //builder.WebHost.UseKestrel(option…

VS2022通过C++网络库Boost.asio搭建一个简单TCP异步服务器和客户端

基本介绍 上一篇博客我们介绍了通过Boost.asio搭建一个TCP同步服务器和客户端,这次我们再通过asio搭建一个异步通信的服务器和客户端系统,由于这是一个简单异步服务器,所以我们的异步特指异步服务器而不是异步客户端,同步服务器在…

c语言:利用随机函数产生20个[120, 834] 之间互不相等的随机数, 并利用选择排序法将其从小到大排序后输出(每行输出5个)

利用随机函数产生20个[120, 834] 之间互不相等的随机数&#xff0c; 并利用选择排序法将其从小到大排序后输出&#xff08;每行输出5个&#xff09; 代码如下&#xff1a; #include <stdio.h> #include <time.h> #include <stdlib.h> int shenchen(int a[…

全栈实现发送验证码注册账号 全栈开发之路——全栈篇(3)

全栈开发一条龙——前端篇 第一篇&#xff1a;框架确定、ide设置与项目创建 第二篇&#xff1a;介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇&#xff1a;setup语法&#xff0c;设置响应式数据。 第四篇&#xff1a;数据绑定、计算属性和watch监视 第五篇 : 组件…

分布式音乐播放器适配了Stage模型

OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;应用开发自API 8及其更早版本一直使用的是FA模型进行开发。FA模型是Feature Ability的缩写&#xff0c;它和PA&#xff08;Particle Ability&#xff09;两种类型是过往长期推广的术语&#xff0c;深入人心…

6.2 else if语句

本节必须掌握的知识点&#xff1a; 示例代码二十 代码分析 汇编解析 ■if语句表达形式3 if(表达式1) statement1 else if(表达式2) statement2 else if(表达式3) statement3 …… else statementN 解析&#xff1a; 如果表达式1非0&#xff0c;则执行statement1&#…

Java基础22(JSON解析 注解)

目录 一、JSON解析 1. JSON语法 2. JSON的用途 3. Java解析JSON 4. 使用Fastjson 4.1 Fastjson 的优点 4.2 Fastjson 导包 4.3 Fastjson的主要对象 4.4 常用方法 将Java对象 "序列化"&#xff08;转换&#xff09; 为JSON字符串&#xff1a; 将JSON字符串…

go语言中的一个特别的语法 //go:embed 可将将静态文件内容读取到string, []byte和 embed.FS 变量并直接打包到exe包中

go语言中的一个特别的语法 //go:embed 看上去像是注释&#xff0c;实则是golang中的一个内置的语法&#xff0c;而且是仅在你的go代码编译时生效的语法&#xff0c; 借助他我们可以将我们的静态资源文件读取到FS直接打包到我们的exe执行文件中。 同时他还支持文件的模式匹配…

C#中BufferedStream类详解与示例

文章目录 1. BufferedStream的基本介绍2. 创建BufferedStream对象从现有Stream创建指定缓冲区大小 3. 使用BufferedStream读取数据写入数据 4. BufferedStream的注意事项5. 示例代码 在C#中&#xff0c;BufferedStream是一个非常有用的流类&#xff0c;它提供了缓冲功能&#x…

出谈论点云文件pcd加载01

刚写完基于potree开发地图水印效果的时候&#xff0c;在网上分享实例&#xff0c;刚发出去&#xff0c;竟然被人喷了&#xff0c;这么简单的实例&#xff0c;竟然好意思发群里&#xff0c;哎… 好无奈&#xff01; 不过我还是坚持我的想法&#xff0c;大家看到文章后&#xff0…

JVM严镇涛版笔记【B站面试题】

前言 2023-06-19 18:49:33 出自B站 灰灰的Java面试 枫叶云链接&#xff1a;http://cloud.fynote.com/s/4976 JVM面试题大全 Lecturer &#xff1a;严镇涛 1.为什么需要JVM&#xff0c;不要JVM可以吗&#xff1f; 1.JVM可以帮助我们屏蔽底层的操作系统 一次编译&#xff0c…

Windows安全应急--应急排查的一些方法

前言&#xff1a; 非法BC植入网站安全应急&#xff0c; 在安全应急中&#xff0c; 总会需要大大小小的问题&#xff0c; 就像成长一样。 检测工具尽量使用轻量级的。。 本次演示环境 Windows Server 2008 问题排查步骤&#xff1a; 先判断服务器有没有被Rootkit 查看登录…

[STM32-HAL库]Flash库-HAL库-复杂数据读写-STM32CUBEMX开发-HAL库开发系列-主控STM32F103C6T6

目录 一、前言 二、实现步骤 1.STM32CUBEMX配置 2.导入Flash库 3.分析地址范围 4.找到可用的地址 5.写入读取普通数据 6.写入读取字符串 6.1 存储相关信息 6.2 存取多个参数 三、总结及源码 一、前言 在面对需要持久化存储的数据时&#xff0c;除了挂载TF卡&#xff0c;我们…

java技术:oauth2协议

目录 一、黑马程序员Java进阶教程快速入门Spring Security OAuth2.0认证授权详解 1、oauth服务 WebSecurityConfig TokenConfig AuthorizationServer 改写密码校验逻辑实现类 2、oauth2支持的四种方式&#xff1a; 3、oauth2授权 ResouceServerConfig TokenConfig 4、…