QPSK抗噪声性能干扰仿真.docx
《QPSK抗噪声性能干扰仿真.docx》由会员分享,可在线阅读,更多相关《QPSK抗噪声性能干扰仿真.docx(25页珍藏版)》请在冰点文库上搜索。
QPSK抗噪声性能干扰仿真
通信系统综合设计
题目QPSK抗噪声性能仿真
摘要
基于MATLAB的调制解调方案,包括串并转换、电平转换、载波调制、信号合成、相干解调、抽样判决,和并串转换一系列系统的设计。
对QPSK的星座图和调制解调进行了仿真,并对系统性能进行了分析,进而证明QPSK调制技术的优越性。
仿真QPSK系统通过AWGN信道的误符号率(SER)和误比特率(BER),发送端采用GRAY编码映射,基带脉冲采用矩形脉冲,每个脉冲抽样点数为8。
四相相移调制是利用载波的四种不同相位差来表征输入的数字信息,是四进制移相键控。
QPSK是在M=4时的调相技术,它规定了四种载波相位,分别为45°,135°,225°,315°,调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元。
每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。
QPSK中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的。
解调器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特,进而分析QPSK误符号率和误比特率。
关键词:
QPSK调制解调相干解调格雷码MATLAB仿真误比特率
Abstract
thearticlewillintroducetheQPSKmodulationanddemodulationprinciple,thenproposedonekindbasedontheMATLABmodulationanddemodulationoftheprogram,includingthestringandtheconversion,conversion,carriermodulation,signalsynthesis,coherentdemodulation,samplesentencesandstringconversion,andaseriesofsystemdesign,theQPSKconstellationdiagramandthemodulationanddemodulationofthesimulation,andtheSER&BERofthesystemareanalyzed,andthenprovedthesuperiorityofQPSKmodulationtechnology.
Keyword:
QPSKModulationandDemodulationCoherentDemodulationGrayCode
MatlabmodulationSymbolErrorRate
一、设计的目的和意义
1.1课题背景
在现代通信领域里,随着人民生活水平的提高,对于通信的质量及效率有着明显的要求,尤其是近几年,我国迅速步入了全民”3G”时代,通信业务需求的快速增长,高效的调制解调技术已经成为研究和发展的方向。
而相移键控(PSK)是在太空计划中早期发展起来的,现广泛用于军事和商用通信系统中。
QPSK是英文QuadraturePhaseShiftKeying的缩略语简称,意为正交相移键控,是一种数字调制方式。
在数字信号的调制方式中QPSK四相移键控是最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单。
1.2课题研究现状
QPSK是一种频谱利用率高、抗干扰性强的数调制方式,它被广泛应用于各种通信系统中,适合卫星广播。
例如,数字卫星电视DVB-S2标准中,信道噪声门限低至4.5dB,码元传输率达到45MB,采用QPSK调制方式,同时保证了信号传输的效率和误码性能。
但在2PSK信号相干解调过程中会产生180°相位模糊。
同样,对4PSK信号相干解调也会产生载波相位模糊问题,并且是0°、90°、180°和270°四个相位模糊。
当码组0011或0110时,产生180°的载波相位跳变,这种相位跳变引起包络起伏,当通过非线性部件后,使已经滤除的带外分量又被恢复出来,导致频谱扩展,增加对相邻波道的干扰。
为了消除180°的相位跳变,在QPSK基础上提出了OQPSK。
OQPSK也称为偏移四相相移键控(offset-QPSK),是QPSK的改进型。
它与QPSK有同样的相位关系,也是把输入码流分成两路,然后进行正交调制。
不同点在于它将同相和正交两支路的码流在时间上错开了半个码元周期。
由于两支路码元半周期的偏移,每次只有一路可能发生极性翻转,不会发生两支路码元极性同时翻转的现象。
因此,OQPSK信号相位只能跳变0°、±90°,不会出现180°的相位跳变。
1.3研究目的和意义
在通信和信息传输系统、工业自动化或电子工程技术中,调制和解调应用最为广泛。
本设计研究了QPSK的调制和解调原理,以及利用Matlab对其调制和解调进行了编译仿真,得到的结论和理论上是一致的。
简单而且快捷。
同时利用MATLAB中的SIMYULINK对QPSK的通信系统进行了仿真,研究了其传输的特性,及传输中噪声对系统的影响。
OQPSK也称为偏移四相相移键控(offset-QPSK),是QPSK的改进型。
它与QPSK有同样的相位关系,也是把输入码流分成两路,然后进行正交调制。
不同点在于它将同相和正交两支路的码流在时间上错开了半个码元周期。
由于两支路码元半周期的偏移,每次只有一路可能发生极性翻转,不会发生两支路码元极性同时翻转的现象。
因此,OQPSK信号相位只能跳变0°、±90°,不会出现180°的相位跳变。
1.4各章节分布
第一章简单阐述QPSK课题的研究背景以及课题内容和整个论文的结构安排;第二章简单介绍了了QPSK调制解调的原理和方法,系统阐述了最常见的2PSK的原理和方法,最后再对他们做一个系统的比较,以便明白QPSK的优点和性能;第三章是对所用工具MATLAB做一个大概的阐述,讲解了MATLAB的发展、性能、所用于语言,以及在各个领域的应用。
为后边编写程序做下准备、第四章针对此次课题QPSK的调制解调提出具体的方案,按调制和解调的步骤,一步步编写出程序,然后,利用MATLAB工具对程序做出相应的仿真,在仿真过程中加入噪声分析,最后在对它的误符号率(SER)和误比特率(BER)做一个研究;第五章是对整个课程设计的总结,感悟自己在这一时间内的所学所感,对自己的努力做一个回顾,以便在今后的生活和学习中,有更进一步的提高。
首先介绍了QPSK的调制解调原理,接着提出了一种基于MATLAB的调制解调方案,包括串并转换、电平转换、载波调制、信号合成、相干解调、抽样判决,和并串转换一系列系统的设计,对QPSK的发射信号和接收信号的星座图和其误符号率(SER)和误比特率(BER)进行了仿真,并对系统性能进行了分析,进而证明QPSK调制技术的优越性。
二、设计原理
2.14PSK信号的产生与解调原理介绍
2.1.1相移键控系统概述
相移键控是目前扩频系统中大量使用的调制方式,也是和扩频技术结合最成熟的调制技术,原则上看是一种线性调制。
从基带变换到中频以及射频,中间的频谱搬移和信号放大需要一个要求较高的线性信道,因而,设计要求较高。
相移键控系统中,有待传输的基带数字脉冲控制着载波相位的变化,从而形成振幅与频率不变,而相位取离散值变化的己调波。
二进制相移键控
对于二迸制相移键控BPSK(BinaryPhaseShiftKeying)来说,就是二进制的数字信号0和1分别用载波的0和π来表示。
其表达式由公式(1-1)给出:
(1-1)
式中,
为二进制数字,
(1-2)
四相相移键控QPSK是MPSK的一种特殊情况。
它是利用载波四个不同的相位来表征数字信息的调制方式。
QPSK信号可以表示为:
(1-3)
式中,
是载波的角频率,
是第k个码元的载波相位取值,
是一个发送码元的持续时间,它将取可能的四种相位之一,甙t)是发送码元的波形函数。
是可以取区问(0,2x)任何离散值的随机变量,可取的个数由调制方式的进制来决定。
在QPSK调制系统中,发送端可取的相位值为四个。
将上式展开,得到:
(1-4)
令
,
,则两者的取值是随机的离散值,和选定的相位有关,在星座图的映射中对应同相和正交分量,反映其在映射图中的矢量位置。
对于四种相位的选择,存在π/2体系和n=π/4体系。
π/2体系对应n=0,π/2,π,3π/2四个离散值。
π/4体系对应n=π/4,3π/4,5π/4,7π/4四个离散值。
2.1.2QPSK信号的产生
四进制数字相位调制信号矢量图如图1所示,载波相位有0、π/2、π和3π/2,它们分别代表信息11、01、00和10。
图1QPSK信号矢量图
四进制绝对移相键控利用载波的四种不同相位来表示数字信息。
由于每一种载波相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。
两个二进制码元中的前一比特用a表示,后一比特用b表示,则双比特ab与载波相位的关系如表所示。
双比特ab与载波相位的关系:
双比特码元
载波下相位(Φ)
a
b
A方式
B方式
0
1
1
0
0
0
1
1
0°
90°
80°
70°
225°
315°
45°
135°
图2双比特ab与载波相位的关系
QPSK信号常用的方式产生方法有直接调相法和相位选择法。
①相位选择法
在一个码元时间间隔Ts,QPSK信号为载波四个相位中的某一个。
因此,可以用相位选择法产生QPSK信号,其原理图如图所示。
图中,四相载波产生器输出QPSK信号所需的四种不同相位的载波。
输入二进制数据流经串/并变换器输出双比特码元,逻辑选相电路根据输入的双比特码元,每个时间间隔Ts选择其中一种相位的载波作为输出,然后经带通滤波器滤除高频分量。
图3相位选择法产生QPSK信号(B方式)原理图
如要形成A方式的QPSK信号,只需调整四相载波发生器输出的载波相位即可。
②直接调相法
如图4所示,它可以看成由两个载波正交的2PSK调制器构成。
图4QPSK正交调制器原理图
图中,串/并变换器将输入的二进制序列分为速率减半的两个并行的双极性序列a和b,然后分别对cosωct和sinωct进行调制,相加后即可得到QPSK信号。
若要产生QPSK的A方式波形,只需适当改变振荡载波相位即可。
(2)加性高斯白噪声
信号在信道传输过程中,会受到噪声干扰。
加性高斯白噪声(AdditiveWhiteGaussianNoise,AWGN)是最常见的一种白噪声。
表现为信号围绕平均值的一种波动过程。
AWGN的均值为0,方差是噪声功率的大小。
awgn(x,snr,…,state)
其中…可以是信号功率或自测量模式。
State是高斯白噪声发生器的种子数。
(3)QPSK信号的解调工作原理
由于4PSK信号可以看作两个载波正交2PSK信号的合成。
因此,对4PSK信号的解调可以采用与2PSK信号类似的解调方法进行解调,解调原理图如图7-44所示。
同相支路和正交支路分别采用相干解调方式解调,得到I(t)和Q(t),经抽样判决和并/串变换器,将上、下支路得到的并行数据恢复成串行数据。
图5QPSK信号的相干解调
相干解调中,正交路和同相路分别设置两个相关器(或匹配滤波器),得到I(t)和Q(t),经电平判决和并一串变换后即可恢复原始信息。
当然,如果调制端是差分编码的,那么解调中并串变换后还需一个差分解码。
假如已调信号为
,I(t)和Q(t)分别为和正交路,
为载波频率,那么相干解调后,同相路相乘可得
(1-5)
正交路为
(1-6)
经过低通滤波器后,可得
(1-7)
(5)格雷码(英文:
GrayCode,又称作葛莱码,二进制循环码)
格雷码是1880年由法国工程师Jean-Maurice-EmlleBaudot发明的一种编码,因FrankGray于1953年申请专利“PulseCodeCommunication”得名。
当初是为了机械应用,后来在电报上取得了巨大发展,现在则常用于模拟-数字转换和转角-数字转换中。
它属于可靠性编码,是一种错误最小化的编码,因为它大大地减少了由一个状态到下一个状态时电路中的混淆。
由于这种编码相邻的两个码组之间只有一位不同,因而在用于模-数转换中,当模拟量发生微小变化而可能引起数字量发生变化时,格雷码仅改变一位,这样与其它码同时改变两位或多位的情况相比更为可靠,即可减少出错的可能性.这就允许代码电路能以较少的错误在较高的速度下工作。
格雷码与二进制的转换如下:
N
二进制代码
格雷码
以四位代码为例,由格雷码与二进制码的对照表导出两种代码相互转化的逻辑表达式如下:
二进制代码→格雷码表达式
格雷码→二进制代码表达式
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1
2
0
0
1
0
0
0
1
1
3
0
0
1
1
0
0
1
0
4
0
1
0
0
0
1
1
0
5
0
1
0
1
0
1
1
1
6
0
1
1
0
0
1
0
1
7
0
1
1
1
0
1
0
0
8
1
0
0
0
1
1
0
0
9
1
0
0
1
1
1
0
1
A
1
0
1
0
1
1
1
1
B
1
0
1
1
1
1
1
0
C
1
1
0
0
1
0
1
0
D
1
1
0
1
1
0
1
1
E
1
1
1
0
1
0
0
1
F
1
1
1
1
1
0
0
0
图6格雷码与二进制的转换表
(4)误比特率(BER)
为了使仿真结果具有统计意义,每次仿真必须产生一定数量的错误比特。
如果仿真没有产生错误,这并不意味着误比特率为0;它只能表明发送信号中的比特数量不是足够多。
作为一条经验法则,在每次仿真中,我们需要100个以上的错误比特,这样才能说明仿真得到的误比特率在统计上是有效的。
在较高的SNR处,可能需要测试的信号含有几百万甚至几十亿个比特。
当我们在所有感兴趣的SNR上执行了足够多的仿真并获得了有效的结果,就可以将结果画出来。
坐标轴X轴将包含SNR的值,Y轴包含了误比特率的值,Y轴必须以对数为刻度,X轴应该是线性刻度。
每运行一次误比特率仿真,就需要传输和接收固定数量的比特,然后确定有接收到的比特中有多少是错误的,接下来就用错误比特数除以总传输比特数得到误比特率。
使用MATLAB,计算bit-error-rate(ber)如下:
ber=te/length(tx),
这里'te'是总的错误比特数量,'tx’是发送的比特向量。
2.2QPSK调制与解调的软件实现
2.2.1SIMULINK功能介绍
Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
通过该软件实现方式,可以大大提高设计的灵活性,节约设计时间,提高设计效率,从而缩小硬件电路设计的工作量,缩短开发周期。
2.2.2QPSK抗噪声性能仿真系统框图
图7QPSK抗噪声性能仿真系统框图
将QPSK信号输入到带通滤波器中,然后利用和原来载波调制相同频率、相同信号的调制信号对QPSK信号进行解调,相干解调就是说,在解调时,首先要通过锁相环提取出载波信息(恢复出相干载波),利用这个相干载波和已调制信号作用,得到最初的数字基带信号,而这个相干载波是和原来在发送端调制该基带信号的载波信号是同频率同相位的。
在AWGN信道中,相干解调的性能优于非相干解调3dB。
三、详细设计步骤
3.1M文件实现
M文件编程与调试之MATLAB程序的基本设计原则:
①%后面的内容是程序的注解,注解使程序更具可读性。
②在主程序开头用clear指令清除变量,以消除工作空间中其他变量对程序运行的影响。
但注意在子程序中不要用clear。
③参数值要集中放在程序的开始部分,以便维护。
应充分利用MATLAB工具箱提供的指令来执行所要进行的运算,在语句行之后输入分号使其及中间结果不在屏幕上显示,以提高执行速度。
④程序尽量模块化,也就是采用主程序调用子程序的方法,将所有子程序合并在一起来执行全部的操作。
⑤充分利用Debugger来进行程序的调试(设置断点、单步执行、连续执行)。
⑥设置好MATLAB的工作路径,以便程序运行。
M文件源程序:
clearall
nSamp=8;%矩形脉冲的取样点数
numSymb=1000000;%每种SNR下的传输的符号数
M=4;%QPSK的符号类型数
SNR=-3:
3;%SNR的范围
grayencod=[0132];%Gray编码格式
forii=1:
length(SNR)
msg=randsrc(1,numSymb,[0:
3]);%产生发送符号
msg_gr=grayencod(msg+1);%进行Gray编码影射
msg_tx=pskmod(msg_gr,M);%QPSK调制
msg_tx=rectpulse(msg_tx,nSamp);%矩形脉冲成形
msg_rx=awgn(msg_tx,SNR(ii),'measured');%通过AWGN信道
msg_rx_down=intdump(msg_rx,nSamp);%匹配滤波相干解调
msg_gr_demod=pskdemod(msg_rx_down,M);%QPSK解调
[dummygraydecod]=sort(grayencod);graydecod=graydecod-1;
msg_demod=graydecod(msg_gr_demod+1);%Gray编码逆映射
[errorBitBER(ii)]=biterr(msg,msg_demod,log2(M));%计算BER
[errorSymSER(ii)]=symerr(msg,msg_demod);%计算SER
end
scatterplot(msg_tx(1:
100))%画出发射信号的星座图
title('发射信号星座图')
xlabel('同相分量')
ylabel('正交分量')
scatterplot(msg_rx(1:
100))%画出接收信号的星座图
title('接收信号星座图')
xlabel('同相分量')
ylabel('正交分量')
figure
semilogy(SNR,BER,'-ro',SNR,SER,'-r*')%画出BER和SNR随SNR变化的曲线
legend('BER','SER')
title('QPSK在AWGN信道下的性能')
xlabel('信噪比(dB)')
ylabel('误符号率和误比特率')
3.1.1QPSK抗噪声性能仿真的详细设计步骤
图8QPSK抗噪声性能仿真的详细步棸图
步棸是:
①发送符号②进行Gray编码影射③2个比特组成QPSK
④QPSK调制⑤矩形脉冲成形⑥通过AWGN信道⑦匹配滤波相干解调⑧QPSK解调⑨QPSK分成2个比特⑩Gray编码逆映射最后统计BER和SER。
QPSK信号有00、01、10、11四种状态,所以对输入的二进制序列,首先必须分组,每两位码元一组。
然后根据组合情况,用载波的四种相位表征它们(即四进制绝对移相键控利用载波的四种不同相位来表示数字信息。
由于每一种载波相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示)。
然后一个个QPSK信号理想的矩形脉冲滤波器形成矩形脉冲,脉冲通过有AWGN加性高斯白噪声(AdditiveWhiteGaussianNoise,AWGN)信道中,形成有噪声干扰的脉冲之后通过相干解调。
将QPSK信号输入到带通滤波器中,然后利用和原来载波调制相同频率、相同信号的调制信号对QPSK信号进行解调,即相干解调,在解调时,首先要通过锁相环提取出载波信息(恢复出相干载波),利用这个相干载波和已调制信号作用,得到最初的数字基带信号(该相干载波是和原来在发送端调制该基带信号的载波信号是同频率同相位的)。
解调后的QPSK信号分成两个比特,进而进行格雷逆映射,最后统计输出BER和SER。
在每次仿真中,我们需要100个以上的错误比特,这样才能说明仿真得到的误比特率在统计上是有效的。
在较高的SNR处,可能需要测试的信号含有几百万甚至几十亿个比特。
为了使仿真结果具有统计意义,每次仿真必须产生一定数量的错误比特。
如果仿真没有产生错误,这并不意味着误比特率为0;它只能表明发送信号中的比特数量不是足够多。
坐标轴X轴将包含SNR的值,Y轴包含了误比特率的值,Y轴必须以对数为刻度,X轴应该是线性刻度。
每运行一次误比特率仿真,就需要传输和接收固定数量的比特,然后确定有接收到的比特中有多少是错误的,接下来就用错误比特数除以总传输比特数得到误比特率。
3.2SIMULINK实现QPSK抗噪声性能仿真
图9QPSK调制与解调simulink实现过程
图中,上半部分是QPSK调制的过程,是将二进制伯努利随即信号调制成为QPSK信号,而下半部分是其解调过程,是将上半部分的QPSK已调信号进行解调。
QPSK信号有00、01、10、11四种状态。
所以对输入的二进制序列,首先必须分组,每两位码元一组。
然后根据组合情况,用载波的四种相位表征它们。
即四进制绝对移相键控利用载波的四种不同相位来表示数字信息。
由于每一种载波相位代表两个比特信息,因此每个四进制码元可以用两个二进制码元的组合来表示。
然后一个个QPSK信号理想的矩形脉冲滤波器形成矩形脉冲,脉冲通过有AWGN加性高斯白噪声(AdditiveWhiteGaussia