APP下载

基于SDR的DPSK调制解调器设计

2014-07-19谢星田克纯敖发良

科技视界 2014年14期

谢星 田克纯 敖发良

【摘 要】本文研究了基于SDR的DPSK调制解调器的实现方法,对DPSK调制与解调中的重难点进行了研究。并通过SDR开发平台实现了对音频信号在8K采样率下的调制与解调。仿真结果表明基本达到了设计要求。

【关键词】SDR;DPSK;调制;解调

Analog Front-end Circuit design

XIE Xing TIAN Ke-chun AO Fa-liang

(School of Information and Communication, Guilin University of Electronic Technology, Guilin Guangxi 541000, China)

【Abstract】The realization method of DPSK modulation and demodulation based on Software Defined Radio is researched in this paper. The Heavy and difficult of DPSK modulation and demodulation are studied. And the SDR development platform for the realization of modulation and demodulation of audio signal in the sampling rate of 8K.The simulation results show that the design basically meet the requirement.

【Key words】SDR;DPSK;Modulation;Demodulation

0 引言

DPSK是差分移相键控“Differential Phase Shift Keying”的缩写,是指利用调制信号前后码元之间载波相对相位变化来传递信息,其也是数字调制方式的一种。运用DPSK调制技术可用来实现提高混沌通信系统的性能,并且可提高信号的隐藏性。可编程芯片是软件无线电的核心,其能够最大限度地用软件来实现信号处理以减少模拟前端的运算量,可灵活实现调制解调制式的选择与平台的优化升级。本文基于软件无线电平台,重点研究了DPSK调制解调系统中的关键模块,如调制端的成型滤波器,解调端的载波同步和位同步。

1 DPSK调制模块

本节中将介绍DPSK调制模块的设计与仿真验证,基本指标如下:

信源速率:64Kbps

中频载波频率:1MHz

A/D与D/A速率:7.2MSPS

滤波器阻带衰减:60dB

滤波器通带衰减:0.001

DPSK的调制框图如图1所示。

图1 DPSK调制系统框图

DPSK的调制过程中,重难点在于成型滤波器的设计,下面就这一重点进行研究。

1.1 成型滤波

由傅里叶变换性质可知:时域有限信号其频谱是无限延伸的,然而频带受限信号其时域是无限延伸的。因此,若是将差分编码后的方波直接进行调制,即占用了过多的带宽,又导致经过频带受限的系统解调后,其时域延伸对前后码元造成干扰,即出现所谓的码间串扰现象。实际上,可通过添加一个升余弦滚降滤波环节来解决此问题[1]。升余弦滚降滤波器不但能够提供平滑的过渡带,而且通过改变滚降系数来改变成型信号波形。其频域响应为:

■(1)

时域响应为:

■(2)

式中:Ts为符号间隔,α为滚降因子,其取值范围为0≤α≤1。当α较大时,由式(1)和式(2)知:频域带宽较大导致其频带利用率较低,而且时域拖尾衰减快对定时精度要求低。当α较小时:频带利用率较高,但是增加了对定时精度的要求。

升余弦滚降系统的带宽为:

B=■Ts(3)

频带利用率为:

η=■(B/Hz)(4)

因此综合考虑在成型模块的设计中设置α=0.5。

为满足奈奎斯特无失真传输条件,需对收发机的整体结构进行考虑。信号的传输是通过发送滤波、信道和接收滤波器共同实现的。为简化信道模型,设理想信道即C(Ω)=1。这样,原来的升余弦滤波器被分成两部分:其一,发送端的平方根升余弦滤波器;其二,接收端的平方根升余弦滤波器。它们之间具有如下关系:

G(Ω)=GT(Ω)GR(Ω)(5)

g[k]=gT[k]?茚gR[k](6)

信道模型可以用下图2所示。

图2 信道模型

通过以上分析,成型滤波的模块设计是采用平方根升余弦滤波器来实现成型的。因为FPGA中算法模块的数据是统一设置成12位宽,所以在成型滤波之前,需将差分编码后的1位宽码元映射成12位宽的数据,对应的规则如图3所示。

图3 符号映射

