【调制】π/4-DQPSK信号模型及其相关特性分析 【附MATLAB代码】

news2024/7/6 17:53:44

MATLAB代码

% pi/4-DQPSK modulation
%输入一串数,输出经过差分并映射的I、Q两路数据
​
function [I,Q]=pi4_dqpskmod(data)
​
n=length(data)./2;
data1=data.*2-1;
​
Idata=zeros(1,n);
Qdata=zeros(1,n);
​
​
Idata=data1(1,1:2:2*n);     %串并变换
Qdata=data1(1,2:2:2*n);
​
I(1)=Qdata(1)*-0.5.^(0.5);              %差分编码并映射到星座图
Q(1)=Idata(1)*-0.5.^(0.5);
for i=2:n
I(i)=(I(i-1)*Qdata(i)-Q(i-1)*Idata(i))*-0.5.^(0.5);
Q(i)=(I(i-1)*Idata(i)+Q(i-1)*Qdata(i))*-0.5.^(0.5);
end
% pi/4-DQPSK demodulation
% 输入I、Q两路数,输出一路解调后的数
​
function [data]=pi4_dqpskdemod(I,Q)     %差分解调
x(1)=I(1);
y(1)=Q(1);
if (x(1)>0)
        Qdata(1)=0;
    else
        Qdata(1)=1;
end
​
if (y(1)>0)
        Idata(1)=0;
    else
        Idata(1)=1;
end  
    
for i=2:length(I)
    x(i)=I(i)*I(i-1)+Q(i)*Q(i-1);
    if (x(i)>0)
        Qdata(i)=0;
    else
        Qdata(i)=1;
    end
    y(i)=Q(i)*I(i-1)-I(i)*Q(i-1);
    if (y(i)>0)
        Idata(i)=0;
    else
        Idata(i)=1;
    end
end
​
data(1,1:2:2*length(I))=Idata(1,1:length(I));  %并串变换
data(1,2:2:2*length(I))=Qdata(1,1:length(I));

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

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

相关文章

MT3030 天梯赛

跟MT3029战神小码哥类似,都是贪心堆。注意开long long 这里的堆顶为战斗力最小的,便于贪心的反悔操作。先按容忍度从大到小排序(q中总容忍度取决于最小的容忍度),再向q中存数,存到不能容忍之后再把堆顶踢出…

网优干货:ACP交付详解版(1)

1.1. 整体流程简介 使用Massive MIMO ACP工具进行覆盖优化的整体流程如下: 1.2. 数据准备 在使用基于DT数据进行5G MassiveMIMO覆盖优化前,需要从网络中收集以下各类数据,数据采集范围需包括优化区域以及对其存在干扰的周边区域所有5G站点。 …

【Java】文件操作(一)

文章目录 ✍一、文件的基本认识1.文件是什么?2.文本文件和二进制文件3.文件权限4.相对路径和绝对路径1.1绝对路径1.2相对路径 ✍二、文件的基本操作1.FIle的属性2.File的构造方法3.File类的方法3.1File类的获取操作3.2File类的判断操作3.3文件创建和删除3.4其他的常…

UltraScale+的10G/25G Ethernet Subsystem IP核使用

文章目录 前言一、设计框图1.1、xxv_ethernet_01.2、xxv_ethernet_0_sharedlogic_wrapper1.3、xxv_ethernet_0_clocking_wrapper1.4、xxv_ethernet_0_common_wrapper 二、IP核配置三、仿真四、上板测速五、总结 前言 前面我们学习了很多基于XILINX 7系列的高速接口使用&#x…

svn使用(上传自己的项目到svn上)

安卓开发工具版本 创建项目后,首先在.gitgnore文件里面加入你要过滤的文件路径 然后点击VCS——》share Project,然后下一步选择一个svn路径,点击确定后。然后将代码提交。

递归、搜索与回溯算法:FloodFill 算法

例题一 算法思路: 可以利⽤「深搜」或者「宽搜」,遍历到与该点相连的所有「像素相同的点」,然后将其修改成指定的像素即可。 全局变量: int dx[4] { 0,0,1,-1 }, dy[4] { 1,-1,0,0 }; int m, n; int precolor;//记录原先的颜色…

CentOS-7安装Mysql并允许其他主机登录

一、通用设置(分别在4台虚拟机设置) 1、配置主机名 hostnamectl set-hostname --static 主机名2、修改hosts文件 vim /etc/hosts 输入: 192.168.15.129 master 192.168.15.133 node1 192.168.15.134 node2 192.168.15.136 node33、 保持服…

【C++ 多态】带你详细了解虚函数表

