matlab学习笔记(九)

news2024/11/24 12:51:14

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

matlab学习笔记(九)

  • 一、信号采样
  • 二、信号重建


一、信号采样

信号的采样原理图如下图所示:
在这里插入图片描述
其数学模型表示为:
在这里插入图片描述其中的f(t)为原始信号,采样信号在时域的表示为无穷多冲激函数的线性组合,其权值为原始信号在对应采样时刻的定义值。
令原始信号f(t)的傅立叶变换为F(jw)=FT(f(t)),则采样信号 的傅立叶变换
在这里插入图片描述
由此可见,采样信号 的频谱就是将原始信号f(t)的频谱在频率轴上以采样角频率 为周期进行周期延拓后的结果。

二、信号重建

经采样后得到信号fs(t) 经理想低通h(t) 则可得到重建信号f(t) ,即:
在这里插入图片描述
案例一:

在这里插入图片描述

wm=1;                      %信号带宽
wc=wm;                     %滤波器截止频率
Ts=pi/wm;                   %采样间隔
ws=2*pi/Ts;                  %采样角频率  
n=-100:100;                  %时域采样电数
nTs=n*Ts                    %时域采样点
f=sinc(nTs/pi);
Dt=0.005;t=-15:Dt:15;
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));  %信号重构
t1=-15:0.5:15;
f1=sinc(t1/pi);
subplot(211);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的临界采样信号');
subplot(212);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由sa(t)=sinc(t/pi)的临界采样信号重构sa(t)');
grid;

运行结果:
在这里插入图片描述
案例二:
Sa(t)的过采样及信号重构和绝对误差分析;
程序和例上类似,将采样间隔改成Ts=0.7pi/wm , 滤波器截止频率该成wc=1.1wm ,添加一个误差函数

wm=1;
wc=1.1*wm; 
Ts=0.7*pi/wm;
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts
f=sinc(nTs/pi);
Dt=0.005;t=-15:Dt:15;
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
error=abs(fa-sinc(t/pi));   %重构信号与原信号误差
t1=-15:0.5:15;
f1=sinc(t1/pi);
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由sa(t)=sinc(t/pi)的过采样信号重构sa(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');

运行结果:
在这里插入图片描述
案例三:
将采样间隔改成Ts=1.5*pi/wm , 滤波器截止频率该成wc=wm=1

wm=1;
wc=1*wm; 
Ts=1.5*pi/wm;
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts
f=sinc(nTs/pi);
Dt=0.005;t=-15:Dt:15;
fa=f*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
error=abs(fa-sinc(t/pi));   %重构信号与原信号误差
t1=-15:0.5:15;
f1=sinc(t1/pi);
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('sa(t)=sinc(t/pi)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由sa(t)=sinc(t/pi)的过采样信号重构sa(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');

运行结果:

在这里插入图片描述
案例四:
f(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi)) ,由于不是严格的频带有限信号,但其频谱大部分集中在[0,2]之间,带宽wm可根据一定的精度要求做一些近似。试根据以下两种情况用 MATLAB实现由f(t)的抽样信号fs(t)重建f(t) 并求两者误差,分析两种情况下的结果。

  1. wm=2 , wc=1.2wm , Ts=1;
  2. wm=2 , wc=2 wm, Ts=2.5
    A1:
wm=2;                      %信号带宽
wc=2.4;                     %滤波器截止频率
Ts=2/wm;                   %采样间隔
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts;
f=0.5*(1+cos(nTs)).*(stepfun(nTs,pi)-stepfun(nTs,-pi));
Dt=0.005;t=-5:Dt:5;
fa=f*Ts*wc/pi*(0.5*(1+cos(wc)).*(stepfun(wc,pi)-stepfun(wc,-pi)))*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))); 
error=abs(fa-0.5*(1+cos(t)).*(stepfun(t,pi)-stepfun(t,-pi)));   %重构信号与原信号误差
t1=-10:0.5:10;
f1=0.5*(1+cos(t1)).*(stepfun(t1,pi)-stepfun(t1,-pi));
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('f(t)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由f(t)的过采样信号重构fs(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');

运行结果:
在这里插入图片描述
A2:

wm=2;                      %信号带宽
wc=2;                     %滤波器截止频率
Ts=2.5;                   %采样间隔
ws=2*pi/Ts;
n=-100:100;
nTs=n*Ts;
f=0.5*(1+cos(nTs)).*(stepfun(nTs,pi)-stepfun(nTs,-pi));
Dt=0.005;t=-5:Dt:5;
fa=f*Ts*wc/pi*(0.5*(1+cos(wc)).*(stepfun(wc,pi)-stepfun(wc,-pi)))*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))); 
error=abs(fa-0.5*(1+cos(t)).*(stepfun(t,pi)-stepfun(t,-pi)));   %重构信号与原信号误差
t1=-10:0.5:10;
f1=0.5*(1+cos(t1)).*(stepfun(t1,pi)-stepfun(t1,-pi));
subplot(311);
stem(t1,f1);
xlabel('kTs');
ylabel('f(kTs)');
title('f(t)的采样信号');
subplot(312);
plot(t,fa)
xlabel('t');
ylabel('fa(t)');
title('由f(t)的过采样信号重构fs(t)');
grid;
subplot(313);
plot(t,error);
xlabel('t');
ylabel('error(t)');
title('过采样信号与原信号的误差error(t)');

运行结果:
在这里插入图片描述

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

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

相关文章

11、Mysql高级之SQL优化

11、Mysql高级之SQL优化 文章目录11、Mysql高级之SQL优化0 SQL优化1 大批量插入数据2 优化insert语句3 优化order by语句3.1 环境准备3.2 两种排序方式3.3 Filesort 的优化4 优化group by 语句5 优化嵌套查询6 优化OR条件7 优化分页查询7.1 优化思路一7.2 优化思路二8 使用SQL提…

【Budibase】搭建低代码开发平台

Budibase介绍 Budibase 是一套开源的低代码开发平台,支持一键数据库及API 接入,支持简单的 JS 关联前后端数据,有细致的权限访问管理,对移动端有良好的支持。它主打企业流程自动化,有完善的自动化流程设计&#xff0c…

NETDMIS5.0界面介绍

1.启动界面介绍 双击桌面快捷方式,打开NET.DMISS启动界面如下图,包含三个菜单是文件、设置语言、帮助。 2.工作界面介绍 默认测量界面包括主菜单,工具条,节点程序界面(显示测量过程),CAD视窗…

(免费分享)基于ssm简易网盘系统

开发工具:IDEA,mysql5.7 Tomcat8.0,jdk1.8 package cn.tangtj.clouddisk.web;import cn.tangtj.clouddisk.entity.User; import cn.tangtj.clouddisk.utils.UserUtil; import org.apache.logging.log4j.LogManager; import org.apache.loggi…

嵌入式应用开发|Linux文件I/O常用的四种访问方式

在Linux系统中&#xff0c;一切都可以看成"文件"<通常包含&#xff1a;普通文件、驱动文件、网络通信文件等等>&#xff0c;系统中所有的操作都可以通过文件I/O实现&#xff0c;因此&#xff0c;掌握文件常用接口很有必要。 0.前言 屏幕前的你如果懂得main函数…

SAP S4 如何快速配置一家公司

之前配置公司采用的方法是copy的方式来配置&#xff0c;后来在做其他配置的时候发现&#xff0c;copy的方法会把很多不需要的配置也copy进来了。所就我从新定义了一个公司来进行学习研究。配置一定空的公司很简单&#xff0c;只需要三步&#xff1a; 1 定义和分配公司 • 公司…

Java中的异常、IO与NIO面试题

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;Java面试题…

萤石网络通过注册:9个月净利2亿同比降28% 海康威视为大股东

雷递网 雷建平 12月19日杭州萤石网络股份有限公司&#xff08;简称&#xff1a;“萤石网络”&#xff09;日前通过注册&#xff0c;准备在科创板上市。萤石网络计划募资37.39亿元&#xff0c;其中&#xff0c;22亿元用于萤石智能制造重庆基地项目&#xff0c;8亿元用于新一代物…

论文投稿指南——中文核心期刊推荐(航空、航天)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

做Python网络爬虫需要掌握哪些核心技术?

在当下这个社会&#xff0c;如何有效地提取并利用信息成为一个巨大的挑战。基于这种巨大的市场需求&#xff0c;爬虫技术应运而生&#xff0c;这也是为什么现在爬虫工程师的岗位需求量日益剧增的原因。那么做Python网络爬虫需要掌握哪些核心技术呢&#xff1f;下面我们来一起看…