映射以后,进行10倍的补“0”内插,即每个数据后面填加9个“0”,将72K的数据流变为720K数据流,根据10倍内插关系及滚降因子α=0.5的设置。将10倍补“0”内抽后的数据通过平方根升余弦滤波器得到码元成型后的波形,将适合信道的传输。

1.2 内插与混频

经成型滤波之后,数据流的大小为720K,然而设计的载波频率为1M,所以还需要进行一次内插处理来提高采样率。因为指标中A/D与D/A的采样率设置为7.2M,所以需要完成一个10倍内插工作。在内插模块中,用一个带补偿的CIC完成10倍内插即可。

经过仿真得到的DPSK调制波形如图4所示。

图4 DSPK调制仿真波形图

上图中,第一路信号srcos_720k为10倍内插前的波形,第二路信号srcos_7200k为10倍内插后的波形。可见,经10倍内插后信号变得更平滑。第三路信号是在7.2M的采样率下乘以1M载波所生成的时域波形图,最后送给DA完成DPSK调制工作。

2 DPSK解调模块

本节将介绍DPSK解调模块的设计与仿真验证,基本指标如下:

A/D与D/A速率:7.2MSPS

信源速率:64Kbps

中频载波频率:1MHz

滤波器阻带衰减:60dB

滤波器通带衰减:0.001

DPSK解调框图如图5所示。

图5 DPSK解调系统框图

DPSK的解调过程中,重难点在于载波同步与位同步的设计,下面就这两个重点进行研究。

2.1 载波提取与下变频

考虑到实际通信过程中,接收与发送载波之间存在着频差,就需要通过载波同步来解决此问题。常用的载波同步方法有:科斯塔斯环(Costas),平方环,插入导频法等。本方案将采用Costas环来实现载波同步。其原理框图如图6所示:

图6 Costas环原理图

假定环路已锁定,且输入信号为m(t)cos(ωct+θ),并设压控的输出及经90°相移之后的输出为:

?自a=cos(ωct+φ)(7)

?自b=sin(ωct+φ)(8)

式中:ωc为压控输出的频率,?准为输出的相位。

接收信号与两路正交载波相乘之后的表达式分别为:

■(9)

■(10)

这两路信号经低通滤波后为:

?自e=■m(t)cos(φ-θ)(11)

?自f=■m(t)sin(φ-θ)(12)

所得两个信号相乘后结果为:

?自g=■m2(t)sin2(φ-θ)(13)

式中:(?准-θ)为压控输出与接收载波的相位差,根据数学分析,有当(?准-θ)很小时,sin(?准-θ)≈(?准-θ),因m(t)为基带信号,为简化设m(t)=±1,则式(13)可表示为:

?自g≈■(φ-θ)(14)

此信号送入环路滤波器,通过环路滤波器滤除掉高频分量与噪声,而允许其近似直流分量通过。通过这个直流分量控制压控产生载波,最终使得稳态相位差减少到一个很小的值,而频率与接收载波一致。由式(11)可见,当环路锁定时(?准-θ)是一个很小的值,?自e就相当于基带输出信号乘以一个常数因子,所以Costas环相当于同时具有提取载波和相干解调的功能。为使Costas环效果更好,要求两路低通滤波器性能完全一样,这对于数字滤波器来说则轻而易举。

环路滤波器为Costas环设计过程中最为重要的一个部分,它决定了环路捕获带的大小及捕获的时间[2]。

其传递函数为:

F(z)=c1+■(15)

上式中c1与c2值的选取是整个环路跟踪性能的关键。c1与c2的计算公式为:

■(16)

■(17)

式中:ξ为阻尼系数工程上一般设为0.707,Ko为NCO的控制字,Kd为鉴相增益,ωn为谐振频率,T为NCO的更新时间。

环路噪声带宽的计算公式为:

BL=■(1+4ξ2)(18)

式中:BL为环路噪声等效带宽,环路滤波器带宽的大小决定了整个锁相环的锁定时间和跟踪精度。

通过以上分析可知,由于经过混频和滤波处理,环路滤波器的输入信号带宽较小,可在较低的采样率下处理数据,所以需要采用带补偿的CIC滤波器,将正交混频后的信号做一个10倍抽取来降低采样率。这样既方便了数字环路滤波器的设计,又降低了后续匹配滤波器的阶数。为体现对频偏的捕捉能力,设置发送载波为1M,接收端NCO的静态输出频率为998K,频差为2K。

