QPSK调制解调过程,包括串并转换,电平转换,载波调制,相干解调,抽样判决等-程序员宅基地

技术标签: matlab  QPSK  板块1:通信与信号处理  调制解调  MATLAB  

目录

一、理论基础

二、核心程序

三、仿真结论


一、理论基础

        QPSK是英文Quadrature Phase Shift Keying的缩略语简称,意为正交相移键控,是一种数字调制方式。在19世纪80年代初期,人们选用恒定包络数字调制。这类数字调制技术的优点是已调信号具有相对窄的功率谱和对放大设备没有线性要求,不足之处是其频谱利用率低于线性调制技术。19世纪80年代中期以后,四相绝对移相键控(QPSK)技术以其抗干扰性能强、误码性能好、频谱利用率高等优点,广泛应用于数字微波通信系统、数字卫星通信系统、宽带接入、移动通信及有线电视系统之中。通过完成设计内容, 学习QPSK调制解调的基本原理,同时也要复习通信系统的主要组成部分,了解调制解调方式中最基础的方法。了解QPSK的实现方法及数学原理。并对“通信”这个概念有个整体的理解,学习数字调制中误码率测试的标准及计算方法。同时还要复习随机信号中时域用自相关函数,频域用功率谱密度来描述平稳随机过程的特性等基础知识,来理解高斯信道中噪声的表示方法,以便在编程中使用。 
        理解QPSK调制解调的基本原理,并使用MATLAB编程实现QPSK信号在高斯信道和瑞利衰落信道下传输,以及该方式的误码率测试。复习MATLAB编程的基础知识和编程的常用算法以及使用MATLAB仿真系统的注意事项,并锻炼自己的编程能力,通过编程完成QPSK调制解调系统的仿真,以及误码率测试,并得出响应波形。在完成要求任务的条件下,尝试优化程序。
通过本次实验,除了培养了自主动手学到了知识之外,还可以将次研究作为一种推广,让自己来深入一层的了解QPSK以至其他调制方式的原理和实现方法。可以方便自己进行测试和对比。

      正交相移键控(Quadrature Phase Shift Keying,QPSK)是一种数字调制方式。它分为绝对相移和相对相移两种。由于绝对相移方式存在相位模糊问题,所以在实际中主要采用相对移相方式DQPSK。QPSK是一种四进制相位调制,具有良好的抗噪特性和频带利用率,广泛应用 于卫星链路、数字集群等通信业务。

       OQPSK是在QPSK基础上发展起来的一种恒包络数字调制技术。恒包络技术是指已调波的包络保持为恒定,它与多进制调制是从不同的两个角度来考虑调制技术的。恒包络技术所产生的已调波经过发送带限后,当通过非线性部件时,只产生很小的频谱扩展。这种形式的已调波具有两个主要特点,其一是包络恒定或起伏很小;其二是已调波频谱具有高频快速滚降特性,或者说已调波旁瓣很小,甚至几乎没有旁瓣。采用这种技术已实现了多种调制方式。OQPSK信号,它的频带利用率较高,理论值达1b/s/Hz。在QPSK中,当码组0011或0110时,产生180°的载波相位跳变。这种相位跳变引起包络起伏,当通过非线性部件后,使已经滤除的带外分量又被恢复出来,导致频谱扩展,增加对相邻波道的干扰。为了消除180°的相位跳变,在QPSK基础上提出了OQPSK。
        一个已调波的频谱特性与其相位路径有着密切的关系,因此,为了控制已调波的频率特性,必须控制它的相位特性。恒包络调制技术的发展正是始终围绕着进一步改善已调波的相位路径这一中心进行的。
        OQPSK也称为偏移四相相移键控,是QPSK的改进型。它与QPSK有同样的相位关系,也是把输入码流分成两路,然后进行正交调制。不同点在于它将同相和正交两支路的码流在时间上错开了半个码元周期。由于两支路码元半周期的偏移,每次只有一路可能发生极性翻转,不会发生两支路码元极性同时翻转的现象。因此,OQPSK信号相位只能跳变0°、±90°,不会出现180°的相位跳变。QPSK信号可以看作两个载波正交2PSK信号的合成,所以QPSK正调制器可参考通信原理

QPSK信号调制效果如下所示:

        通过上面对QPSK信号的调制,我门对QPSK有了更加深刻的认识。那么它的解调可以采用与2PSK信号类似的解调方法进行解调。同相支路和正交支路分别采用相干解调方式解调,之后可以得到二者的和,经过抽样判决和串、并交换器,将上下之路得到的并行数据恢复为串行数据。

QPSK解调原理:

