2DPSK信号数字化解调技术研究
数字信息: 0 0 1 1 1 0 0 1 0 1
2DPSK信号相位: 0 0 0 π 0 π π π 0 0 π
或者: π π π 0 π 0 0 0 π π 0
2DPSK信号的波形与2PSK信号的波形不同,2DPSK信号的波形的同一相位并不对应相同的数字信息符号,而前后码元相对相位的差才是唯一决定信息符号的因素。这说明,解调2DPSK信号时并不依赖于某一固定的载波相位参考值,只要前后码元的相对相位关系不破坏,则鉴别这个相位关系就可正确恢复数字信息,这就避免了2PSK方式的倒π现象发生。
二进制移相键控系统在抗噪声性能以及信道频带利用率等方面比二进制FSK和OOK优越,因而被广泛应用于数字通信中。考虑到2PSK方式有倒π现象,故它的改进型2DPSK信号受到重视。目前,在话带内以中速传输数据时,2DPSK是CCITT建议选用的一种数字调制方式。
3.2 基于DFT的2DPSK信号数字化解调方法
实际中接收到的2DPSK信号在经过带通滤波后,由于码元跳变出的高频分量被过滤掉,滤波后的 2DPSK 信号波形分为稳定区和过渡区, 码元中间部分是稳定区, 前、后部分为过渡区[7]。稳定区内的信号基本无损失, 波形近似为正弦波, 而过渡区内的波形则不是正弦波, 并且幅度明显降低。调制信息基本上只存在于码元稳定区。从上述分析出发, 可以得到如图 4.1 所示的基于 DFT 的数字解调方案。本文引用地址:https://www.eepw.com.cn/article/156515.htm
图3.1 DFT解调算法框图
对每个码元稳定区内的采样点按照下面式子做DFT:
I=1/N ∑_(k=1)^Nx_k cos〖2πk/n〗
Q=1/N ∑_(k=1)^Nx_k sin〖2πk/n〗
其中, n 代表每个载波周期的采样点个数, N 代表做 DFT 时使用的稳定区内的采样点个数(通常取多个载波整周期)。
然后,提取出前后码元的相位跳变信息∅_T来进行解调判决:
计算θ=tan^(-1)〖(Q/I)〗,并根据Q和I的正负情况确定θ的取值范围。
当 I≥0,Q≥0 时 ∅=θ ; 当I≥0,Q0时 ∅=-θ ;
当 I0,Q0时 ∅=π+θ; 当 I0,Q≥0时 ∅=π-θ ;
把本码元的相位记为∅_b,前一码元的相位记为∅_a,则
∅_T=∅_b-∅_a+∅_d (mod 2π) (3.1)
其中∅_d是进行了位同步点调整时附加的相位。
∅_d=±m*2π/n
m为位同步调整时移动的采样点个数,n为每个载波周期的采样点个数。
从∅_T到码元解调数据的判决条件为:
-π/2≤∅_T≤π/2 判为 0;
π/2≤∅_T≤3π/2 判为 1;
图3.2 2DPSK移相信号矢量图
可见,在每个码元周期只需要计算一次相位值即本码元的相位,然后相减得到跳变相位,就可以依据判决条件恢复原始数据,而不需要像文献[7]中所提到的对每个码元要随着窗函数的移动多次计算谱值,因而大大减轻了计算量,非常适合于软件无线电的数字化实时解调。
3.3 解调中的位同步方法
位同步是数字化解调中不可缺少的一个重要环节。在本方案中,对采样点按照载波周期做DFT提取幅度信息则可以建立起初始位同步。其原理是:由于稳定区内的信号基本无损失,而过渡区内信号的幅度则明显降低,如果按照载波周期对采样值进行DFT,在码元波形过渡区得到的载波幅值A_1会比在码元稳定区内求得的A_1值小,而且存在一个极小值,当该极小值小于给出的判决门限值时(防止噪声引起的误判),可确定为码元的切换点。因此通过对A_1值进行检查就可以确定码元切换点。在实际的通信中,为方便初始位同步的建立,可以发射一连串的1序列,以保证前后码元存在π相位的跳变,更有利于寻找码元切换点。
在初始位同步建立后,由于码元定时误差和噪声干扰,位同步点可能有偏差,还必须进行调整。对每个码元计算过相位后,在过渡区仍旧按载波周期计算A_1值,并检测幅值极小点。没有出现幅值极小点(表明前后码元相位连续)或者找到的幅值极小点与原位同步点相同,则位同步点不调整;否则,根据本次计算出来的幅值极小点对已建立的位同步点进行调整,并根据调整结果对码元的跳变值附加修正值∅_d,且∅_d的大小由公式(3.2)决定。
〖 ∅〗_d=±m*2π/n (3.2)
其中,m为位同步调整时移动的采样点个数,n为每个载波周期的采样点个数。
3.4 相关说明与讨论
(1)在进行码元解调时也可以把靠近稳定区的一些采样值用于DFT计算(采样值的数目仍需要与整数个载波周期相对应),以求进一步降低误码率,因为那里的信噪比也比较高。其实稳定区和过渡区并无一个明确的分界点。
(2)在进行位同步计算时,如果一个码元包含的载波周期比较多(比如一个码元包含50个载波周期),也可以每n个采样值(一般情况下,为了提高位同步定位精度,每接收到n/2个采样值就用最新的n个采样值计算一次A_1)进行一次DFT,求出I_1 和Q_1值。
I_1和Q_1计算公式是:
I_1=1/n ∑_(k=1)^nx_k cos〖2πk/n〗
Q_1=1/n ∑_(k=1)^nx_k sin〖2πk/n〗
(3)在一般的举例中我们会假设一个码元周期刚好等于整数个载波周期,但是解调方法并不要求一定如此。比如一个码元包含10.25个载波周期,将有82个采样点(假设n=8),只要把码元过渡区算为5.25个载波周期,仍然使用稳定区内的N个采样值来进行DFT计算就可以了(计算码元相位跳变的公式需要做相应改变)。
(4)在实际系统中不可避免会存在位同步误差(确定的码元起点与实际起点有偏差),只使用码元稳定区内的采样值进行解调计算,位同步误差的影响也可以消除或减小。
(5)一般情况下举例时,采样频率是取为载波频率8倍时候多,如果取为4、5或者9、10等整数,也可以实现解调(有关计算公式需做修改)。但是降低采样频率不利于抑制噪声,会使误码率有所增大。选择8或者4还可以减小计算量,比如为8时,则对码元采样点按照前面公式做DFT时,可求得:
I=1/N ∑_(k=1)^N〖x_k cos〖2πk/n〗 〗
= 1/40 ∑_(k=1)^40x_k cos〖πk/4〗
=0.025[x_1+x_9+x_17+x_25+x_33-x_5-x_13-x_21-x_29-x_37+0.707(x_2+x_10+〖 x〗_18+x_26+x_34-x_4-x_12-x_20-x_28-x_(36 )-x_6-x_14-x_22-x_30-x_38+〖 x〗_8+x_16+x_24+x_32+x_40)]
可以看出,几乎只需要做加、减运算就可以了。另外,考虑到需要进行载波解调和位同步,在倍数为8时每个码元采样80点已经是比较少的了。
(6)如果存在采样定时误差(采样频率不等于载波频率的整数倍),也会使误码率增大,但是不一定很严重。
(7)本解调算法对于各种MDPSK以及π/4QDPSK信号都是适用的,只要修改从码元的相位跳变值到调制数据的判决条件式就可以了,也可以推广到MQAM(幅相联合调制)信号的解调,因为通过DFT不仅可以求出码元的相位及相位跳变,也可以求出码元的载波幅值。
图3.3 采用中频自动调整方案的SDR接收机结构
(8)为了使采样频率为中频的整数倍,可以采用如下的电路方案:按照设定的采样频率进行采样,在解调程序中去检查在码元稳定区中的40个采样点是否刚好对应5个载波周期,如果有偏差,再去控制变频器的本振(VCO)频率,使中频向正确的方向改变。相应的软件接收机结构如图3.3所示:
第四章 2DPSK信号数字化解调的仿真研究
4.1 仿真软件工具的选择
在目前工程界使用的各种仿真工具中,MATLAB是应用最广泛,也是使用最简便的一个,相比于其他各种仿真工具,它具有很多独特的优点。因此,本次设计中的算法仿真我们选用MATLAB作为仿真工具。
MATLAB是矩阵实验室(Matrix Laboratory)之意。除去本身卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学工程那个中常用的形式十分相似,故用MATLAB来解算问题要比用C语言、FORTRAN等语言完成相同简捷得多。
当前流行的MATLAB5.3/Simulink3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)。工具包又可以分为功能性工具包和学科工具包。功能性工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。
一种语言之所以能如此迅速的普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB最突出的特点就是简洁。MATLAB用更直观的,符合人们思维习惯的代码代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观,最简洁的程序开发环境。下面简单介绍一下MATLAB的主要特点[8]
1:语言简洁紧凑,使用方便灵活,库函数及其丰富。MATLAB程序编写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不用担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。
2:运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。
3:MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
4:程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可以使用。
5:程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
6:MATLAB的图形的功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。
7:MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
8:功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心的内部函数。其工具箱又分为两类:功能形工具箱和学科性工具箱。工具性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signl processing toolbox,commumnication toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。
9:源程序的开放性。开放性也许是MATLAB最受人欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
4.2 程序流程图
实现2SPSK信号数字化解调的程序分为5个部分,在这里,我首先介绍一个总体的流程图,然后介绍几个主要部分的程序流程图。
2DPSK信号数字化解调仿真流程图如下:
模拟信号相关文章:什么是模拟信号
评论