FPGA中得出载波同步模块的仿真波形如图7所示。

图7 Costas环仿真波形

上图中,第一路信号为DPSK调制信号,其载波为1M。第二路为环路滤波器的输出信号。第三路为混频后的信号。最后一路为对混频信号做10倍抽后的信号。由图可见,当环路滤波器锁定时,输出在一个常数附近波动,以此来控制NCO产生接收载波。随着环路滤波器的输出信号逐渐稳定,混频信号特征也变得更为明显,抽取后信号的波形也更为准确。

2.2 位同步

对于接收的码元,需要用一个同频率的脉冲序列去判决,且该序列的相位要与最佳采样时刻一致。在位同步模块设计中,采用数字锁相环的方法来解决此问题。其结构框图如下图8所示。

图8 数字锁相环原理框图

如果接收的码元速率为F(Baud),则锁相环输出的同步脉冲序列的频率也应该为F。令本地时钟频率为2NF,经过时钟整形模块生成2路频率为NF且相位差为180°的窄脉冲序列,这两路信号分别经扣除门、添加门、与或门后再N次分频便可得到频率为F的同步时钟。

经过零提取与相位比较器,可得到同步时钟与接收序列之间的相位超前与滞后脉冲。由于扣除门与添加门的输入脉冲的相位差为180°,即他们在时间上是错开的。若是同步时钟相位超前,通过相位比较器产生的超前脉冲,使得扣除门减少一个输入脉冲,其分频器则少计数一次,从而输出的同步时钟相位就滞后2π/N;如果同步时钟相位滞后,那么通过相位比较器产生的滞后脉冲,将使得添加门增加一个输入脉冲,其分频器则多计数一次,从而输出的同步时钟相位就提前2π/N[3]。这样反复不断的调整直到同步为止。

此方法每次都添减一个脉冲,它所能改变相位的大小为2π/N,在最坏的情况下(即同步信号与接收信号相位差为π),需要N/2次相位调整才能锁定,最大相位误差为2π/N。由此可见,当N越大,则同步误差越小,同步建立时间也较长;当N越小,则同步误差越大,同步建立时间也较短。

本模块中,设置本地高频时钟设为7.2M,两路相位差180°的窄脉冲频率为3.6M,接收码元速率72Kbps,即分频因子N为50(3600/72=50)。位同步模块的仿真图如图9所示。

图9 位同步仿真图

上图中由第一个光标处可见,输出的位同步信号clk_out明显滞后,通过反复的调整相位,在第二个光标处对齐。同步信号的周期,从时间轴的跨度上显示为0.01386ms,考虑到相位的不断调整及误差因素的存在,与编帧后72Kbps码元速率基本一致,设计无误。

【参考文献】

[1]John G.ProakiS.数字通信[M].4版.张力军,等.译.北京:电子工业出版社,2004.

[2]季仲梅,杨洪生,王大鸣,刘正军.通信中的同步技术及应用[M].北京:清华大学出版社,2008.

[3]张礼勇,楚鹤.数字通信系统中位同步信号提取的FPGA实现[J].哈尔滨理工大学学报,2008,13(6):94-97.

[责任编辑:汤静]

图4 DSPK调制仿真波形图

上图中,第一路信号srcos_720k为10倍内插前的波形,第二路信号srcos_7200k为10倍内插后的波形。可见,经10倍内插后信号变得更平滑。第三路信号是在7.2M的采样率下乘以1M载波所生成的时域波形图,最后送给DA完成DPSK调制工作。

2 DPSK解调模块

本节将介绍DPSK解调模块的设计与仿真验证,基本指标如下:

A/D与D/A速率:7.2MSPS

信源速率:64Kbps

中频载波频率:1MHz

滤波器阻带衰减:60dB

滤波器通带衰减:0.001

DPSK解调框图如图5所示。

图5 DPSK解调系统框图

DPSK的解调过程中,重难点在于载波同步与位同步的设计,下面就这两个重点进行研究。

2.1 载波提取与下变频

考虑到实际通信过程中,接收与发送载波之间存在着频差,就需要通过载波同步来解决此问题。常用的载波同步方法有:科斯塔斯环(Costas),平方环,插入导频法等。本方案将采用Costas环来实现载波同步。其原理框图如图6所示:

