【信号与系统】【北京航空航天大学】实验二、连续时间系统的时域分析【MATLAB】
一、实验目的
1、掌握连续时间信号的卷积运算以及其对应的 MATLAB 实现方法;
2、掌握连续系统的冲激响应、阶跃响应 以及其对应的 MATLAB 实现方法;
3、掌握利用 MATLAB 求 LTI (Linear Time-Invariant, 线性时不变)系统响应的方法;
4、掌握利用 MATLAB 求函数卷积和解微分方程。
二、实验内容
1、
MATLAB代码:
>> clear all;
>> t = -2 : 0.01 : 6;
>> x = exp(-t) .* (t >= 0 & t < 2);
>> h = t .* (t >= 0 & t < 3);
>> y = conv(x, h) * 0.01;
>> figure
>> plot(t, x);
>> hold on;
>> plot(t, h);
>> hold on;
>> plot(t, y(201: 1001));
>> xlabel('Time(sec)');
>> ylabel('Amplitude');
>> title('Ex.1');
>> legend('x(t)', 'h(t)', 'y(t)', 'Location', 'Best');
>> axis([-2 6 -0.5 3.5]);
生成的信号波形图:
2、
MATLAB代码:
>> clear all;
>> n = -10 : 10;
>> figure
>> subplot(3, 1, 1);
>> x = (n >= 0 & n < 4);
>> stem(n, x);
>> grid on
>> title('x[n]', 'Fontsize', 14);
>> xlabel('n', 'FontSize', 11);
>> ylabel('x[n]', 'FontSize', 11);
>> subplot(3, 1, 2);
>> h = 2 .^ (-n) .* (n >= 0 & n < 6);
>> stem(n, h);
>> grid on
>> title('h[n]', 'Fontsize', 14);
>> xlabel('n', 'FontSize', 11);
>> ylabel('h[n]', 'FontSize', 11);
>> subplot(3, 1, 3);
>> y = conv(x, h);
>> n2 = -20 : 20;
>> stem(n2, y);
>> axis([-10 10 0 2]);
>> title('y[n]', 'Fontsize', 14);
>> xlabel('n', 'FontSize', 11);
>> ylabel('y[n]', 'FontSize', 11);
>> grid on;
生成的信号波形图:
3、
MATLAB代码:
>> clear all;
>> t = 0 : 0.01 : 5;
>> figure;
>> a = [1 5 600];
>> b = [3 100];
>> sys = tf(b, a);
>> y = impulse(sys, t);
>> plot(t, y);
>> hold on;
>> z = step(sys, t);
>> plot(t, z);
>> grid on;
>> title('Ex.3', 'FontSize', 14);
>> xlabel('Time(sec)');
>> ylabel('Amplitude');
>> legend('冲激响应', '阶跃响应', 'Location', 'Best');
生成的信号波形图:
4、
MATLAB代码:
>> clear all;
>> figure;
>> subplot(2, 1, 1);
>> %卷积法求零状态响应
>> a = [1 1 2];
>> b = [0 1 2];
>> t = 0 : 0.01 : 15;
>> [r, p, k] = residue(b, a);
>> h = r(1) * exp(p(1) * t) + r(2) * exp(p(2) * t);
>> x = exp(-t) .* sin(t) .* (t >= 0);
>> dt = 0.01;
>> y = conv(x, h) * dt;
>> plot(t, y(1: length(t)));
>> grid on;
>> title('卷积法求零状态响应', 'FontSize', 14);
>> xlabel('Time(sec)');
>> ylabel('y(t)');
>> subplot(2, 1, 2);
>> %lsim法求零状态响应
>> sys = tf(b, a);
>> z = lsim(sys, x, t);
>> plot(t, z);
>> title('lsim法求零状态响应', 'FontSize', 14);
>> xlabel('Time(sec)');
>> ylabel('y(t)');
>> grid on;
生成的信号波形图:
思考题1: 写出连续、离散信号卷积的定义?卷积运算的作用是?
解答:
思考题2: conv函数输出的数组维度与输入维度有何关系?如何将输出结果与时间向量相对应?
解答:
>> clear all;
>> t1 = 0 : 0.01 : 3;
>> t2 = 0 : 0.01 : 5;
>> x = exp(- t);
>> x = exp(- t1);
>> y = sin(2 * t2);
>> z = conv(x, y);
>> figure;
>> plot(t1, y(1:length(t1)));
实验收获与感想:
1、 求解连续时间系统零状态响应时,需注意系数向量 a, b的写法,次数从高到低;
2、 注意调用卷积函数conv之后 结果向量的维数 ;
3、 别误关当前图像;
4、 卷积法求零状态响应时,t 应设定为 tmin = 0,否则会报错;
5、 (重要)MATLAB中所有的计算都是针对离散数据点进行的,连续函数只能通过近似的方法得到;
6、 注意连续信号卷积的公式中的 ’dt’ 项。
相关文章:

【信号与系统】【北京航空航天大学】实验二、连续时间系统的时域分析【MATLAB】
一、实验目的 1、掌握连续时间信号的卷积运算以及其对应的 MATLAB 实现方法; 2、掌握连续系统的冲激响应、阶跃响应 以及其对应的 MATLAB 实现方法; 3、掌握利用 MATLAB 求 LTI (Linear Time-Invariant, 线性时不变)系统响应的方…...

【Linux 内核源码分析笔记】系统调用
在Linux内核中,系统调用是用户空间程序与内核之间的接口,它允许用户空间程序请求内核执行特权操作或访问受保护的内核资源。系统调用提供了一种安全可控的方式,使用户程序能够利用内核功能而不直接访问底层硬件。 系统调用: 通过…...

