【MATLAB源码-第91期】基于matlab的4QAM和4FSK在瑞利(rayleigh)信道下误码率对比仿真。

操作环境:

MATLAB 2022a

1、算法描述

正交幅度调制QAMQuadrature Amplitude Modulation)是一种在两个正交载波上进行幅度调制的调制方式。这两个载波通常是相位差为90度(π/2)的正弦波,因此被称作正交载波。这种调制方式因此而得名。

同其它调制方式类似,QAM通过载波某些参数的变化传输信息。在QAM中,数据信号由相互正交的两个载波的幅度变化表示。

模拟信号的相位调制和数字信号的PSK可以被认为是幅度不变、仅有相位变化的特殊的正交幅度调制。由此,模拟信号频率调制和数字信号FSK也可以被认为是相位调制(PSK)的特例,因为它们本质上就是相位调制。这里主要讨论数字信号的QAM,虽然模拟信号QAM也有很多应用,例如NTSC和PAL制式的电视系统就利用正交的载波传输不同的颜色分量。

类似于其他数字调制方式,QAM发射信号集可以用星座图方便地表示。星座图上每一个星座点对应发射信号集中的一个信号。设正交幅度调制的发射信号集大小为 N,称之为N-QAM。星座点经常采用水平和垂直方向等间距的正方网格配置,当然也有其他的配置方式。数字通信中数据常采用二进制表示,这种情况下星座点的个数一般是2的幂。常见的QAM形式有16-QAM、64-QAM、256-QAM,以及未来5G采用之512-QAM及1024-QAM。星座点数越多,每个符号能传输的信息量就越大。但是,如果在星座图的平均能量保持不变的情况下增加星座点,会使星座点之间的距离变小,进而导致误码率上升。因此高阶星座图的可靠性比低阶要差。

当对数据传输速率的要求高过8-PSK能提供的上限时,一般采用QAM的调制方式。因为QAM的星座点比PSK的星座点更分散,星座点之间的距离因之更大,所以能提供更好的传输性能。但是QAM星座点的幅度不是完全相同的,所以它的解调器需要能同时正确检测相位和幅度,不像PSK解调只需要检测相位,这增加了QAM解调器的复杂性。在本文中,我们主要对16-QAM这种调制解调方式进行仿真。

4FSK在频移键控(FSK)编码的基础上有所扩展。FSK是一种调制技术,它通过在不同频率上切换来表示不同的数字或符号。而4FSK则是FSK的一种变种,表示使用了4个不同的频率来传输信息。

在4FSK中,每个数字或符号被映射到一组连续的四个频率中的一个。这些频率通常以二进制编码的形式进行表示,例如00、01、10和11。每个频率组合对应于不同的数字或符号。因此,通过在这四个频率之间进行切换,我们可以传输数字数据。

4FSK在一些通信系统中用于数据传输,因为它可以在有一定噪声干扰的情况下提供较好的抗干扰性能。然而,需要注意的是,频率越多,理论上可以传输的信息速率也越高,但同时也需要更宽的频谱带宽。

当使用4FSK进行数据传输时,发送端将要传输的数字数据映射到相应的频率组合,并以这些频率的序列形式发送。接收端则需要解码接收到的频率序列,将其转换回原始的数字数据。

4FSK的优点之一是其相对较高的抗干扰性能。因为它使用多个频率来表示不同的数字或符号,即使在信号中存在一些噪声或干扰,接收端仍然可以正确地解码出数据。这使得4FSK在无线通信、调制解调器、无线传感器网络等领域得到了广泛的应用。

2、仿真结果演示

3、关键代码展示

4、MATLAB 源码获取

      V

点击下方名片

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp基础-教程之HBuilderX基础常识篇03

该内容为了大家更好的理解,将每个页面进行分离,单独创建项目,如在index中之写只写了一个搜索框,将其他页面分别放在HBuilderX目录中的components中,没有的可自行创建。 然后在components中创建轮播图新建一个swiper.v…

RWA+AI 叙事下的 ProsperEx,对 Web3 时代交易的重新定义

RWA(Real World Assets)即现实资产代币,其本质在于将现实世界中具有货币价值的东西转化为数字代币,使其可以在区块链上表现价值并进行交易。RWA 资产既可以包括有形资产,例如房产、珠宝、黄金等,也可以包无…

Python的控制流语句使用

Python的控制流语句使用 判断语句 if分支示意图语法介绍注意事项示例 for循环示意图语法介绍列表推导式示例 while循环与for的区别语法介绍示例 判断语句 if分支 示意图 单、双、多分支: 语法介绍 # 单分支 if condition:expression # 双分支 if condition:exp…

【C语言】结构体

目录 1. 前言2. 结构体类型的声明2.1 结构体的概念2.2 结构的创建2.3 特殊的声明2.4 结构的自引用 3. 结构成员访问操作符4. 结构体内存对齐4.1 对齐规则4.2 为什么存在内存对齐?4.3 修改默认对齐数 5. 结构体传参6. 结构体实现位段6.1 什么是位段6.2 位段的内存分配…

蓝牙概述及基本架构介绍

蓝牙概述及基本架构介绍 1. 概述1.1 蓝牙的概念1.2 蓝牙的发展历程1.3 蓝牙技术概述1.3.1 Basic Rate(BR)1.3.2 Low Energy(LE) 2. 蓝牙的基本架构2.1 芯片架构2.2 协议架构2.2.1 官方协议中所展示的蓝牙协议架构2.2.1.1 全局分析2.2.1.2 局部分析 2.2.2…

android自定义桌面应用

android自定义桌面应用 这篇文章主要讲下自定义桌面应用. 效果主要是调用packageManager来获取当前所有的程序,并在自定义桌面程序中展示,并支持跳转. 主要的代码如下: 1.manifest声明 <activity android:name".MainActivity"><intent-filter><ac…