图6 Costas环原理图

假定环路已锁定,且输入信号为m(t)cos(ωct+θ),并设压控的输出及经90°相移之后的输出为:

?自a=cos(ωct+φ)(7)

?自b=sin(ωct+φ)(8)

式中:ωc为压控输出的频率,?准为输出的相位。

接收信号与两路正交载波相乘之后的表达式分别为:

■(9)

■(10)

这两路信号经低通滤波后为:

?自e=■m(t)cos(φ-θ)(11)

?自f=■m(t)sin(φ-θ)(12)

所得两个信号相乘后结果为:

?自g=■m2(t)sin2(φ-θ)(13)

式中:(?准-θ)为压控输出与接收载波的相位差,根据数学分析,有当(?准-θ)很小时,sin(?准-θ)≈(?准-θ),因m(t)为基带信号,为简化设m(t)=±1,则式(13)可表示为:

?自g≈■(φ-θ)(14)

此信号送入环路滤波器,通过环路滤波器滤除掉高频分量与噪声,而允许其近似直流分量通过。通过这个直流分量控制压控产生载波,最终使得稳态相位差减少到一个很小的值,而频率与接收载波一致。由式(11)可见,当环路锁定时(?准-θ)是一个很小的值,?自e就相当于基带输出信号乘以一个常数因子,所以Costas环相当于同时具有提取载波和相干解调的功能。为使Costas环效果更好,要求两路低通滤波器性能完全一样,这对于数字滤波器来说则轻而易举。

环路滤波器为Costas环设计过程中最为重要的一个部分,它决定了环路捕获带的大小及捕获的时间[2]。

其传递函数为:

F(z)=c1+■(15)

上式中c1与c2值的选取是整个环路跟踪性能的关键。c1与c2的计算公式为:

■(16)

■(17)

式中:ξ为阻尼系数工程上一般设为0.707,Ko为NCO的控制字,Kd为鉴相增益,ωn为谐振频率,T为NCO的更新时间。

环路噪声带宽的计算公式为:

BL=■(1+4ξ2)(18)

式中:BL为环路噪声等效带宽,环路滤波器带宽的大小决定了整个锁相环的锁定时间和跟踪精度。

通过以上分析可知,由于经过混频和滤波处理,环路滤波器的输入信号带宽较小,可在较低的采样率下处理数据,所以需要采用带补偿的CIC滤波器,将正交混频后的信号做一个10倍抽取来降低采样率。这样既方便了数字环路滤波器的设计,又降低了后续匹配滤波器的阶数。为体现对频偏的捕捉能力,设置发送载波为1M,接收端NCO的静态输出频率为998K,频差为2K。

FPGA中得出载波同步模块的仿真波形如图7所示。

图7 Costas环仿真波形

上图中,第一路信号为DPSK调制信号,其载波为1M。第二路为环路滤波器的输出信号。第三路为混频后的信号。最后一路为对混频信号做10倍抽后的信号。由图可见,当环路滤波器锁定时,输出在一个常数附近波动,以此来控制NCO产生接收载波。随着环路滤波器的输出信号逐渐稳定,混频信号特征也变得更为明显,抽取后信号的波形也更为准确。

2.2 位同步

对于接收的码元,需要用一个同频率的脉冲序列去判决,且该序列的相位要与最佳采样时刻一致。在位同步模块设计中,采用数字锁相环的方法来解决此问题。其结构框图如下图8所示。

图8 数字锁相环原理框图

如果接收的码元速率为F(Baud),则锁相环输出的同步脉冲序列的频率也应该为F。令本地时钟频率为2NF,经过时钟整形模块生成2路频率为NF且相位差为180°的窄脉冲序列,这两路信号分别经扣除门、添加门、与或门后再N次分频便可得到频率为F的同步时钟。

经过零提取与相位比较器,可得到同步时钟与接收序列之间的相位超前与滞后脉冲。由于扣除门与添加门的输入脉冲的相位差为180°,即他们在时间上是错开的。若是同步时钟相位超前,通过相位比较器产生的超前脉冲,使得扣除门减少一个输入脉冲,其分频器则少计数一次,从而输出的同步时钟相位就滞后2π/N;如果同步时钟相位滞后,那么通过相位比较器产生的滞后脉冲,将使得添加门增加一个输入脉冲,其分频器则多计数一次,从而输出的同步时钟相位就提前2π/N[3]。这样反复不断的调整直到同步为止。

