全数字OQPSK调制解调器

偏移正交相移键控(OQPSK:Offset Quadrature Phase Shift Keying)调制技术广泛应用于卫星通信和移动通信领域,具有频谱利用率高、频谱特性好等特点。

论文设计并实现了基于FPGA的全数字OQPSK调制解调器,论文研究了全数字OQPSK调制解调的基本算法,包括成形滤波器、NCO模型、载波恢复等;完成了整个调制解调算法的MATLAB仿真。在此基础上,采用verilog硬件描述语言在Xilinx公司ISE10.1开发环境下设计并实现了各个算法模块。

OQPSK调制技术是一种恒包络调制技术,受系统非线性影响小,具有较高的带宽利用率和功率利用率,在卫星环境、无线环境下得到广泛应用。因此,在通信信号侦收设备所处理的信号中,存在大量的OQPSK信号。在传统的侦收设备中,接收机的解调单元都是采用模拟处理方法和器件实现的。大都使用了模拟滤波器、鉴相器(乘法器)和压控振荡器(VCO)。这种传统的模拟解调单元电路体积大,形式复杂;调试过程复杂、调试周期长;器件内部噪声大,易受环境影响,可靠性差。因此,这种传统的侦收设备不能完全发挥数字通信的优势,实现信号的最佳接收。随着大规模集成电路(VLSI)技术和工艺的进步,数字集成电路的复杂度和功能达到了前所未有的高度,以专用集成电路(ASIC)、数字信号处理器(DSP)、和现场可编程逻辑门阵列(FPGA)为代表的IC,已经在工业生产中得到大规模的应用。这些技术和工艺的快速发展,给侦收设备中解调单元的全数字化提供了可能。

全数字化的调制解调器与传统的模拟电路调制解调器相比主要有以下优点:硬件电路稳定、通用、易维护;电路的稳定性好,基本不受环境、器件个体性能差异因素影响,无需复杂的电路调试。算法由软件实现,可以在通用的硬件平台上用不同的算法实现不同的调制解调器。数字调制解调算法通过计算机设计仿真,易于调试。易于实现自适应接收,可以切换或者调整系统软件,加载不同的算法,实现对多种不同体制信号的自适应接收。利于集成,随着数字器件的高速发展,数字接收机的集成度越来越高,使通信设备的小型化成为可能。本课题正是以某型侦收设备中OQPSK解调器的全数字化为背景展开研究,设计并实现全数字OQPSK调制解调器。

现今,大多数通信系统的数字化调制解调技术已经相当成熟,可以很好的实现多种数字信号的接收解调。然而在调制解调算法的实现中,大多采用ASIC和DSP,这类器件都有一定的缺陷。ASIC处理速度快,但是开发成本高,而且内部功能不可改变,这样使得系统的可重构性很低,当设备兼容的无线接口增加时,就必须增加执行相应信号处理的ASIC,使得设备的体积和成本随无线接口的增加而不断增大。DSP可以通过更改软件来变更其功能,可重构性好,但它的处理速度慢,逐渐跟不上越来越高的信号处理速度的需求。FPGA可以看作是介于ASIC和DSP之间的一种实现手段。它既具有ASIC的高速处理能力,又拥有很好的可重构性能,而且开发成本低,开发周期短,优势十分明显。FPGA技术打破了软硬件之间最后的屏障,虽然其功能开发是通过EDA软件实现的,但其物理机制属于纯硬件电路。

    由于在标准QPSK中,相位跳变仅在每个Ts=2TB秒时发生,并且存在180°的最大相移。可是在OQPSK信号中,比特跳变(从而相位跳变)每Tb秒发生一次。因为I支路和Q支路的跳变瞬时被错开了,所以在任意给定时刻只有两个比特流中的一个改变它的值。这意味着,在任意时刻发送信号的最大相移都限制在±90°。因此OQPSK信号消除了180°相位跳变,改善了其包括特性。

    从上图中的星座图看出,180°相位跳变消除了,所以OQPSK信号的带限不会导致信号包络经过零点。OQPSK包络的变化小多了,因此对OQPSK的硬限幅或非线性放大不会再生出严重的频带扩展现,OQPSK即使在非线性放大后仍能保持其带限的性质,这就非常适合移动通信系统,因为在低功率应用情况下,带宽效率和高效非线性放大器是起决定性作用的。还有,当在接收机端由于参考信号的噪声造成相位抖动时,OQPSK信号表现的性能比QPSK要好。