QPSK解调结果如下:

        四相相移调制是利用载波的四种不同相位差来表征输入的数字信息,是四进制移相键控。QPSK是在M=4时的调相技术,它规定了四种载波相位,分别为45°,135°,225°,315°,调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元。每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。

    在数字信号的调制方式中QPSK四相移键控是目前最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单。目前已经广泛应用于无线通信中,成为现代通信中一种十分重要的调制解调方式。

       QPSK是一种频谱利用率高、抗干扰性强的数调制方式, 它被广泛应用于各种通信系统中. 适合卫星广播。例如,数字卫星电视DVB-S2 标准中,信道噪声门限低至4. 5 dB,传输码率达到45M bös,采用QPSK 调制方式,同时保证了信号传输的效率和误码性能。

       在数字信号的调制方式中,所学的2ASP、2FSP、2KSP是比较早的理论,随着时代的发展,科技的进步,人民生活水平的提高,对通信行业有着越来越高的要求。QPSK技术的出现,解决了许多技术上的问题。和QPSK最接近的是2PSK技术。2PSK技术是运用“0”和“1”进行编码;而QPSK运用四个相位进行编码。也就是说QPS利用载波的四种不同相位来表示数字信息。对输入的码元进行划分,每两个比特码编为一组。然后用四种不同的相位来表示。所以QPSK又被称为双比特码元。由于每一种载波相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。

二、核心程序

................................................................
     y3=z2.*y2;
    subplot(212)
    plot(t1,y3)
    axis([0 0.4 -3 3 ]);
     title('Q支路分量相干解调信号')
    xlabel('时间/s')
    ylabel('幅值')
    grid on;
%加噪信号通过滤波器    
    [b,a]=butter(3,0.1);
   x3=filter(b,a,x3);
    [b,a]=butter(2,0.1);
   y3=filter(b,a,y3);
    figure(6)
   subplot(211)
   plot(t1,x3);
  axis([0 0.2 -3 3 ]);
   title('I支路分量相干解调信号通过滤波器')
    xlabel('时间/s')
    ylabel('幅值')
    grid on;
   subplot(212)
   plot(t1,y3);
    axis([0 0.2 -3 3 ]);
     title('Q支路分量相干解调通过滤波器')
    xlabel('时间/s')
    ylabel('幅值')
    grid on;
   out1=zeros(1,length(x3)/(2*N_samples));
   for i=0:(N/2-1)
if(x3(N_samples*i+N_samples/2)>0) 
           out1(i+1)=1;
       else
           out1(i+1)=-1;
       end
   end
   out2=zeros(1,length(y3)/(2*N_samples));
   for j=0:(N/2-1)
       if(((y3(N_samples/4+N_samples*j)+y3((N_samples*3)/4+N_samples*j))/2)>0) 
           out2(j+1)=1;
       else
           out2(j+1)=-1;
       end
   end
   out=zeros(1,length(bitstream)); 
    for k=1:length(bitstream)/2
        out(2*(k-1)+1)=out1(k);  
        out(2*(k-1)+2)=out2(k);
    end
  figure(7)
  subplot(211)
  stem(out);
  title('QPSK输出信号')
  ylabel('幅值')
  axis([0 8 -1 1]);
    spectrum=(real(fft(z1,10*length(z1)))).^2;
    S_spectrum=spectrum(1:length(spectrum)/2);
  subplot(212)
    F=0:fs/(2*length(S_spectrum)):fs/2-fs/(2*length(S_spectrum));
    plot(F,10*log10(S_spectrum))
    axis([0 50 0 60]);
    title('QPSK信号功率谱密度')
    xlabel('频率/Hz')
    ylabel('功率')
    snr=0:0.5:10;    
ber=1-(1-1/2*erfc(sqrt(0.4*snr))).^2;
    figure(8)
   semilogy(log(snr),ber,'-b*')
 title('QPSK信号误码率分析')
    xlabel('信噪比')
    ylabel('误码率')  
up143

三、仿真结论

        I路码元为奇数位码元,Q路码元为偶数位码元,将二者合成之后,就得到所谓的正交相移键控(QPSK),也就是四进制绝对调相4PSK。它的调制解调按照后边附录程序进行QPSK是由两路BPSK信一号构成,且两路信号相互正交的,即相位差相差90o,两路BPSK信号相加,即得到QPSK信号。下面所示图示即为I路和Q路的码元情况:

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ccsss22/article/details/130187660

智能推荐

什么是内部类?成员内部类、静态内部类、局部内部类和匿名内部类的区别及作用?_成员内部类和局部内部类的区别-程序员宅基地

文章浏览阅读3.4k次,点赞8次,收藏42次。一、什么是内部类?or 内部类的概念内部类是定义在另一个类中的类;下面类TestB是类TestA的内部类。即内部类对象引用了实例化该内部对象的外围类对象。public class TestA{ class TestB {}}二、 为什么需要内部类?or 内部类有什么作用?1、 内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。2、内部类可以对同一个包中的其他类隐藏起来。3、 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。三、 内部类的分类成员内部_成员内部类和局部内部类的区别

分布式系统_分布式系统运维工具-程序员宅基地

文章浏览阅读118次。分布式系统要求拆分分布式思想的实质搭配要求分布式系统要求按照某些特定的规则将项目进行拆分。如果将一个项目的所有模板功能都写到一起,当某个模块出现问题时将直接导致整个服务器出现问题。拆分按照业务拆分为不同的服务器,有效的降低系统架构的耦合性在业务拆分的基础上可按照代码层级进行拆分(view、controller、service、pojo)分布式思想的实质分布式思想的实质是为了系统的..._分布式系统运维工具

