当前位置: 首页 > news >正文

通信原理第三次实验

  • 实验目的与内容

  • 实验操作与结果

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保姆级教程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pom文件二、yamlDataSourceConfigServiceMapper.xml测试总结 前言 Mybatis-plus管理多数据源&#xff0c;数据库为mysql和TDengine。 一、pom文件 <de…...

dns实验2:反向解析

启动服务&#xff1a; 给虚拟机网卡添加IP地址&#xff1a; 查看有几个IP地址&#xff1a; 打开配置文件&#xff1a; 重启服务&#xff0c;该宽松模式&#xff0c;关闭防火墙&#xff1a; 本机测试&#xff1a; windows测试&#xff1a;&#xff08;本地shell&#xff09;...

ZooKeeper 基础知识总结

先赞后看&#xff0c;Java进阶一大半 ZooKeeper 官网这样介绍道&#xff1a;ZooKeeper 是一种集中式服务&#xff0c;用于维护配置信息、命名、提供分布式同步和提供组服务。 各位hao&#xff0c;我是南哥&#xff0c;相信对你通关面试、拿下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写入数据返回成功后,实际硬件内信息查询未存储?

问题&#xff1a;连接蓝牙后&#xff0c;调用小程序writeBLECharacteristicValue&#xff0c;返回传输数据成功&#xff0c;查询硬件响应发现没有存储进去&#xff1f; 解决&#xff1a;一直以为是这个write方法的问题&#xff0c;找了很多相关贴&#xff0c;后续进行硬件日志…...

5G NR:带宽与采样率的计算

100M 带宽是122.88Mhz sampling rate这是我们都知道的&#xff0c;那它是怎么来的呢&#xff1f; 采样率 子载波间隔 * 采样长度 38.211中对于Tc的定义&#xff0c; 在LTE是定义了Ts&#xff0c;在NR也就是5G定义了Tc。 定义这个单位会对我们以后工作中的计算至关重要。 就是在…...

go 和java 编写方式的理解

1. go 推荐写流水账式的代码&#xff08;非贬义&#xff09;&#xff0c;自己管自己。java喜欢封装各种接口供外部调用&#xff0c;让别人来管自己。 2. 因为协程的存在&#xff0c; go的变量作用域聚集在方法内部&#xff0c;即函数不可重入&#xff0c;而java线程的限制&…...

C# 7.1 .Net Framwork4.7 VS2017环境下,方法的引用与调用

方法的调用比较好理解&#xff0c;就是给方法传递实参&#xff0c;执行方法代码。 方法引用涉及委托&#xff0c;委托签名与其引用的方法必须一致。以下demo说明方法调用与引用在写程序时的区别&#xff1a; using System; using System.Collections.Generic; using System.L…...

etcd、kube-apiserver、kube-controller-manager和kube-scheduler有什么区别

在我们部署K8S集群的时候 初始化master节点之后&#xff08;在master上面执行这条初始化命令&#xff09; 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编写测试用例,复杂度校验

最近我们公司要求开发人员必须写测试用例&#xff0c;组织了TDD培训&#xff0c;测试驱动开发&#xff0c;同时衡量代码的圈复杂度&#xff0c;我记录下初次使用的过程。 编写测试用例&#xff0c;查看用例覆盖度 1、要编写测试用例&#xff0c;并看下测试用例的覆盖度&#…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

C++.OpenGL (20/64)混合(Blending)

混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...