【Spring Boot】Swagger的常用注解

在Swagger的开发过程中&#xff0c;我们需要在Controller代码等处添加相应的注解&#xff0c;以便可以提高生成的接口文档的可读性为了解决这些问题&#xff0c;Swagger提供了很多的注解&#xff0c;通过这些注解&#xff0c;我们可以更好更清晰的描述我们的接口&#xff0c;包…

如何运用AppLink平台中的数据连接器组件

AppLink平台组件组成 AppLink平台组件分成三个板块触发事件组件、基础组件和数据连接器 数据连接器组件里面有10个组件&#xff0c;目前也在不断新增更多的数据连接器&#xff0c;那他们在AppLink平台里的原理、触发动作以及怎么使用呢&#xff1f;接下来用MySQL和TimescaleD…

探索接口测试:SOAP、RestFul规则、JMeter及市面上的接口测试工具

引言 在当今软件开发领域&#xff0c;接口测试扮演着至关重要的角色。随着系统变得日益复杂和互联&#xff0c;对于内部和外部接口的测试变得愈发关键。接口测试不仅仅是验证接口的正确性&#xff0c;更是确保系统的稳定性、安全性和性能优越性的关键一环。 本篇博客将带您深入…

2024 年应该使用 Bun、Node.js 还是 Deno

2024 年应该使用 Bun、Node.js 还是 Deno 到 2024 年&#xff0c;构建基于 JavaScript 的现代 API 相对简单。我们可以使用Express.js等库并在几分钟内启动可用的 API。但是&#xff0c;现在最具挑战性的部分是选择正确的 JavaScript 引擎。 目前主流的三个运行时是&#xff…

【Redis缓存】RedisTemplate如何获取符合要求的key,批量获取key

RedisTemplate如何获取符合要求的key,批量获取key 一、方法/命令二、数据使用 一、方法/命令 如果使用命令的形式&#xff0c;输入以下命令即可 keys *如果使用RedisTemplate&#xff0c;则方法为 redisTemplate.keys()获取所有符合条件的key。 二、数据使用 redis中缓存了…

西南科技大学数字电子技术实验一(数字信号基本参数与逻辑门电路功能测试及FPGA 实现 )预习报告

手写报告稍微认真点写&#xff0c;80随便有 目录 一、计算/设计过程 1、通过虚拟示波器观察和测量信号 2、通过实际电路&#xff08;电阻、开关、发光二极管&#xff09;模拟逻辑门电路 二、画出并填写实验指导书上的预表 三、画出并填写实验指导书上的虚表 四、粘贴原理…

Kafka 保证消息消费全局顺序性

当有消息被生产出来的时候&#xff0c;如果没有指定分区或者指定 key &#xff0c;那么消费会按照【轮询】的方式均匀地分配到所有可用分区中&#xff0c;但不一定按照分区顺序来分配 我们知道&#xff0c;在 Kafka 中消费者可以订阅一个或多个主题&#xff0c;并被分配一个或多…

前端页面带值跳转

前端页面带值跳转 querry>url searchParamers,url后附加参数&#xff0c;传递的值长度与有限vuex&#xff08;全局状态管理&#xff09;&#xff0c;搜索页面将关键词塞到状态中&#xff0c;所搜结果页从状态取值。 使用axios整合前后端 axios官网&#xff1a;axios 在前…

SpringCloud--分布式事务实现

一、分布式事务 首先要明白事务是指数据库中的一组操作&#xff0c;这些操作要么全部成功执行&#xff0c;要么全部不执行&#xff0c;以保持数据的一致性和完整性。在本地事务中&#xff0c;也就是传统的单机事务&#xff0c;必须要满足原子性(Atomicity)、一致性(Consistenc…

计算机组成原理——存储器(主存容量扩展)

对于字扩展与位扩展的解释&#xff1a; 计算机原理中的字&#xff0c;位扩展&#xff0c;都给老子进来学&#xff0c;看不懂算我输&#xff01; 如果主存的容量无法满足 CPU 的需求&#xff0c;可以通过存储器扩展来解决&#xff0c;扩展的方式有两种&#xff1a; 主存的位数…

“职场中的‘特色人物’:与‘个性’领导和同事的碰撞与成长“

文章目录 每日一句正能量前言程序员是怎么和产品经理battle的&#xff1f;科班程序员非科班程序员 程序员的团队合作密码&#xff1a;协作与领导的艺术职场人际关系的技巧后记 每日一句正能量 乌云的背后是阳光&#xff0c;阳光的背后是彩虹。 前言 在职场中&#xff0c;我们都…

训练 CNN 对 CIFAR-10 数据中的图像进行分类

1. 加载 CIFAR-10 数据库 import keras from keras.datasets import cifar10# 加载预先处理的训练数据和测试数据 (x_train, y_train), (x_test, y_test) cifar10.load_data() 2. 可视化前 24 个训练图像 import numpy as np import matplotlib.pyplot as plt %matplotlib …

Python网络爬虫练习

爬取历年中国大学排名(前20名)&#xff0c;并随机选取一所高校画图展示其历年总分变化,并计算平均分&#xff0c;在图上展示该平均分直线&#xff1a; 代码如下&#xff1a; import matplotlib.pyplot as plt import pandas as pd import requests import randomdef main(yea…

蓝桥杯day01——根据给定数字划分数组

题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 pivot 。请你将 nums 重新排列&#xff0c;使得以下条件均成立&#xff1a; 所有小于 pivot 的元素都出现在所有大于 pivot 的元素 之前 。所有等于 pivot 的元素都出现在小于和大于 pivot 的元素 中间 。小于 piv…