用Exce分析l数据极简入门_exce l趋势分析数据量-程序员宅基地

文章浏览阅读174次。1.数据源准备2.数据处理step1:数据表处理应用函数:①VLOOKUP函数; ② CONCATENATE函数终表:step2:数据透视表统计分析(1) 透视表汇总不同渠道用户数, 金额(2)透视表汇总不同日期购买用户数,金额(3)透视表汇总不同用户购买订单数,金额step3:讲第二步结果可视化, 比如, 柱形图(1)不同渠道用户数, 金额(2)不同日期..._exce l趋势分析数据量

宁盾堡垒机双因素认证方案_horizon宁盾双因素配置-程序员宅基地

文章浏览阅读3.3k次。堡垒机可以为企业实现服务器、网络设备、数据库、安全设备等的集中管控和安全可靠运行,帮助IT运维人员提高工作效率。通俗来说,就是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)。由于堡垒机内部保存着企业所有的设备资产和权限关系,是企业内部信息安全的重要一环。但目前出现的以下问题产生了很大安全隐患:密码设置过于简单,容易被暴力破解;为方便记忆,设置统一的密码,一旦单点被破,极易引发全面危机。在单一的静态密码验证机制下,登录密码是堡垒机安全的唯一_horizon宁盾双因素配置

谷歌浏览器安装(Win、Linux、离线安装)_chrome linux debian离线安装依赖-程序员宅基地

文章浏览阅读7.7k次,点赞4次,收藏16次。Chrome作为一款挺不错的浏览器,其有着诸多的优良特性,并且支持跨平台。其支持(Windows、Linux、Mac OS X、BSD、Android),在绝大多数情况下,其的安装都很简单,但有时会由于网络原因,无法安装,所以在这里总结下Chrome的安装。Windows下的安装:在线安装:离线安装:Linux下的安装:在线安装:离线安装:..._chrome linux debian离线安装依赖

烤仔TVの尚书房 | 逃离北上广?不如押宝越南“北上广”-程序员宅基地

文章浏览阅读153次。中国发达城市榜单每天都在刷新,但无非是北上广轮流坐庄。北京拥有最顶尖的文化资源,上海是“摩登”的国际化大都市,广州是活力四射的千年商都。GDP和发展潜力是衡量城市的数字指...

随便推点

java spark的使用和配置_使用java调用spark注册进去的程序-程序员宅基地

文章浏览阅读3.3k次。前言spark在java使用比较少,多是scala的用法,我这里介绍一下我在项目中使用的代码配置详细算法的使用请点击我主页列表查看版本jar版本说明spark3.0.1scala2.12这个版本注意和spark版本对应,只是为了引jar包springboot版本2.3.2.RELEASEmaven<!-- spark --> <dependency> <gro_使用java调用spark注册进去的程序

汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用_uds协议栈 源代码-程序员宅基地

文章浏览阅读4.8k次。汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用,代码精简高效,大厂出品有量产保证。:139800617636213023darcy169_uds协议栈 源代码

AUTOSAR基础篇之OS(下)_autosar 定义了 5 种多核支持类型-程序员宅基地

文章浏览阅读4.6k次,点赞20次,收藏148次。AUTOSAR基础篇之OS(下)前言首先,请问大家几个小小的问题,你清楚:你知道多核OS在什么场景下使用吗?多核系统OS又是如何协同启动或者关闭的呢?AUTOSAR OS存在哪些功能安全等方面的要求呢?多核OS之间的启动关闭与单核相比又存在哪些异同呢?。。。。。。今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCXrdI0k-1636287756923)(https://gite_autosar 定义了 5 种多核支持类型

VS报错无法打开自己写的头文件_vs2013打不开自己定义的头文件-程序员宅基地

文章浏览阅读2.2k次,点赞6次,收藏14次。原因:自己写的头文件没有被加入到方案的包含目录中去,无法被检索到,也就无法打开。将自己写的头文件都放入header files。然后在VS界面上,右键方案名,点击属性。将自己头文件夹的目录添加进去。_vs2013打不开自己定义的头文件

【Redis】Redis基础命令集详解_redis命令-程序员宅基地

文章浏览阅读3.3w次,点赞80次,收藏342次。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。当数据量很大时,count 的数量的指定可能会不起作用,Redis 会自动调整每次的遍历数目。_redis命令

URP渲染管线简介-程序员宅基地

文章浏览阅读449次,点赞3次,收藏3次。URP的设计目标是在保持高性能的同时,提供更多的渲染功能和自定义选项。与普通项目相比,会多出Presets文件夹,里面包含着一些设置,包括本色,声音,法线,贴图等设置。全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,主光源和附加光源在一次Pass中可以一起着色。URP:全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,一次Pass可以计算多个光源。可编程渲染管线:渲染策略是可以供程序员定制的,可以定制的有:光照计算和光源,深度测试,摄像机光照烘焙,后期处理策略等等。_urp渲染管线

推荐文章

热门文章

相关标签