此方法每次都添减一个脉冲,它所能改变相位的大小为2π/N,在最坏的情况下(即同步信号与接收信号相位差为π),需要N/2次相位调整才能锁定,最大相位误差为2π/N。由此可见,当N越大,则同步误差越小,同步建立时间也较长;当N越小,则同步误差越大,同步建立时间也较短。

本模块中,设置本地高频时钟设为7.2M,两路相位差180°的窄脉冲频率为3.6M,接收码元速率72Kbps,即分频因子N为50(3600/72=50)。位同步模块的仿真图如图9所示。

图9 位同步仿真图

上图中由第一个光标处可见,输出的位同步信号clk_out明显滞后,通过反复的调整相位,在第二个光标处对齐。同步信号的周期,从时间轴的跨度上显示为0.01386ms,考虑到相位的不断调整及误差因素的存在,与编帧后72Kbps码元速率基本一致,设计无误。

【参考文献】

[1]John G.ProakiS.数字通信[M].4版.张力军,等.译.北京:电子工业出版社,2004.

[2]季仲梅,杨洪生,王大鸣,刘正军.通信中的同步技术及应用[M].北京:清华大学出版社,2008.

[3]张礼勇,楚鹤.数字通信系统中位同步信号提取的FPGA实现[J].哈尔滨理工大学学报,2008,13(6):94-97.

[责任编辑:汤静]

图4 DSPK调制仿真波形图

上图中,第一路信号srcos_720k为10倍内插前的波形,第二路信号srcos_7200k为10倍内插后的波形。可见,经10倍内插后信号变得更平滑。第三路信号是在7.2M的采样率下乘以1M载波所生成的时域波形图,最后送给DA完成DPSK调制工作。

2 DPSK解调模块

本节将介绍DPSK解调模块的设计与仿真验证,基本指标如下:

A/D与D/A速率:7.2MSPS

信源速率:64Kbps

中频载波频率:1MHz

滤波器阻带衰减:60dB

滤波器通带衰减:0.001

DPSK解调框图如图5所示。

图5 DPSK解调系统框图

DPSK的解调过程中,重难点在于载波同步与位同步的设计,下面就这两个重点进行研究。

2.1 载波提取与下变频

考虑到实际通信过程中,接收与发送载波之间存在着频差,就需要通过载波同步来解决此问题。常用的载波同步方法有:科斯塔斯环(Costas),平方环,插入导频法等。本方案将采用Costas环来实现载波同步。其原理框图如图6所示:

图6 Costas环原理图

假定环路已锁定,且输入信号为m(t)cos(ωct+θ),并设压控的输出及经90°相移之后的输出为:

?自a=cos(ωct+φ)(7)

?自b=sin(ωct+φ)(8)

式中:ωc为压控输出的频率,?准为输出的相位。

接收信号与两路正交载波相乘之后的表达式分别为:

■(9)

■(10)

这两路信号经低通滤波后为:

?自e=■m(t)cos(φ-θ)(11)

?自f=■m(t)sin(φ-θ)(12)

所得两个信号相乘后结果为:

?自g=■m2(t)sin2(φ-θ)(13)

式中:(?准-θ)为压控输出与接收载波的相位差,根据数学分析,有当(?准-θ)很小时,sin(?准-θ)≈(?准-θ),因m(t)为基带信号,为简化设m(t)=±1,则式(13)可表示为:

?自g≈■(φ-θ)(14)

此信号送入环路滤波器,通过环路滤波器滤除掉高频分量与噪声,而允许其近似直流分量通过。通过这个直流分量控制压控产生载波,最终使得稳态相位差减少到一个很小的值,而频率与接收载波一致。由式(11)可见,当环路锁定时(?准-θ)是一个很小的值,?自e就相当于基带输出信号乘以一个常数因子,所以Costas环相当于同时具有提取载波和相干解调的功能。为使Costas环效果更好,要求两路低通滤波器性能完全一样,这对于数字滤波器来说则轻而易举。

