Matlab通信仿真系列——离散信号和系统

news2024/11/16 23:45:29

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等
在这里插入图片描述
本节目录

一、离散信号
1、离散信号定义
2、抽样周期与抽样范围
3、信号相加、相乘、卷积和
二、离散时间系统
三、Matlab源码
(1)信号相加、相乘、卷积和源码
(2)离散时间系统源码

本节内容
一、离散信号
1、离散信号定义

通常一个信号x(t)可以用来表示连续时间信号(模拟信号),也可以用来表示离散时间信号(数字信号)。
离散信号x(t),t表示在时间轴上的离散点上的取值,可以表示为nTs,其中Ts表示相邻两个点之间的时间间隔,也就是所谓的抽样周期,n取整数。
x(nTs)=-N1,…,-1,0,1…,N2,其中N1,N2是n的取值范围,Ts归一化为1,则x(nTs)=x(n)。
在上述关系式中,由于x(n)仅是整数n的函数,故我们将x(n)称为离散时间序列。
2、抽样周期与抽样范围
从图中可以看出抽样周期越小,对应的采样点越多,采样精度也就越高。
初学者注意:
stem(t1,x1)是以t1的数据为横坐标,x1的数据为纵坐标。

matlab代码示例:
一个正弦函数sin2t,
分别以0.01s和0.1s的抽样周期,
在π和2π范围抽样。

在这里插入图片描述
在这里插入图片描述

3、信号相加、相乘、卷积和
卷积和是求离散线性移不变系统输出响应的主要方法。
x(n)和h(n)的卷积和定义公式:
在这里插入图片描述
当序列n=0时,序列h(-m)是序列h(m)的时序取反的结果,时序取反使得h(m)以纵轴为中心翻转180°,相乘后求和的计算称为卷积和。
一般情况下,当x(n)及h(n)的离散序列长度分别为N1、N2时,卷积y(n)的长度则为N1+N2-1。
在这里插入图片描述
使用卷积和函数conv(x,y)可以求解两个序列的卷积和

matlab代码示例:
信号x1(n)=sin(2π×0.1n)
信号x2(n)=exp(-0.1n)
信号x3(n)=exp(-0.2n)
其中0≤n≤40
求x1(n)+x2(n);x1(n)×x2(n);x2(n)*x3(n)

在这里插入图片描述
在这里插入图片描述

对于卷积和的理解,从y4=conv(x2,x4),可以看出来将x2关于y轴对称翻转,然后不断右移,与x4=1/2的交点构成面积为卷积和。
二、离散时间系统
一个离散时间系统,抽象看作一种变换或者一种映射,把输入序列x(n)变换为输出序列y(n),即y(n)=T[x(n)].
在这里插入图片描述

matlab代码示例:
一个离散时间系统输入和输出关系为
y(n)=0.5y(n-1)+x(n)
不同输入激励x1和x2下的输出响应

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

从上图Y可以看出来,卷积和的序列为1,3,7,7,7,7,6,4
有两种方式计算有限序列的卷积和,结果相比一致。
在这里插入图片描述

三、Matlab源码
(1)信号相加、相乘、卷积和源码

clear all;
n=0:40;             %离散序列的抽样范围
x1=sin(2*pi*0.1*n);
x2=exp(-0.1*n);
x3=exp(-0.2*n);
x4=1/2;
y1=x1+x2;           
y2=x1.*x2;          %x1与x2相乘,“.*”表示点乘
y3=conv(x2,x3);     %x2与x3卷积和
y4=conv(x2,x4);     %x2与x4卷积和
subplot(8,1,1);
stem(x1);
title('x1');
subplot(8,1,2);
stem(x2);
title('x2');
subplot(8,1,3);
stem(y1);
title('y1=x1+x2');
subplot(8,1,4);
stem(y2);
title('y2=x1.*x2');

subplot(8,1,5);
stem(x2);
title('x2');
subplot(8,1,6);
stem(x3);
title('x3');
subplot(8,1,7);
stem(y3);
title('y3=conv(x2,x3)');
subplot(8,1,8);
stem(y4);
title('y4=conv(x2,x4)');

(2)离散时间系统源码

clear all;
N=100;
x1=zeros(1,N);
x1(1)=1;
x2=zeros(1,N);
x2(1:41)=exp(-0.1*(0:40));
y1(1)=x1(1);
y2(1)=x2(1);
for n=2:N
    y1(n)=0.5*y1(n-1)+x1(n);
    y2(n)=0.5*y2(n-1)+x2(n);
