【MATLAB源码-第9期】基于matlab的DQPSK的误码率BER和误符号率SER仿真。

操作环境:

MATLAB 2022a

1、算法描述

DQPSK信号的解调与2DPSK信号的解调类似,也有两种方法,分别是极性比较法和相位比较法
极性比较法。其原理方框图如下图所示。由于DQPSK信号可以看做是两路2DPSK信号的合成,解
调时也可以分别按两路2DPSK信号解调,因此在解调过程中用两路相干载波去解调,可以很容易
分离出这两路正交的2DPSK信号。经低通滤波和抽样判决后恢复出相对相对码,再经码反变换器
变换成绝对码,从而恢复出发送的二进制信息
相位比较法。其原理方框图如下图所示。用这种方法解调时不需要专门的相干载波,只需由收到的
信号时延一个码元间隔T,然后与信号本身相乘。相乘起着相位比较的作用,相乘结果反映了前后
码元的相位差,经低通滤波后在抽样判决,即可直接恢复出原始数字信息,故解调器中不需要码反
变换器。DQPSK是差分QPSK的缩写,可以解决QPSK的相位模糊的问题。DQPSK就是在QPSK的基础上增加了一个差分编译码。DQPSK是利用前后相邻码元的载波相对变化传递数字信息,因此,DQPSK信号的相位并不直接代表基带信号,而前后码元相对相位的差才唯一决定信息符号。DQPSK可以采用非相干解调中的差分解调。

1.差分编码
差分编码又称为增量编码,在算法上表现为异或运算。

差分编码的实现:

 差分译码的实现

2、DQPSK调制和解调

2、仿真结果演示

3、关键代码展示

%I路Q路调制
I_data=zeros(1,N/2);
Q_data=zeros(1,N/2);
I_data(1,:)=data(1:2:end);
Q_data(1,:)=data(2:2:end);
data_pa=[I_data;Q_data];
I_data_mod=zeros(N/2+1,2);
Q_data_mod=zeros(N/2+1,2);%差分编码
I_data_diff=zeros(1,(1+N/2));
Q_data_diff=zeros(1,(1+N/2));
for k=1:N/2if (I_data_diff(k)==I_data(k))I_data_diff(k+1)=0;elseI_data_diff(k+1)=1;endif (Q_data_diff(k)==Q_data(k))Q_data_diff(k+1)=0;elseQ_data_diff(k+1)=1;end
end%符号映射
for k=1:N/2+1if (I_data_diff(k)==1 && Q_data_diff(k)==1)data_mod(k,:)=[1 1];elseif (I_data_diff(k)==1 && Q_data_diff(k)==0)data_mod(k,:)=[1 -1];elseif (I_data_diff(k)==0 && Q_data_diff(k)==0)data_mod(k,:)=[-1 -1];elsedata_mod(k,:)=[-1 1];end
end

4、MATLAB 源码获取

点击下方链接获取:

【MATLAB源码-第9期】基于matlab的DQPSK的误码率BER和误符号率SER仿真。_matlab实现qpsk差分编译码-CSDN博客文章浏览阅读251次。1.算法描述DQPSK信号的解调与2DPSK信号的解调类似,也有两种方法,分别是极性比较法和相位比较法极性比较法。其原理方框图如下图所示。由于DQPSK信号可以看做是两路2DPSK信号的合成,解调时也可以分别按两路2DPSK信号解调,因此在解调过程中用两路相干载波去解调,可以很容易分离出这两路正交的2DPSK信号。经低通滤波和抽样判决后恢复出相对相对码,再经码反变换器变换成绝对码,从而恢复出发送的二进制信息相位比较法。其原理方框图如下图所示。用这种方法解调时不需要专门的相干载波,只需由收到的。_matlab实现qpsk差分编译码https://blog.csdn.net/Koukesuki/article/details/132278141?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171091238916800184167872%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171091238916800184167872&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-132278141-null-null.nonecase&utm_term=%E7%AC%AC9%E6%9C%9F&spm=1018.2226.3001.4450

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python:基础语法

一、import与from.....import 有时候我们需要使用一些第三方库或包时,我们就需要通过import或from.....import导入模块。 # 导入库 import sys print("hello,world") 当我们自己写了些函数,在其他py文件,我们也可以通过from.....im…

如何解析MySQL中的redolog日志?

解析MySQL中的redolog日志比解析binlog更为复杂,因为redolog是InnoDB存储引擎特有的,以物理格式记录数据库的更改,主要用于恢复未提交的事务和加速数据恢复。由于其物理和二进制的特性,redolog没有直接可读的SQL语句或简单的解析工…

Anaconda配置系统环境

首先,右键此电脑,点击属性 点击高级系统设计 点击环境变量 点击环境变量中系统环境下的Path,双击 如下图,添加这四项即可,注意,这都是Anaconda的安装目录下的内容 在windowsR的cmd情况下,输入co…

动归专题——斐波纳契模型和路径问题

前提 本专题开始,注重整理与动态规划相关的题目,从简单的动归开始切入,慢慢掌握和练习动态规划这一重要的算法思想,部分相对复杂的题目会结合画图和代码分析去解释 一、第N个泰波纳契数列 1.链接 1137. 第 N 个泰波那契数 - 力…