机器学习 特征工程及模型聚合

目录 一&#xff1a;什么是特征工程 二&#xff1a;特征工程方法 三&#xff1a;独热编码 四&#xff1a;归一化处理 五&#xff1a;特征工程方法 六&#xff1a;特征工程处理过程 七&#xff1a;Kaggle房价预测实际案例 一&#xff1a;什么是特征工程 1 是最大限度地从…

React源码分析6-hooks源码

本文将讲解 hooks 的执行过程以及常用的 hooks 的源码。 hooks 相关数据结构 要理解 hooks 的执行过程&#xff0c;首先想要大家对 hooks 相关的数据结构有所了解&#xff0c;便于后面大家顺畅地阅读代码。 Hook 每一个 hooks 方法都会生成一个类型为 Hook 的对象&#xff…

学习->C++篇十八:一文总结C++的异常

目录 C为什么要引入异常&#xff1f; 什么是异常&#xff1f; 怎么使用异常处理错误&#xff1f; 异常的抛出规则&#xff1a; 异常的匹配规则&#xff1a; 单个catch语句&#xff0c;不能完全处理掉异常&#xff1f;重新抛出异常 什么是异常安全问题&#xff1f; 什么…

一、绘制折线图

Origin-绘图 一、新建绘图表格 Add New Column&#xff1a;新建一列 Set as→Y Error设置新列为Y误差 Long Name&#xff1a;X轴和Y轴名称&#xff1b;Units&#xff1a;单位&#xff1b;Comments&#xff1a;注释&#xff1b; 二、绘图 绘制折线图&#xff1a; 选择X、Y、…

2022年,转行IT学哪些编程语言更容易拿高薪?

人们都说年头年尾都是给自己进行规划最好的时段&#xff0c;想要学习编程的你现在是不是也开始进行规划了呢&#xff1f; 不过对大部分人来说&#xff0c;最犹豫的问题也摆在面前&#xff0c;编程语言众多&#xff0c;不知道学什么才能对后续的就业和职业发展有更好的作用。 …

PyTorch 2.0 之 Dynamo: 窥探加速背后的真相

前言 PyTorch 2.0 算是正式官宣了&#xff0c;预计在明年 3 月和大家见面。官方的 blog 宣发了非常多的内容&#xff0c;但是阅读下来不难发现&#xff0c;几乎所有的性能提升、体验优化都源自于 PyTorch 新设计的即时编译工具&#xff1a;Dynamo。 PyTorch eager 模式极佳的…

Flink 在米哈游的应用实践

摘要&#xff1a;本文整理自米哈游大数据实时计算团队负责人张剑&#xff0c;在 Flink Forward Asia 2022 主会场的分享&#xff0c;本篇内容主要分为三个部分&#xff1a;发展历程和平台建设场景应用实践未来展望Tips&#xff1a;点击「阅读原文」获取演讲 ppt01发展历程和平台…

分享一种通信协议的应用编程原理和思路

已剪辑自: https://mp.weixin.qq.com/s/wy-flva6pCNqHV3ObeLPCQ 嵌入式开发过程中&#xff0c;UART、 CAN、 USB等通信基本离不开通信协议。 下面给大家分享一种通信协议&#xff08;MAVLink&#xff09;在应用编程中的编程原理和思路。 本节提供“MAVLink发送接收例程”例程下…

[FTP] ftp通信协议抓包分析

想在ESP32上用TCP来实现ftp服务器&#xff0c;抓一下ftp通信包分析一下。总的来说就是两个TCP通道&#xff0c;一个命令通道&#xff0c;一个数据通道&#xff1b;数据通道只有在遍历目录、下载、上传的时候才开启&#xff0c;其余时候均不开启&#xff1b;主要就是协议对接好就…

【认识】wireshark使用教程

本文章&#xff0c;是简单粗暴学习Wireshark的抓包功能后&#xff0c;记录的一些笔记。 1 Wireshark简介及抓包原理及过程 1.1 简介 Wireshark是1个网络封包分析软件。网络封包分析软件的功能是截取网络封包&#xff0c;并尽可能显示出最为详细的网络封包资料。Wireshark使用…