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

操作环境:

MATLAB 2022a

1、算法描述

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

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

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

类似于其他数字调制方式,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

点击下方名片

相关推荐
漫漫进阶路5 小时前
VS C++ 配置OPENCV环境
开发语言·c++·opencv
BinaryBardC6 小时前
Swift语言的网络编程
开发语言·后端·golang
code_shenbing6 小时前
基于 WPF 平台使用纯 C# 制作流体动画
开发语言·c#·wpf
邓熙榆7 小时前
Haskell语言的正则表达式
开发语言·后端·golang
ac-er88887 小时前
Yii框架中的队列:如何实现异步操作
android·开发语言·php
马船长7 小时前
青少年CTF练习平台 PHP的后门
开发语言·php
hefaxiang8 小时前
【C++】函数重载
开发语言·c++·算法
落幕9 小时前
C语言-构造数据类型
c语言·开发语言
勤又氪猿9 小时前
【问题】Qt c++ 界面 lineEdit、comboBox、tableWidget.... SIGSEGV错误
开发语言·c++·qt
Ciderw10 小时前
Go中的三种锁
开发语言·c++·后端·golang·互斥锁·