【信号与系统】【北京航空航天大学】实验二、连续时间系统的时域分析【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:更换属于自己的物体 前言 资料太少、资料太少、资料太少,重要的事说三边,想根据自己实际场景自定义下机器人,结果发现无路可走,鉴于缺少参…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...