基于MATLAB的QPSK调制解调仿真(仿真图超多,结果超清晰)

2024-02-20 23:36

本文主要是介绍基于MATLAB的QPSK调制解调仿真(仿真图超多,结果超清晰),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于MATLAB的QPSK调制解调仿真(包含中间各个环节的时域波形、功率谱、频谱图、星座图和眼图、理论与仿真的误码率曲线)

目录

前言

一、QPSK调制解调过程

二、仿真结果

Ⅰ、码元信噪比eb/n0=10dB时

1、双极性不归零基带信号

2、成型滤波(根升余弦滤波)后

3、调制后

4、加入高斯白噪声后

5、乘载波后

6、低通滤波后

7、匹配滤波后

8、星座图和眼图

Ⅱ、码元信噪比eb/n0= -10dB时

1、星座图

2、眼图

Ⅲ、码元信噪比eb/n0= 50dB时

1、星座图

2、眼图

Ⅳ、理论与仿真误码率曲线

1、插值插1和-1

2、插值插0

总结


前言

        QPSK是一种数字调制技术,全称为Quadrature Phase Shift Keying,即正交相移键控。在QPSK中,每个符号代表2比特信息,通过改变信号的相位来表示不同的数据值。QPSK将信号分为正弦波和余弦波两路,每路传输一个独立的比特流,这两路信号相位差90度,因此称为正交相移。QPSK可以有效地提高频谱利用率,适用于许多数字通信系统中。它也常用于无线通信、卫星通信和光纤通信等领域。


提示:以下是本篇文章正文内容,希望能帮助到各位,转载请附上链接。

一、QPSK调制解调过程

          QPSK调制解调原理框图如下图所示

 实际中,解调端首先应该会有一个带通滤波器,去除噪声以及假的信号。

         成形滤波是为了限制频带宽度;

        匹配滤波是为了消除码间干扰;

        上采样可以压缩频谱宽度。

      成形滤波的作用是保证采样点不失真。如果没有它,那信号在经过带限信道后,眼图张不开,ISI非常严重。成形滤波的位置在基带调制之后。因为经成形滤波后,信号的信息已经有所损失,这也是为避免ISI付出的代价。换句话说,成形滤波的位置在载波调制之前,仅挨着载波调制。

二、仿真结果

        首先说明,实际中码速率、载波频率比我仿真设置高的多,我这里设置低的原因是为了清晰地通过仿真图看出每一个步骤信号时域、频域、功率谱的变化。

        另外,仿真中插0和插1不会影响整个仿真过程,均可以。我验证过,仿真结果图除双极性不归零基带信号不同外,后面都几乎完全一样,我就不另外贴图了。

Ⅰ、码元信噪比eb/n0=10dB时

        参数设定如下

1、双极性不归零基带信号

        双极性不归零基带信号、I路和Q路的时域波形、功率谱、频谱图如下所示。

2、成型滤波(根升余弦滤波)后

3、调制后

4、加入高斯白噪声后

5、乘载波后

6、低通滤波后

7、匹配滤波后

8、星座图和眼图

Ⅱ、码元信噪比eb/n0= -10dB时

1、星座图

2、眼图

Ⅲ、码元信噪比eb/n0= 50dB时

1、星座图

2、眼图

Ⅳ、理论与仿真误码率曲线

1、插值插1和-1

2、插值插0


总结

  以上就是今天要讲的内容,本文详细介绍了QPSK调制与解调的整个过程,并附上了完整的仿真图。

这篇关于基于MATLAB的QPSK调制解调仿真(仿真图超多,结果超清晰)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/729892

相关文章

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

C# double[] 和Matlab数组MWArray[]转换

C# double[] 转换成MWArray[], 直接赋值就行             MWNumericArray[] ma = new MWNumericArray[4];             double[] dT = new double[] { 0 };             double[] dT1 = new double[] { 0,2 };

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

libsvm在matlab中的使用方法

原文地址:libsvm在matlab中的使用方法 作者: lwenqu_8lbsk 前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C的程序,应该不能。没想到今天又有人问道,难道matlab真的能运行libsvm。我到官方网站看了下,原来,真的提供了matlab的使用接口。 接口下载在: http://www.csie.ntu.edu.

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数

Matlab/Simulink中PMSM模型的反电动势系数和转矩系数_matlab pmsm-CSDN博客

MATLAB层次聚类分析法

转自:http://blog.163.com/lxg_1123@126/blog/static/74841406201022774051963/ 层次聚类是基于距离的聚类方法,MATLAB中通过pdist、linkage、dendrogram、cluster等函数来完成。层次聚类的过程可以分这么几步: (1) 确定对象(实际上就是数据集中的每个数据点)之间的相似性,实际上就是定义一个表征