end
figure;
subplot(4,1,1);
stem(x1);
title('x1');
subplot(4,1,2);
stem(x2);
title('x2');
subplot(4,1,3);
stem(y1);
title('y1');
subplot(4,1,3);
stem(y2);
title('y2');
figure;
x3=ones(1,6);
b=[1,2,4]
y3=conv(x3,b);
subplot(3,1,1);
stem(x3);
title('x3');
subplot(3,1,2);
stem(b);
title('b');
subplot(3,1,3);
stem(y3);
title('y3');

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

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

相关文章

Git控制指令

git status查看当前本地分支的修改状态 git diff 文件路径 查看具体文件的修改内容 git log打印用户信息 git remote -v查看远程地址 git checkout -- *还原被删除的文件 git rm -r --force .删除本地所有文件 git commit -m "Remove all files from repositor…

【Kotlin精简】第9章 Kotlin Flow

1 前言 上一章节我们学习了Kotlin的协程【Kotlin精简】第8章 协程,我们知道 协程实质是对线程切换的封装,能更加安全实现异步代码同步化,本质上协程、线程都是服务于并发场景下,其中协程是协作式任务,线程是抢占式任务…

XML创建IOC容器的过程

Spring框架的核心之一是IOC,那么我们是怎么创建出来的Bean呢? 作者进行了简单的总结,希望能对你有所帮助。 IOC的创建并不是通过new而是利用了java的反射机制,利用了newInstance方法进行的创建对象。 首先,我们先定义…

数智赋能 | 迅镭激光中标起重装备龙头株洲天桥起重!

工程机械是装备工业的重要组成部分,而作为工程机械最重要的产品体系之一的起重装备,在日新月异的城市化发展进程中,以效率高、性能强、智能化等特点迅速占领市场的一席之地。 在国家双碳目标下,国内起重装备产业正在加快向大型化、…

做亚马逊多久可以赚钱?做亚马逊需要多少资金?——站斧浏览器

做亚马逊需要时间、资金和全面的市场策略。创业者需要有耐心和决心,同时也要灵活应对市场变化。那么做亚马逊多久可以赚钱,做亚马逊需要多少资金。 做亚马逊多久可以赚钱 首先,就像任何其他生意一样,做亚马逊需要时间和努力来建立起稳定的客…

VUE限制文件上传大小和上传格式

<el-form-item label"图片&#xff1a;" prop"tempImagePath"><el-uploadclass"upload"accept"image/jpeg":show-file-list"false"list-type"picture-card":headers"{ token: token}":action&…

【分享】前后端分离框架的相关内容有哪些?

在当前&#xff0c;低代码技术平台的灵活性、可视性、高效性等优势特点在职场办公中非常亮眼&#xff0c;成为众多企业提升办公效率和有效利用数据资源的重要工具。为了迎合市场需求&#xff0c;前后端分离也成为了发展趋势&#xff0c;如果大家想了解前后端分离框架的具体内容…

保姆级连接FusionInsight MRS kerberos Hive

数新网络&#xff0c;让每个人享受数据的价值https://xie.infoq.cn/link?targethttps%3A%2F%2Fwww.datacyber.com%2F 概述 本文将介绍在华为云 FusionInsight MRS&#xff08;Managed Relational Service&#xff09;的Kerberos环境中&#xff0c;如何使用Java和DBeaver实现远…

JOSEF约瑟 瓦斯继电器(又称气体继电器) QJ4-25 250V 0.3A