C# NumericUpDown 控件正整数输入控制

用到了控件的 KeyPress 和 KeyUp事件。 KeyPress 中控制输入“点、空格,负号”; KeyUp 中防止删空,以及防止输入超过最大值或最小值 。 private void nudStart_KeyPress(object sender, KeyPressEventArgs e){numericUpDownKeyPress(sender…

Python时间

UTC ~ 北京时间 【差8小时】 格式化日期时间为字符串:strftime 时间戳-1970.1.1到现在的秒数:time.time() AttributeError: partially initialized module ‘datetime’ has no attribute ‘fromtimestamp’ (most likely due to a circular import) 改正:文件名和…

如何与回避型依恋人格的人谈恋爱

先讲是什么。 有些人在恋爱中碰到对方比较冷淡,遇到矛盾爱回避就认为是回避型依恋,这肯定是不对的。事实上,每个人人性中都会有回避的一部分,当自身的情感需求不强时,面对过于沉重的爱或是无法解决的矛盾,…

合同起草、审查耗时费力?君子签智能电子合同让签署事半功倍

在合同签署过程中,着急和客户签约,却找不到合适的内容范本?法务审查合同只能逐字逐句审查,效率太慢?合同需要客户、法务、负责人等多方参与,修改内容难以一一对应?合同涉及的工资、费用、价格等…

私域裂变的10种玩法

1.邀请有礼 邀请有礼是一种常见且有效的拉新方式,通过福利诱饵,刺激老用户邀请新用户,实现用户快速扩张。 在私域中,这种方式也非常普遍,但需要成本,因此裂变成功的门槛需要设定。通常需要裂变对象完成消…

【NC16622】多项式输出

题目 多项式输出 模拟,注意细节 思路 一道模拟题,按要求模拟即可,没有算法上的难度,有的是动手的复杂性。这本来可以直接在主函数中写处理过程的,但是为了其更有通用性,在这里将其提取为一个函数&#xf…

WordPress网站已经安装了SSL证书,但浏览器仍然提示不安全

WordPress网站已经安装了SSL证书,但浏览器仍然提示不安全 昨天我们新建了一个WordPress的网站,在已经安装了SSL证书的情况下,访问网站仍然会提示不安全。 我们使用的是Hostease提供的虚拟主机产品,之前从未出过这样的情况&#x…

【网络建设与运维】2024年浙江省职业院校技能大赛中职组“网络建设与运维”赛项规程

培训、环境、资料、考证 公众号:Geek极安云科 网络安全群:775454947 网络系统管理群:223627079 网络建设与运维群:870959784 极安云科专注于技能提升,赋能 2024年广东省高校的技能提升,受赋能的客户院校均…

用友BI方案:一键搞定财务、销售、生产等分析

别人家做用友的数据分析,从零开始搭建分析模型、设计BI数据可视化报表,反复测试修改,耗时耗力,效果未知。奥威BI做用友的数据分析,用用友BI方案,注册、下载执行,自动取数、计算指标、分析数据、…

达梦数据库自动备份(全库)+还原(全库) 控制台

一 前提 1.安装达梦数据库DB8(请参照以前文章) 我的数据库安装目录是 /app/dmDB8 2.已创建实例 (请参照上一篇文章) 二 准备测试数据 三 自动备份步骤 1.开启归档模式 开启DM管理工具管理控制台 弹不出来工具的 输入命令 xhost 第一步 将服务器转换为配置状态 右键-&g…

【Go语言Decoder报错gob: duplicate type received】

1.场景 要写一个网络通信的,服务器一直监听并解析请求。客户端接收到java端后每次都用一个新的Encoder发送一个数据结构给服务器的Decoder。导致报错:gob: duplicate type received 2. 分析 我的代码报错“gob: duplicate type received”&#xff0c…

后端常问面经之Spring和Mybatis框架

Spring的IOC介绍一下: 所谓控制就是对象的创建、初始化、销毁。 创建对象:原来是 new 一个,现在是由 Spring 容器创建。 初始化对象:原来是对象自己通过构造器或者 setter 方法给依赖的对象赋值,现在是由 Spring 容器…

AI研报:从Sora看多模态大模型发展

《从Sora看多模态大模型发展》的研报来自浙商证券,写于2024年2月。 这篇报告主要探讨了多模态大模型的发展趋势,特别是OpenAI发布的视频生成模型Sora,以及其对行业发展的影响。以下是报告的核心内容概述: Sora模型的发布&#x…

【学习】python标准库importlib.import_module,用于动态导入模块。

importlib.import_module 是 Python 标准库中的一部分,用于在运行时动态地导入模块。 具体用法示例: # module1.py def say_hello():print("Hello from module 1!")# module2.py def say_hello():print("Hello from module 2!")imp…

面试算法-103-对链表进行插入排序

题目 给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。 插入排序 算法的步骤: 插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序…

基于单片机的太阳能充电系统设计

摘要:本文所设计的太阳能充电系统主要由以下几个模块组成:STC89C52 主控模块、TP4056 充电电路、电压AD 采集模块、LCD1602 液晶显示模块和太阳能充电电池等组成。此太阳能充电器制作简单,性价比高,性能稳定。 关键词:LCD1602;太阳能充电系统;ADC0832 太阳能充电系统的充…