通信原理第三次实验
- 实验目的与内容




![]()
![]()
![]()
- 实验操作与结果
5.1
刚开始先不加入白噪声,系统设计如下:

正弦波参数设置如下:

FM设计如下:

延迟设计如下:

两个滤波器设计参数如下:


输出信号频谱为(未加入噪声):

接下来我们加入一个高斯噪声,将系统设计改为:

参数设置标准差为1,均值为0:

其输出波形为:

频谱为:

改变高斯噪声参数设置,
将标准差改为2:

输出波形为:

频谱为:

我们可以通过以上这些图中发现,当噪声功率变大时,波形失真就愈发的严重起来,频谱图中的波动频率也就变大了。
5.2
设计系统如图所示:

载波参数设置:

调频信号参数设置:

设置最大频偏:

两个滤波器参数设置:


采样设置:

输出的基带信号波形为:

输出基带信号的频谱为:

输出的调制后的信号的波形为:

输出的调制后的信号的频谱为:

我们可以发现解调信号和原始信号是基本相同的。
7.2
我们按照实验手册上的指示,构建系统如下:

原始信号参数设置如下:

高斯噪声参数设置如下:

采样率参数设置如下:

滤波后的信号与原始信号的叠加波形如图所示:

输入信号与输出信号的叠加波形如图所示:

可以发现输入输出信号是基本吻合的。
现在我们调整delay后得到的叠加图像如图所示:

可以发现在不满足准则的情况下输出信号出现了错误脉冲。
7.3
首先我们依然是在实验手册的指导下构建出我们的系统如图所示:

我们的设置基本参数最开始按照实验手册的参数设置。
我们最开始的时候设置高斯噪声为0V,得到的眼图如图所示:

接着我们将高斯噪声设置为0.1V,即信噪比为20dB,所得的眼图如图所示:

最后我们将高斯噪声设置为1V,即信噪比为1,得到的眼图如图所示:

我们可以发现,信噪比越大,即噪声越小,我们所得到的眼图线条简洁,越接近于一个“单眼皮大眼睛”,而噪声越大,信噪比越小,我们所得到的眼图逐渐闭合,且线条杂乱无章。
8.1.1
首先是ASK的调幅法生成,也就是上课时所讲的模拟调制法,其原理如图所示:

我们根据原理图以及实验手册的指导构建出我们的系统如图所示:

采样率设置如图:

单极性方波频率为100Hz,载波频率为100Hz。
原始方波图像如图:

调制后我们得到的图像如图所示:

可以看是符合我们的预期,所得到的ASK图像还是比较好的。
接着我们实现幅度键控的OOK法生成,也就是上课时所讲的键控法,原理如图所示:

根据原理以及实验手册的指导,我们构建出系统如图所示:

我们的采样率设置如下:

方波频率设置为100Hz,载波频率设置为200Hz。
我们调制后的所得到的2ASK波形为:

符合我们的预期。
接着我们来实现2ASK信号的解调,首先2ASK有两种解调方法,分别是非相干解调法(也就是上课时所讲的包络检波法)和相干解调法,其原理图如下:

根据原理以及实验手册的指导我们构建出系统如图所示:

上面是包络检波法,下面是相干解调法。
我们的采样率设置如下:

方波频率设置为50Hz,载波频率设置为200Hz。
利用包络检波法所得到的解调结果如图所示:

根据相干解调法解调后的波形如图所示:

对比初始调制后的图像:

我们可以发现结果是符合预期的,至此2ASK即2OOK的调制与解调实现分析完毕。
8.1.2
2FSK信号的调制也是有两种方法,分别是调频法(也就是上课时所讲的模拟调制法)和键控法,其原理和特点如图:

根据原理以及实验手册的指导,我们构建出系统如图所示:

上面是模拟调制法,下面是键控法。
我们设置的采样率为:

方波频率为10Hz,两个载波的频率分别为10Hz以及20Hz,所以我们预测所得到的波形中,分别有一个码元为1个正弦波形和一个码元为2个正弦波形。
通过调频法所得到的调制结果如图:

通过键控法得到的结果如图:

观察图像,符合我们的预期,2FSK的调制实现的非常好。
2FSK的解调方法也有两种,分别是非相干解调和相干解调。
我们首先来分析非相干解调,也就是上课时所讲的包络检波法,其原理和规则如图所示:

我们根据原理和实验手册的指导构建系统如图所示:

我们设置的系统采样率如图:

其中方波频率为10Hz,两个载波的频率分别为100Hz和150Hz。
原始信号和输出信号对比:

上面的是输入信号,下面的是输出信号。
我们把输入信号和输出信号放在一张图上:

我们可以发现我们的解调是相当成功的。
接下来我们分析2FSK的相干解调,其原理如图所示:

我们构建的系统如图:

我们设置的系统采样率为:

方波频率为10Hz,两个载波的频率分别为100Hz和150Hz。
我们得到的调制结果如图:

初始波形为:

调制前与解调后的波形
对比:

通过对比我们可以发现我们解调的结果还是很不错的。
8.1.3
最后我们来进行2PSK和2DPSK的调制与解调。
首先我们参照实验报告手册进行2PSK与2DPSK的调制:

其对应的是键控法(上面那一路),其原理如下图:


我们根据实验手册的指示以及上课时所学原理构建出我们的系统如图:

我们设置的系统采样率为:

方波频率设置为20Hz,上下载波均设置为40Hz。
所以预期一个码元应该是两个波形。
初始方波为图像为:

经过差分编码后的方波图像为:

最终我们得到的调制结果为:
2PSK:

2DPSK:

我们可以发现确实为一个码元两个波形,并且对应的编码调制均正确且符合预期。
接下来进行2DPSK的调制,我们采用差分相干解调法即相位比较法,
其原理如图所示:

我们构建的系统如图所示:

我们设置的采样率如图:

方波频率20Hz,载波频率40Hz。
其输入输出图像如图:

上面是输入,下面是输出。
我们可以发现解调符合预期。
同时附上相乘器输出以及低通滤波器输出图像:
相乘器输出:

低通滤波器输出:

最后我们进行2PSK的解调。

我们设计系统如图:

我们设置的系统采样率为:

方波频率20Hz,载波频率40Hz。
输入输出图像:

上面是输入,下面是输出。
对比两个图像,我们可以发现解调是符合预期的。
另外附上相乘器输出以及低通滤波器输出图像:
相乘器输出:

