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

微信公众号上线,搜索公众号小灰灰的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:Ny1(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.hqwc.cn/news/215004.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenStack云计算平台-块存储服务

目录 一、块存储服务概览 二、安装并配置控制节点 1、先决条件 2、安全并配置组件 3、配置计算节点以使用块设备存储 4、完成安装 三、安装并配置一个存储节点 1、先决条件 2、安全并配置组件 3、完成安装 ​四、验证操作 一、块存储服务概览 OpenStack块存储服务(c…

2023/11/24JAVAweb学习

age只会执行成立的,show其实都展示了,通过display不展示 使用Vue,必须引入Vue.js文件 假如运行报错,以管理员身份打开vscode,再运行 ------------------------------------------------------------------- 更改端口号

Exchange意外登录日志

最近在审计Exchange邮件系统的时候,发现大量用户半夜登录的日志。而且都是成功的,几乎没有失败的情况。其中Logon Type 8表示用户从网络登录。 Logon type 8: NetworkCleartext. A user logged on to this computer from the network. The user’s pas…

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

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

轻松搬运!手推小车助力制造企业高效装卸

手推车是一种非常方便高效的搬运工具。它可以帮助我们轻松搬运重物,节省时间和精力。不论是在仓库、工厂、商场还是家庭,手推车都扮演着重要的角色。 在现代物流与生产领域,高效的装卸作业是确保生产流程畅通的重要环节。手推小车作为一种便…

Qt C++中调用python,并将软件打包发布,python含第三方依赖

工作中遇到qt c调用我的python 代码,并且想要一键打包,这里我根据参考的以及个人实践的结果来简单实现一下。 环境:windows系统,QT Creater 4.5, python 3.8(anaconda虚拟环境) 1. 简单QT调用…

bat批处理文件

常用的bat批处理命令 1、遍历移动文件最好将文件编码保存为 ANSI编码 新的改变 1、遍历移动文件 把子目录里面的文件批量移动到当前目录 (或根目录) 项目中要批量导入附件,但是收集的子公司员工信息,都是每个人一个文件夹的&…

Tiktok小店如何入驻?注册流程与资料全解

作为国内成功的出海App之一,Tiktok的特色就是社交平台兴趣电商,已然成为当前跨境电商的一大趋势。数据显示,目前Tiktok全球月活跃用户已接近16亿,正是红海一片。非常值得跨境电商玩家入局!今天就来给大家整理一份tk小店…

使用python 实现华为设备的SFTP文件传输

实验目的: 公司有一台CE12800的设备,管理地址位172.16.1.2,现在需要编写自动化脚本,通过SFTP实现简单的上传下载操作。 实验拓扑: 实验步骤: 步骤1:将本地电脑和ensp的设备进行桥接&#xff…

vue2指令的使用和自定义指令

前言 个人认为vue的指令,对比react来说,给开发者节省了很大的学习成本。比如在react中,你想渲染一个列表,需要用Array.map的方法return<div>,而在vue中,一个简单的v-for就解决了问题。 在学习成本和入手体验上,vue的作者确实后来者居上,能让人更快的使用vue开发。不过也…

长征故事vr互动教育体验系统让师生感同身受

红色文化是贯穿于新民主主义革命、社会主义建设的各个时期&#xff0c;具有深厚的历史价值和文化内涵的先进文化&#xff0c;是高效、优质的教育资源。思政课vr红色数字展馆充分开发和大力弘扬红色文化资源&#xff0c;发挥其独特资源优势和教育功能&#xff0c;应用到教学中&a…

如何巧用拨测监控中的自定义维度?

在拨测监控的场景中&#xff0c;用户往往很关心拨测的资源对象是否正常。在当前拨测采集策略中&#xff0c;拨测采集对象本身可能无法反映出配置的拨测地址&#xff0c;用户可能还需要找到具体的拨测采集策略后才能确认拨测地址。 本期EasyOps产品使用最佳实践&#xff0c;我们…