QJ4系列气体继电器 QJ4-25气体继电器 QJ4-25瓦斯继电器 QJ4-25TH气体继电器 QJ4-25TH瓦斯继电器 QJ4G-25气体继电器 QJ4G-25瓦斯继电器 QJ4G-25TH气体继电器 QJ4G-25TH瓦斯继电器 用途 QJ4-25气体继电器是油浸式有载分接开关所用的一种保护装置。(体继电器安装在变压器箱盖 与…

KubeSphere 社区双周报 | Fluent Operator 2.6.0 发布 | 2023.11.10-11.23

KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过 commit 的贡献者&#xff0c;并对近期重要的 PR 进行解析&#xff0c;同时还包含了线上/线下活动和布道推广等一系列社区动态。 本次双周报涵盖时间为&#xff1a;2023.11.10-2023.…

python之pyqt专栏2-项目文件解析

项目结构 在上一篇文章python之pyqt专栏1-环境搭建&#xff0c;创建新的pyqt项目&#xff0c;下面我们来看一下这个项目下的文件。 从下面的文件结构图可以看到&#xff0c;该项目下有3个文件&#xff0c;untitled.ui,untitled.py 以及main.py。 QtDesigner可以UI界面的方式&am…

MySQL 基于成本的优化

其实在MySQL中⼀条查询语句的执⾏成本是由下边这两个⽅⾯组成的&#xff1a; I/O成本 我们的表经常使⽤的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的&#xff0c;当我们想查询表中的记录时&#xff0c;需要先把数据或者索引加载到内存中 然后再操作。这个从磁盘…

livox 半固体激光雷达 gazebo 仿真 | 更换仿真中mid360雷达外形

livox 半固体激光雷达 gazebo 仿真 | 更换仿真中mid360雷达外形 livox 半固体激光雷达 gazebo 仿真 | 更换仿真中mid360雷达外形livox 介绍更换仿真中mid360雷达外形 livox 半固体激光雷达 gazebo 仿真 | 更换仿真中mid360雷达外形 livox 介绍 览沃科技有限公司&#xff08;L…

基于51单片机电子钟闹钟LCD1602显示proteus仿真设计

基于51单片机的LCD1602电子钟闹钟proteus仿真设计 基于51单片机的LCD1602电子钟闹钟proteus仿真设计功能介绍&#xff1a;仿真图&#xff1a;原理图&#xff1a;设计报告&#xff1a;程序&#xff1a;器件清单&#xff1a;资料清单&&下载链接&#xff1a; 基于51单片机…

如何训练专属的OCR文字识别模型

1. 背景 在10月24日程序员节&#xff0c;公司决定向每位技术人员发放购物实体卡以示庆祝。然而&#xff0c;手动输入实体卡上的一大串卡密可能是一项繁琐且不那么智能的任务&#xff1b;同时&#xff0c;线上用户在绑定购物卡的时候&#xff0c;同样也是需要手动输入。 基于以…

Mysql基础操作(命令行)

文章目录 Mysql基础操作&#xff08;命令行&#xff09;背景创建数据库选择数据库查看所有表查看表结构向表插入数据插入第一条插入第二条插入第三条 查询表数据修改表数据删除表数据 Mysql基础操作&#xff08;命令行&#xff09; 背景 docker安装mysql8&#xff0c;映射本地…

额温枪方案,MS8551,MS8601;MS1112,MS1100

鉴于测温的传感器信号非常微弱&#xff0c;需要用高精度、低噪声的运算放大器和高精度、低功耗的ADC。 运算放大器可供选择&#xff1a;MS8551 or MS8601&#xff0c;具有低失调&#xff08;1uV&#xff09;、低噪&#xff08;22nV√Hz &#xff09;、封装小等优点&#xff0c…

34970A 数据采集 / 数据记录仪开关单元

34970A 数据采集 / 数据记录仪开关单元 产品综述&#xff1a; Keysight 34970A 数据采集/数据记录仪开关单元由一个 3 插槽主机和一个内置的 6 1/2 位数字万用表组成。每个通道可以单独配置&#xff0c;以测量 11 种不同功能之一&#xff0c;这样既不会增加成本&#xff0c;也…

喜讯!云起无垠成为国家信息安全漏洞库(CNNVD)技术支撑单位

近日&#xff0c;云起无垠凭借其在漏洞挖掘、漏洞检测以及漏洞修复等领域的卓越表现&#xff0c;荣获“国家信息安全漏洞库&#xff08;CNNVD&#xff09;技术支撑单位等级证书&#xff08;三级&#xff09;”&#xff0c;正式成为CNNVD技术支撑单位。 中国国家信息安全漏洞库&…

科普:多领域分布式协同仿真

分布式协同仿真是一种在分布式计算环境中进行协同工作的仿真方法。使用该方法进行协同仿真时&#xff0c;仿真任务将被分发到多个计算节点上&#xff0c;并且这些节点可以同时工作以模拟完整的系统行为。分布式协同仿真已被广泛应用于工程、科学和军事领域&#xff0c;以便更好…