低通滤波器输出:
相关文章:
通信原理第三次实验
实验目的与内容 实验操作与结果 5.1 刚开始先不加入白噪声,系统设计如下: 正弦波参数设置如下: FM设计如下: 延迟设计如下: 两个滤波器设计参数如下: 输出信号频谱为(未加入噪声)&a…...
【halcon】Metrology工具系列之 get_metrology_object_result_contour
get_metrology_object_result_contour (操作员) 名称 get_metrology_object_result_contour — 查询测量对象的结果轮廓。 签名 get_metrology_object_result_contour( : Contour : MetrologyHandle, Index, Instance, Resolution : ) 描述 get_metrology_object_result_…...
A052-基于SpringBoot的酒店管理系统
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹 赠送计算机毕业设计600…...
NLP信息抽取大总结:三大任务(带Prompt模板)
信息抽取大总结 1.NLP的信息抽取的本质?2.信息抽取三大任务?3.开放域VS限定域4.信息抽取三大范式?范式一:基于自定义规则抽取(2018年前)范式二:基于Bert下游任务建模抽取(2018年后&a…...
python常见问题-pycharm无法导入三方库
1.运行环境 python版本:Python 3.9.6 需导入的greenlet版本:greenlet 3.1.1 2.当前的问题 由于需要使用到greenlet三方库,所以进行了导入,以下是我个人导入时的全过程 ①首先尝试了第1种导入方式:使用pycharm进行…...
迅为RK3588开发板Android系统开发笔记-使用ADB工具
1 使用 ADB 工具 ADB 英文名叫 Android debug bridge ,是 Android SDK 里面的一个工具,用这个工具可以操作管理 Android 模拟器或者真实的 Android 设备,主要的功能如下所示: 在 Android 设备上运行 shell 终端,用命…...
什么是分布式数据库?
随着现代互联网应用和大数据时代的到来,分布式数据库成为了解决大规模数据存储和高并发处理的核心技术之一。本文将通过深入浅出的方式,带你全面理解分布式数据库的概念、工作原理以及底层实现技术。无论你是刚刚接触分布式数据库的开发者,还…...
Leetcode 3363. Find the Maximum Number of Fruits Collected
Leetcode 3363. Find the Maximum Number of Fruits Collected 1. 解题思路2. 代码实现 题目链接:3363. Find the Maximum Number of Fruits Collected 1. 解题思路 这一题是一道陷阱题…… 乍一眼看过去,由于三人的路线完全可能重叠,因此…...
【数据仓库 | Data Warehouse】数据仓库的四大特性
1. 前言 数据仓库是用于支持管理和决策的数据集合,它汇集了来自不同数据源的历史数据,以便进行多维度的分析和报告。数据仓库的四大特点是:主题性,集成性,稳定性,时变性。 2. 主题性(Subject-Oriented) …...
springboot配置多数据源mysql+TDengine保姆级教程
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pom文件二、yamlDataSourceConfigServiceMapper.xml测试总结 前言 Mybatis-plus管理多数据源,数据库为mysql和TDengine。 一、pom文件 <de…...
dns实验2:反向解析
启动服务: 给虚拟机网卡添加IP地址: 查看有几个IP地址: 打开配置文件: 重启服务,该宽松模式,关闭防火墙: 本机测试: windows测试:(本地shell)...
ZooKeeper 基础知识总结
先赞后看,Java进阶一大半 ZooKeeper 官网这样介绍道:ZooKeeper 是一种集中式服务,用于维护配置信息、命名、提供分布式同步和提供组服务。 各位hao,我是南哥,相信对你通关面试、拿下Offer有所帮助。 ⭐⭐⭐一份南哥编写…...
npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法
npm库xss依赖的使用方法和vue3 中Web富文本编辑器 wangeditor 使用xss库解决 XSS 攻击的方法 1. npm库xss依赖的使用方法1.1 xss库定义1.2 xss库功能 2. vue3 中 wangeditor 使用xss库解决 XSS 攻击的方法和示例2.1 在终端执行如下命令安装 xss 依赖2.2 在使用 wangeditor 的地…...
微信小程序蓝牙writeBLECharacteristicValue写入数据返回成功后,实际硬件内信息查询未存储?
问题:连接蓝牙后,调用小程序writeBLECharacteristicValue,返回传输数据成功,查询硬件响应发现没有存储进去? 解决:一直以为是这个write方法的问题,找了很多相关贴,后续进行硬件日志…...
5G NR:带宽与采样率的计算
100M 带宽是122.88Mhz sampling rate这是我们都知道的,那它是怎么来的呢? 采样率 子载波间隔 * 采样长度 38.211中对于Tc的定义, 在LTE是定义了Ts,在NR也就是5G定义了Tc。 定义这个单位会对我们以后工作中的计算至关重要。 就是在…...
go 和java 编写方式的理解
1. go 推荐写流水账式的代码(非贬义),自己管自己。java喜欢封装各种接口供外部调用,让别人来管自己。 2. 因为协程的存在, go的变量作用域聚集在方法内部,即函数不可重入,而java线程的限制&…...
C# 7.1 .Net Framwork4.7 VS2017环境下,方法的引用与调用
方法的调用比较好理解,就是给方法传递实参,执行方法代码。 方法引用涉及委托,委托签名与其引用的方法必须一致。以下demo说明方法调用与引用在写程序时的区别: using System; using System.Collections.Generic; using System.L…...
etcd、kube-apiserver、kube-controller-manager和kube-scheduler有什么区别
在我们部署K8S集群的时候 初始化master节点之后(在master上面执行这条初始化命令) kubeadm init --apiserver-advertise-address10.0.1.176 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --service…...
每日一题 LCR 057. 存在重复元素 III
LCR 057. 存在重复元素 III 滑动窗口二分查找 有序集合 有lower_bound(num) ,可以找到第一个大于其的数字 class Solution { public:bool containsNearbyAlmostDuplicate(vector<int>& nums, int k, int t) {set<long> win;for(int i0;i<nums.size();i){a…...
使用IDEA编写测试用例,复杂度校验
最近我们公司要求开发人员必须写测试用例,组织了TDD培训,测试驱动开发,同时衡量代码的圈复杂度,我记录下初次使用的过程。 编写测试用例,查看用例覆盖度 1、要编写测试用例,并看下测试用例的覆盖度&#…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