环路滤波器为Costas环设计过程中最为重要的一个部分,它决定了环路捕获带的大小及捕获的时间[2]。

其传递函数为:

F(z)=c1+■(15)

上式中c1与c2值的选取是整个环路跟踪性能的关键。c1与c2的计算公式为:

■(16)

■(17)

式中:ξ为阻尼系数工程上一般设为0.707,Ko为NCO的控制字,Kd为鉴相增益,ωn为谐振频率,T为NCO的更新时间。

环路噪声带宽的计算公式为:

BL=■(1+4ξ2)(18)

式中:BL为环路噪声等效带宽,环路滤波器带宽的大小决定了整个锁相环的锁定时间和跟踪精度。

通过以上分析可知,由于经过混频和滤波处理,环路滤波器的输入信号带宽较小,可在较低的采样率下处理数据,所以需要采用带补偿的CIC滤波器,将正交混频后的信号做一个10倍抽取来降低采样率。这样既方便了数字环路滤波器的设计,又降低了后续匹配滤波器的阶数。为体现对频偏的捕捉能力,设置发送载波为1M,接收端NCO的静态输出频率为998K,频差为2K。

FPGA中得出载波同步模块的仿真波形如图7所示。

图7 Costas环仿真波形

上图中,第一路信号为DPSK调制信号,其载波为1M。第二路为环路滤波器的输出信号。第三路为混频后的信号。最后一路为对混频信号做10倍抽后的信号。由图可见,当环路滤波器锁定时,输出在一个常数附近波动,以此来控制NCO产生接收载波。随着环路滤波器的输出信号逐渐稳定,混频信号特征也变得更为明显,抽取后信号的波形也更为准确。

2.2 位同步

对于接收的码元,需要用一个同频率的脉冲序列去判决,且该序列的相位要与最佳采样时刻一致。在位同步模块设计中,采用数字锁相环的方法来解决此问题。其结构框图如下图8所示。

图8 数字锁相环原理框图

如果接收的码元速率为F(Baud),则锁相环输出的同步脉冲序列的频率也应该为F。令本地时钟频率为2NF,经过时钟整形模块生成2路频率为NF且相位差为180°的窄脉冲序列,这两路信号分别经扣除门、添加门、与或门后再N次分频便可得到频率为F的同步时钟。

经过零提取与相位比较器,可得到同步时钟与接收序列之间的相位超前与滞后脉冲。由于扣除门与添加门的输入脉冲的相位差为180°,即他们在时间上是错开的。若是同步时钟相位超前,通过相位比较器产生的超前脉冲,使得扣除门减少一个输入脉冲,其分频器则少计数一次,从而输出的同步时钟相位就滞后2π/N;如果同步时钟相位滞后,那么通过相位比较器产生的滞后脉冲,将使得添加门增加一个输入脉冲,其分频器则多计数一次,从而输出的同步时钟相位就提前2π/N[3]。这样反复不断的调整直到同步为止。

此方法每次都添减一个脉冲,它所能改变相位的大小为2π/N,在最坏的情况下(即同步信号与接收信号相位差为π),需要N/2次相位调整才能锁定,最大相位误差为2π/N。由此可见,当N越大,则同步误差越小,同步建立时间也较长;当N越小,则同步误差越大,同步建立时间也较短。

本模块中,设置本地高频时钟设为7.2M,两路相位差180°的窄脉冲频率为3.6M,接收码元速率72Kbps,即分频因子N为50(3600/72=50)。位同步模块的仿真图如图9所示。

图9 位同步仿真图

上图中由第一个光标处可见,输出的位同步信号clk_out明显滞后,通过反复的调整相位,在第二个光标处对齐。同步信号的周期,从时间轴的跨度上显示为0.01386ms,考虑到相位的不断调整及误差因素的存在,与编帧后72Kbps码元速率基本一致,设计无误。

【参考文献】

[1]John G.ProakiS.数字通信[M].4版.张力军,等.译.北京:电子工业出版社,2004.

[2]季仲梅,杨洪生,王大鸣,刘正军.通信中的同步技术及应用[M].北京:清华大学出版社,2008.

[3]张礼勇,楚鹤.数字通信系统中位同步信号提取的FPGA实现[J].哈尔滨理工大学学报,2008,13(6):94-97.

[责任编辑:汤静]