【通信原理(含matlab程序)】实验六:模拟信号的数字化

news2024/9/21 2:34:10

💥💥💞💞欢迎来到本博客❤️❤️💥💥
本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识,如果大家喜欢,别忘点个赞加个关注哦,让我们一起共同进步~

📋📋📋本文目录如下:🎁🎁🎁

  • 一.实验目的
  • 二、实验内容
  • 三、实验原理
  • 四、实验程序
  • 六、问题讨论
    • 通信原理全套实验报告
      • 【连载】通信原理----全套Matlab仿真实验报告

一.实验目的

1、理解模拟信号数字化的原理;
2、理解抽样过程,掌握抽样定理;
3、理解由抽样序列恢复信号。

二、实验内容

设低通信号为在这里插入图片描述

1、画出该低通信号的波形;
2、画出抽样速率为4Hz的抽样序列;
3、由抽样序列恢复出的信号。

三、实验原理

1.模拟信号数字过程
模拟信号通过抽样、量化、编码过程转变为数字码元序列。
第一步抽样。模拟信号被抽样后,成为抽样信号,它在时间上是离散的,但是其取值仍然是连续的,所以是离散模拟信号。
第二步是量化。量化使信号变成量化信号,其取值是离散的故量化信号已经是数字信号了,它可以看成是多进制的数字脉冲信号调制。
第三步是编码。将量化信号二进制化,最基本和最常用的编码方法是脉冲编码。

2.抽样定理
低通抽样定理:一个频带限制在(0,fH)内的低通信号m(t),如果以fs≥2fH的速率进行均匀抽样,则由抽样序列{m(nTs)}可无失真地恢复出m(t),其中2fH被称为奈奎斯特抽样速率,也是最小抽样速率。
即想要采样后能够不失真地还原出原信号,则采样信号必须大于信号最高频率的两倍
时域上看时域采样就是让信号与采样信号进行卷积,而采样信号是一串冲击序列,
从频域上看就是原信号向冲击脉冲脉冲所在的位置的平移,即频谱搬迁,采样后后信号的频谱公式:
频谱搬迁这个结论说明了输出信号是原信号频谱以采样频率为重复周期的频域延拓,那就会存在一个问题,不同的采样频率采的出来的频谱不一样,有些稀疏,有些密集,当密集到一定程度就会出现混叠,那样我们就不能通过一个滤波器把原信号的频谱给滤出来,进而采样过程变成了不可逆过程,频域图可以看出了原信号的最高频率是WH,相邻两个频谱相切时中心频率相差WS,要不混叠即要满足WS≥2WH。
抽样过程在时域和频域的示意图:

3.采样恢复
采样恢复,也就是将离散时间信号变回连续时间信号。
由采样可知,采样后的频谱是原频谱的复制粘贴,我们只需要通过一个理想低通滤波器,那么就可以得到原信号的频谱。在恢复原信号时,抽样时刻的值由抽样值确定,而抽样时刻之外的信号值则是无穷项内插函数的加权和。
根据以上分析,我们需要一个如以下的低通滤波器进行信号的恢复。
在这里插入图片描述
根据上面频域相乘可知恢复信号等于抽样信号与低通滤波器的冲激响应做卷积.我们得到了时域中恢复信号的表达式
恢复信号的表达式也说明了,只要抽样频率大于两倍信号最高频率,则原信号的整个频谱就会完整保留下来,从而整个连续信号时间信号就可以完全由它的抽样值代表,而不会丢失任何信息,这也是奈奎斯特采样定理的意义。

四、实验程序