mysql清空并重置自动递增初始值
需求:当上新项目时,测试环境数据库导出来的表id字段一般都有很大的初始递增值了,需要重置一下 先上代码: -- 查看当前自动递增值 SHOW CREATE TABLE table_name; -- 重建自动递增索引(可选) ALTER TABLE t…...
计算机算法之二分算法
文章目录 前言核心问题遍历查找思路遍历查找代码实现遍历查找缺点二分查找思路二分查找代码实现二分查找优点二分查找的变种问题一解题思路代码实现问题二解题思路代码实现 前言 大家好,我是醉墨居士,今天聊一下计算机中的经典算法 - 二分算法 核心问题…...

获取当前设备的IP
背景: 在本地使用自带webUI的项目时,需要制定webUI的访问地址。 一般本地访问使用:127.0.0.1,配置为可以从其他设备访问时,需要指定当前设备的IP,或者指定为0.0.0.0。 例如:使用locust的时候&a…...
koa2文件的上传下载功能
const Router require(“koa-router”); const upload new Router(); const bodyParser require(“koa-bodyparser”); const multer require("koa/multer"); const path require(“path”); const article require("…/utils/sql"); const { getCur…...

test-02-test case generate 测试用例生成 EvoSuite 介绍
拓展阅读 junit5 系列 基于 junit5 实现 junitperf 源码分析 Auto generate mock data for java test.(便于 Java 测试自动生成对象信息) Junit performance rely on junit5 and jdk8.(java 性能测试框架。性能测试。压测。测试报告生成。) 拓展阅读 自动生成测试用例 什么…...

1.单表查询
作业要求 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 varc…...

FFmpeg 的使用与Docker安装流媒体服务器
本文阐述的均为命令行的使用方式,并不牵扯FFmpeg 的 C音视频开发内容,补充一句,C的资料真的少,能把C学好的人,我真的是觉得巨佬。 我主要是使用FFmpeg 推流方面的知识,案例大都是靠近这方面。 一、FFmpeg…...

Qt QListWidget列表框控件
文章目录 1 属性和方法1.1 外观1.2 添加条目1.3 删除条目1.4 信号和槽 2 实例2.1 布局2.2 代码实现 Qt中的列表框控件,对应的类是QListWidget 它用于显示多个列表项,列表项对应的类是QListWidgetitem 1 属性和方法 QListWidget有很多属性和方法…...

小知识分享2
文章目录 1.TCP/IP协议2.四次挥手断开连接3.TCP的三次握手和四次挥手4.在什么情况下需要设置WINS Proxy?5.用户与用户账户有什么不同?为什么需要使用用户账户? 1.TCP/IP协议 1、TCP/IP、Transmission Control Protocol/internet Protocol,传…...

【Golang开源项目】Golang高性能内存缓存库BigCache设计与分析
项目地址 BigCache 是一个快速,支持并发访问,自淘汰的内存型缓存,可以在存储大量元素时依然保持高性能。BigCache将元素保存在堆上却避免了GC的开销。 背景介绍 BigCache的作者在项目里遇到了如下的需求: 支持http协议支持 10…...

Elasticsearch 7.8.0从入门到精通
安装Elasticsearch 7.8.0 官网:Elasticsearch 7.8.0 | Elastic 大家下载所需要的安装包即可。然后解压缩: Elasticsearch是通过java编写的,所以自带jdk。多好,下载Elasticsearch赠送jdk 0.0,不过一般我们用自己的jdk…...

寻找最富裕的小家庭 - 华为OD统一考试
OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 在一棵树中,每个节点代表一个家庭成员,节点的数字表示其个人的财富值,一个节点及其直接相连的子节点被定义为一个小家庭现给你一棵树,请计算出最富裕的小家庭的财富和。 输入描述 第一行为一个数N,…...

ssm基于Java的药店药品信息管理系统的设计与实现论文
摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,药品信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大…...

Word插件-大珩助手-手写电子签名
手写签名 支持鼠标写,支持触摸屏写,点击画笔按钮切换橡皮擦,支持清空画板重写,点击在word中插入签名,可插入背景透明的签字图 素材库-保存签名 将写好的签字图复制粘贴到素材库中,以便永久使用ÿ…...
Edge扩展插件安装位置
根据所获取的信息,Microsoft Edge的扩展插件安装位置和配置方式可以通过不同的方法管理。以下是一个大纲,概述了如何配置和管理Edge扩展插件: Edge扩展插件安装和管理大纲 了解扩展插件的安装模式 安装模式的选项:了解allowed、…...

Git将本地项目上传到Gitee仓库
1.右键点击文件,点击Git Bash Here,进入git窗口 2.初始化本地仓库 git init3.将本地仓库与远程仓库建立连接 git remote add origin 远程仓库地址远程仓库地址在gitee仓库复制即可 4.将远程仓库的文件拉到本地仓库中 git pull origin master5.将本地文件全部上传…...

linux环境安装docker
一、Docker是什么? 当我们开发一个应用程序时,通常需要配置和安装各种软件、库和依赖项。而这些环境配置可能会因为不同的操作系统或版本而存在差异,导致应用在不同环境中运行出现问题。 Docker就像是一个集装箱,可以将应用程序及其所有依…...

机器人技能学习-robosuite-0-入门介绍
文章目录 前言模块介绍实战案例1:从 demo 中创建自己的 env案例2:更换属于自己的物体 前言 资料太少、资料太少、资料太少,重要的事说三边,想根据自己实际场景自定义下机器人,结果发现无路可走,鉴于缺少参…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...