OQPSK也称为偏移正交相移键控(offset-QPSK),是QPSK的改进型。它与QPSK有同样的相位关系,也是把输入码流分成两路,然后进行正交调制。不同点在于它将同相和正交两支路的码流在时间上错开了半个码元周期。由于两支路码元半周期的偏移,每次只有一路可能发生极性翻转,不会发生两支路码元极性同时翻转的现象。因此,OQPSK信号相位只能跳变0°、±90°,不会出现180°的相位跳变,所以频带受限OQPSK的信号包络起伏比频带受限QPSK的信号小,经限幅放大后频带展宽得少,故OQPSK性能优于QPSK。

其基本工作过程如下:将信号通过成形滤波器然后将滤波以后的信号和SIN,COS相乘,得到调制信号,然后将两路信号相加,得到混频信号从而完成信号的OQPSK调制部分的设计,而对于解调模块。

而对于接收部分,其主要的难点在于信号的频偏的锁定,这里主要采用COSTAS环来实现信号的解调。

扫描二维码关注公众号,回复: 11600943 查看本文章

在数字通信系统中,无论是PSK还是QAM调制,接收端通常采用相干解调的方法来取得较好的解调性能。相干解调要求在接收端产生一个与被调制载波同频同相的相干载波,称为载波恢复。相干解调的优势是建立在接收端有着准确相位的参考载波之上的,如果频率或相位有偏差,解调器的性能就会下降,甚至不能正常工作。载波恢复的方法一般有两种:一种是插入导频法,在发送端发送数字信号序列的同时发送载波信号或者与它相关的导频信号,在接收端可以用窄带滤波器或者锁相环直接提取载波;另一种方法是直接提取法,在接收信号为抑制载波的已调信号时,通过对数字接收信号进行非线性变换或者采用特殊的锁相环来获得相干载波。本文主要讨论的是适用于OQPSK调制解调的载波恢复算法。在实际应用中,常用的OQPSK载波恢复锁相环有:四次方环、松尾环和硬判决COSTAS环等。

以常用的QPSK信号为例,说明本文中改进COSTAS环的同步解调算法,下图给出实现QPSK信号解调算法的改进COSTAS环结构。

    上一节我们基本介绍了COSTAS的原理,其主要工作方式为:信号通过COSTAS首先于本地的SIN,COS进行解调,得到的高频信号通过RRC滤波器进入误差检测模块,最后得到的误差通过环路滤波器得到平滑的NCO控制信号,使本地产生一个频率和发送段相同频率的载波进行调制,从而还原出比较完美的波形。

   下面就来实现COSTAS的具体实现方法,

for frame=1:nf

% 产生本地的sin和cos函数

expcol = exp(j*(wfc*ts*nn+phase));

sine = imag(expcol);  

cosine = real(expcol);

这段代码,主要是通过调整phase来实现本地载波的产生,通过调整phase,可以实现本地载波的产生,并且锁定频偏。

%发送的数据,将IQ两路信号进行混频

x = data((1:n)+((frame-1)*n));

%将数据转换到基带

x_sine = x.*sine;

x_cosine = x.*cosine;

    将接收到的信号进行解调,将信号和锁定频偏的SIN,COS进行相乘,得到原始的I,Q两路信号。

%经过滤波器

Q  = sum(x_sine);                  

I  = sum(x_cosine);

    将得到的信号通过RRC滤波器,可以得到发送的信号。随后对所得到的信号求误差,将所得到的误差通过环路滤波器,然后将环路滤波器的输出作为NCO的控制信号,这样就完成了接收端的COSTAS环的实现。其仿真结果图如下所示:

信号同步解调结果如图4-3所示,用改进COSTAS环解调恢复出的I、Q支路信号。可以看出,该环很好地实现了I、Q支路信号的同步解调,整个环路在经过了短暂的失锁过程后迅速的达到锁定状态。I、Q路信号和基带信号达到了同步输出。这样,我们基本完成了利用MATLAB进行OQPSK的基本实现过程,在下面的章节里,我们将利用FPGA进行OQPSK的实现和仿真。

猜你喜欢

转载自blog.csdn.net/ccsss22/article/details/108381360
今日推荐