文章目录 1.一道面试题 -- 引入虚函数表2.多态是怎么实现的呢?2.1满足多态的时候🐧2.2不满足多态的时候🐧 3.打印虚函数表 1.一道面试题 – 引入虚函数表 ①🍎 _vfptr 虚表指针,虚表指针是用来实现多态的 &#xff08…

xgp怎么取消续费 微软商店xgp会员取消自动续费详细教程

xgp怎么取消续费 微软商店xgp会员取消自动续费详细教程 XGP这个游戏平台小伙伴们并不陌生吧,它是微软Xbox游戏部门推出的游戏租赁制会员服务,主要用于主机和PC两个平台。这个平台的会员就可以免费享受多款大制作游戏,而且每个月还会自动更新…

笔记 | 编译原理L2:词法分析(lexical analysis)

1 概述 词法分析(lexical analysis),也称scanning, 编译程序的第一阶段,其作用是识别单词(程序意义上)并找出词法错误. 读入源程序的输入字符、将它们拆分成词素,生成并输出一个词法单元序列,每个词法单元对应于一个词素 回顾词法分析在整个…

jpa分页插件对象Pageable出现了错误异常如何解决?

jpa分页插件对象Pageable出现了错误异常如何解决?! 一般来说,遇到这种的错误异常情况,通常情况 下,都是因为程序员把传递的分页页码数字写错了。 正常情况下,分页页码起始数字应该是0;而不是1…

OpenCASCADE(OCC)读入含中文汉字标签的内容后乱码的解决方法

笔者在导入一个由SolidWorks生成的step文件的时候,节点名称是中文,于是乎生成的节点树的名称都是乱码了,经过多次的排查调研,最后的解决办法如下: 1.老版本的occ库,是无法兼容读入中文编码的step文件的&am…

Linux 学习之路 -- 进程篇 -- 进程控制

目录 一、进程终止 <1>使用语言和系统自带的方法&#xff0c;进行转换 <2>自定义错误码 <3>小结&#xff1a; <2>两个接口exit / _exit 二、进程等待 <1>简单了解 <2>wait调用 <3>waitpid调用 <4>status <1>W…

Laravel 6 - 第十四章 响应

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

debian配置distcc分布式编译

前言 distcc 是一个用于在网络上的多台机器上分发 C、C、Objective C 或 Objective C 代码构建的程序。 distcc 应始终生成与本地构建相同的结果&#xff0c;易于安装和使用&#xff0c;并且通常比本地编译快得多。 distcc 不要求所有机器共享文件系统、同步时钟或安装相同的…

【目录】Armv8/Armv9付费专栏

快速链接: . &#x1f449;&#x1f449;&#x1f449; ARMv8/ARMv9架构入门到精通-[目录] &#x1f448;&#x1f448;&#x1f448; 付费专栏-付费课程 【购买须知】:联系方式-加入交流群 ----联系方式-加入交流群 个人博客笔记导读目录(全部) 目录 【Arm基础】【指令和寄…

在AI工业变革的拐点,迎来AI智算“安卓时刻”

今天&#xff0c;我们正在进入AI的工业变革拐点期。所谓AI的工业变革&#xff0c;主要指以大模型AI所引发的通用AI和以通用AI为目标构建的工业标准化AI智算基础设施。 在通用计算时代&#xff0c;X86所代表的工业标准化技术体系造就了企业IT、互联网与云数据中心。而在智算时代…

Mysql索引详解(索引分类)

文章目录 概述索引对查询速度的影响索引的优缺点索引类型一级索引和二级索引的区别MySQL 回表联合索引&#xff08;最左前缀原则主键索引和唯一索引的区别BTree索引和Hash索引的区别 覆盖索引索引下推加索引能够提升查询效率原因MySQL 索引结构采用 B树原因索引失效的场景MySQL…

油管评论抓取软件,专为文科生、小白用户开发!

我用Python开发的youtube评论采集软件&#xff0c;爬取到的字段包含&#xff1a; 评论id、评论内容、评论时间、评论作者昵称、评论作者频道、点赞数 软件界面效果&#xff1a; 采集结果数据&#xff1a; 软件使用注意事项&#xff1a; 详细讲解文章&#xff1a; https://…

1-35 集合框架

一 集合的介绍 1.集合是 Java 提出用来进行多个数据存储的 "容器" , 那数组同样具备这样的功能 , 为什么还要有集合 , 数组一旦创建长度固定 , 只能存放一种数据类型 , 不够灵活,因此 Java提出更灵活的操作 , 存放任意引用数据类型 的 容器 -- 集合 2.分类 ①单列…