%参数设定
t=-5:0.05:5;%信号长度
f1 = 5;
f2 = 10;
k = -1 : 0.0001 : 1;
W = k / 0.01 ; %频域范围
%原信号
f_origin =  0.1*cos(0.15*pi*t) + 1.5*sin(2.5*pi*t)+0.5*cos(4*pi*t);
F_origin = f_origin * exp(-1i * t' * W) * 0.0005;% F_origin = abs(F_origin);
%4hz采样
fs = 4;
Ts = 1 / fs;
n = -5 : 1/fs : 5;%采样点
f_4Hz =0.1*cos(0.15*pi*n) + 1.5*sin(2.5*pi*n)+0.5*cos(4*pi*n);
F_4Hz = f_4Hz * exp(-1i * n' * W) * Ts;
F_4Hz = abs(F_4Hz);
%4Hz恢复
y = f_4Hz * sinc((ones(length(n),1)*t - n'*ones(1,length(t))) * fs);
F_Y = y * exp(-1i * t' * W) * Ts; 
F_Y = abs(F_Y);
figure(1)
subplot(311);plot(t, f_origin);title('原信号');
subplot(312);stem(n,f_4Hz);title('4hz采样信号');
subplot(313);plot(t,y);title('恢复后信号');
figure(2)
subplot(311);plot(W , F_origin);title('原始信号频谱');
subplot(312);plot(W,F_4Hz);title('4hz采样信号频谱');
subplot(313);plot(W,F_Y);title('恢复信号的频谱');

五、实验结果与分析

  1. 原始信号、抽样序列、以及恢复信号的波形如下:
  2. 在这里插入图片描述
    可以看出抽样序列经过一定处理,可以恢复到原信号。
    2.原始信号、抽样序列、以及恢复信号的频谱如下:
    如下图所示,当采样频率为4Hz,正好为原信号最高频率的二倍,也就是奈奎斯特抽样速率,满族抽样定理。由图可知,经采样后频谱并没有发生混叠,恢复信号过程中,经过一个低通滤波器,系统原信号的频谱被完整的恢复出来,实现了信号的恢复。
    在这里插入图片描述

六、问题讨论

1.总结本实验的主要收获。
①掌握了使用maatlab进行采样,将采样序列恢复到原始信号的方法。
②对采样定理,以及如何恢复原信号有了更加深刻的理解和掌握。
③掌握了matlab中常见数学操作,对matlab编程更加的熟练。
2.对实验内容提出自己的想法和建议。
可以通过进一步改变采样频率,观察不同采样频率下的采样序列,恢复原信号的波形,以及频谱特性。

通信原理全套实验报告

【连载】通信原理----全套Matlab仿真实验报告

https://blog.csdn.net/amimax/article/details/128776213?spm=1001.2014.3001.5501

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

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

相关文章

一文理解JVM虚拟机

一. JVM内存区域的划分 1.1 java虚拟机运行时数据区 java虚拟机运行时数据区分布图: JVM栈(Java Virtual Machine Stacks): Java中一个线程就会相应有一个线程栈与之对应,因为不同的线程执行逻辑有所不同&#xff…

【JavaGuide面试总结】Java IO篇

【JavaGuide面试总结】Java IO篇1.有哪些常见的 IO 模型?2.Java 中 3 种常见 IO 模型BIO (Blocking I/O)NIO (Non-blocking/New I/O)AIO (Asynchronous I/O)1.有哪些常见的 IO 模型? UNIX 系统下, IO 模型一共有 5 种: 同步阻塞 I/O、同步非阻塞 I/O、…

浏览器兼容性 问题产生原因 厂商前缀 滚动条 css hack 渐近增强 和 优雅降级 caniuse

目录浏览器兼容性问题产生原因厂商前缀滚动条css hack渐近增强 和 优雅降级caniuse浏览器兼容性 问题产生原因 市场竞争标准版本的变化 厂商前缀 比如:box-sizing, 谷歌旧版本浏览器中使用-webkit-box-sizing:border-box 市场竞争,标准没有…

Java多线程案例之线程池

前言:在讲解线程池的概念之前,我们先来谈谈线程和进程,我们知道线程诞生的目的其实是因为进程太过重量了,导致系统在 销毁/创建 进程时比较低效(具体指 内存资源的申请和释放)。 而线程,其实做…

14岁初中生将免去四考,保送清华本硕博连读,乡亲们敲锣打鼓祝贺

导语: 很多学生在很小的时候,都曾有豪言壮语:“将来一定要考上清华北大”。可是真正接受教育,开始学习之后,学生们才能发现,原来学习这么难。不要说真的走进清华北大,即使是进入“985”大学&am…

C++ 智能指针(一) auto_ptr

文章目录前言 - 什么是智能指针?std::auto_ptrauto_ptr的使用常用成员方法:1. get()方法2. release()方法3. reset()方法4. operator()5. operator*() & operator->()auto_ptr的局限性前言 - 什么是智能指针? 在全文开始之前&#xf…

Redis事务的概述、设计与实现

1 Redis事务概述事务提供了一种“将多个命令打包, 然后一次性、按顺序地执行”的机制, 并且事务在执行的期间不会主动中断 —— 服务器在执行完事务中的所有命令之后, 才会继续处理其他客户端的其他命令。以下是一个事务的例子, 它…

mysql-事务以及锁原理讲解(二)

1、前言 众所周知,事务和锁是mysql中非常重要功能,同时也是面试的重点和难点。本文会详细介绍事务和锁的相关概念及其实现原理,相信大家看完之后,一定会对事务和锁有更加深入的理解。 2、什么是事务 在维基百科中,对事…

7 处理多维特征的输入

文章目录课程前提知识问题引入模型改进修改神经层的增加学习能力与超参数课本代码课程来源: 链接课程文本来源借鉴: 链接以及(强烈推荐)Birandaの课程前提知识 BCELoss - Binary CrossEntropyLoss BCELoss 是CrossEntropyLoss的一个特例&am…

JavaEE day7 初识JavaScript2

函数小结 1.可以赋值给变量(其实就是被变量所指向) 2.装入容器中作为元素存在 3.在函数调用的过程中,函数类型作为实参 4.函数作为另一个函数的返回值 可以直接return一个函数 5.和java不同,JS中允许在一个函数中定义另一个函数,也就是嵌…

介绍一个令强迫症讨厌的小红点组件

前言 在 App 的运营中,活跃度是一个重要的指标,日活/月活……为了提高活跃度,就发明了小红点,然后让强迫症用户“没法活”。 小红点虽然很讨厌,但是为了 KPI,程序员也不得不屈从运营同学的逼迫(讨好),得想办法实现。这一篇,来介绍一个徽标(Badge)组件,能够快速搞…

解决OpenEuler系统 Minimal BASH-like line editing is supported

2023年开工解决的第一个问题~呃,起因是这样的,由于业务需要,修改内核参数后重新打包内核,然后安装内核rpm包后,强制关机,结果就出现如上界面。网上搜索后绝大部分是因为安装了双系统后找不到grub系统引导文…

ELK_Elasticsearch基础介绍

目录 一、搜索是什么? 二、数据库做搜索的弊端 三、全文检索、倒排索引和Lucene 四、什么是Elasticsearch 1、Elasticsearch的功能 2、Elasticsearch的使用场景 3、Elasticsearch的特点 五、elasticsearch核心概念 一、搜索是什么? 概念&#x…

vue2与vue3面试题之区别

目录vue2与vue3面试题之区别01:数据双向绑定( proxy 替代 defineProperty)02:生命周期函数的更换03:vue3的新特性04:缓存组件与更新组件05:ref和reactive的区别06:watch和watchEffec…

测试篇(五):什么是自动化测试、自动化测试分类、selenium工具、第一个自动化测试程序

目录一、什么是自动化测试二、自动化测试分类2.1 单元测试2.2 UI自动化测试三、selenium工具3.1 selenium的介绍3.2 环境部署3.3 selenium的常用方法四、第一个自动化测试用例一、什么是自动化测试 在日常生活中我们会见到,自动化的水龙头、无人驾驶汽车、自动化的…

Mysql,使用FIND_IN_SET()函数处理多表关联问题.

这里有 user表、teacher表,其中 teacher.user_ids 字段中的值是 user.id 值以英文半角逗号拼接而来。现在, 我们需要在查询 teacher 表数据时,将 user.name 的值也查询出来。使用以下的SQL语句,即可实现需求。SELECTGROUP_CONCAT(…

系统编程中的进程的概念No.1

引言: 北京时间2023/1/28,本小编04年1月9日出生,今天第一次理解到进程的概念,所以我们接下来就学习一下什么是进程以及和进程相关的一些知识。首先我们想要了解进程以及其相关的知识,我们要先理解一下其它方面的知识&…

【2】Linux基础命令

学习笔记目录 初识Linux--入门Linux基础命令--会用Linux权限管控--懂权限Linux实用操作--熟练实战软件部署--深入掌握脚本&自动化--用的更强项目实战--学到经验云平台技术--紧跟潮流 Linux的目录结构 Linux的目录结构是一个树形结构,没有盘符这个概念&#x…

常用算法分类

按照使用场景分类排序算法,如冒泡排序,快速排序等,用于将一组数据按照特定规则排序。搜索算法,如二分查找算法,深度优先搜索算法等,用于在一组数据中查找特定元素。图论算法,如最短路径算法&…

Claude的2022年终总结——关于2022和Claude的四个问题

文章目录前言1. 我算是合格的开发者了吗2. 我算是正式的游戏人了吗3. 我算是成熟的社会人了吗4. 我算是什么样的写作者呢最后前言 2022年的这个时候,我也是在准备着年终总结,只不过应公司要求,准备述职晋升,是抱着升职加薪&#…