刘鹏(北京理工大学电子工程系, 北京100081)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文章编号:1009-8119(2005)04-0043-03
基于FPGA的自适应QPSK解调器的设计实现
刘鹏
(北京理工大学电子工程系,北京100081)
摘要根据软件无线电的思想,提出了一种新颖的数字信号处理算法,对QPSK信号的相位进行数字化处理,从而实现对QPSK信号的解调.该算法允许收发两端载波存在频差,用数字锁相实现收发端载波的同步,在频偏较大的情况下,估算频偏的大小,自适应设置环路的带宽,实现较短的捕获时间和较好的信噪性能。
整个设计基于XILINX公司的ISE开发平台,并用Virtex-II系列FPGA实现。
用FPGA实现调制解调器具有体积小、功耗低、集成度高、可软件升级、扰干扰能力强的特点,符合未来通信技术发展的方向。
关键词QPSK,FPGA,FFT,软件无线电
Design and Realization of Self Adaptive QPSK Demodulation Based on FPGA Technique
Liu Peng
(Department of Electronic Engineering, Beijng Institute of Technology, Beijing 100081)
Abstract This paper describes a new design of QPSK demodulator based on the Xilinx's FPGA device. It is in accord with software radio and digital signal process. The design can adaptively select the parameter to make the demodulator synchronize more quickly and get better performance. The detail of design and emulate is also given in the paper .The implement using little slices and can be widely used in various fields.
Keywords QPSK,FPGA,FFT,Software Radio
1 引言
现代通信的各个领域均向数字化方向发展,解调技术也不例外.本文针对QPSK调制方式,提出一种全新的数字解调算法,按照软件无线电的设计思想,先进行计算机模拟仿真,具体实现中充分利用FPGA的特点,实现了对20MHz 中频QPSK信号的解调。
该解调器能够解调较高的码元速率,自适应设置环路滤波器的带宽得到较快的同步时间和较好的信噪比。
2 解调器的分析及设计
在全数字实现QPSK解调的过程中,与AD接口的前端需要很高的处理速度,但是这些处理的算法又比较简单,FPGA 器件独特的并行实时处理的特点刚好可以在这里得到体现,因此,ADC以后的数字信号处理全部由FPGA来实现。
解调方框图如图1。
I,Q两路输出
图1 解调方框图
解调器主要有数字下变频,数字AGC,码元定时部分,载波同步部分,FFT自适应环路带宽设置部分。
2.1 数字下变频
为了恢复基带信号,需要对AD以后的低中频信号再进行下变频。
在实现中,是将AD以后的数字信号与NCO产生
的一对相互正交的本地载波相乘,然后分别经过低通滤波器滤波得到正交的两路基带信号,分别称作同相分量
)
(t z BI 和正交分量)
(t z BQ ,此时我们得到了一个包含所有的调制信息的零中频的解析信号,即:
)()()(t jz t z t z BQ BI B +=
式中)(cos )()
(t t a t z BI θ=,)(sin )()(t t a t z BQ θ=,其中)(t θ在系统未同步之前包含NCO 与载波之间的频差和
相差信息。
与模拟下变频相比,由于两个正交本振的形成是通过Matlab 运算得到的查找表,相乘是通过数学运算来完成的,所以得到的两路基带信号不存在幅度差异,理论上其正交性是完全可以得到保证的,但由于存储精度的影响,存在量化误差。
2.2 载波同步及位同步
接收端进行了数字下变频后,由于信道中的多普勒频偏和发送端接收端的时钟频偏,得到的零中频信号还有频偏。
载波同步实际上是用锁相环,消除剩余的频偏。
FPGA 实现时,主要分为一下几部分:旋转变换,误差提取,及相位跟踪部分。
2. 2.1误差的提取
二进制数据a(t),b(t)对频率f 的一对正交信号调制并相加,然后经过带通滤波(BPF)后,发射出去,接收机接收到的信号是受到噪声干扰的已调制信号,该信号再经频率为f 的正交信号数字下变频,低通滤波后,得到一组同相信号I(n)和正交信号Q(n):
2000010000)sin()()cos()()()sin()()cos()()(n n n a n n b n Q n n n b n n a n I ++++=++-+=ψωψωψωψω
为了消除剩余频偏,可以通过坐标旋转而获得:
φφφ
φsin )(cos )()('sin )(cos )()('n I n Q n Q n Q n I n I -=+=
经过旋转变换得:
'
2
'
1)sin()()cos()()(')sin()()cos()()('n n a n b n Q n n b n a n I +∆+∆=+∆-∆=φφφφ
由上式可知,如果相位跟踪的好,估计相位比较接近真正的相位,φ∆接近0,I ’(n )和Q ’(n )就是解调出的数据,解调器的主要工作就是准确的估计出相位,完成解调。
这个过程是用数字处理方法完成的,它类似于模拟信号处理的鉴相器。
相位误差信号实际上就是鉴相器的输出,它的大小反映了环路跟踪相位的程度,而它驱动环路工作时,必须使该误差信号的绝对值有进一步减小的趋势。
对QPSK 信号,提取误差的公式为:
)]('[)(')]('[)('n Q SGN n I n I SGN n Q c
-=ε,可以给出2/1)(2
=n a 时,不同的ρ
值下提取的误差
的曲线如图2所示。
图2 误差曲线
2.2.2相位跟踪及参数的选择
相位跟踪是用误差信号驱动一个二阶环路滤波器来实现的。
c
c
n f n f k n f k n n εεφφ+=+++=+)()1()()()1(21
φ就是得到的相位估计。
对上式取z 变换得:
)
()()()
()()()(21Z Z f Z Z f Z k Z f k Z Z Z εεφφ+=++=
由图3可以看出:在相差较小的时候,e θ和ε近似线性关系c e
k εθ=*。
K 为鉴相增益。
)
()()()
()()()(21Z k Z f Z Z f Z k k Z f k Z Z Z e e θθφφ+=++=
由上式可以求得系统的开环传递函数:
2
210)
1()]
1([)(/)()(--+=
=Z Z k k k k Z Z Z G e θθ 由开环传递函数和闭环传递函数的关系可以求得闭环传递函数为:
)1()1()1()(1)
()(21221-++--+=
+=
Z k k k k Z Z k k k k Z G Z G Z H 考虑与之等效的二阶模拟环路的传递函数:(滤波器为有源比例积分滤波器)
2
222)(n
n n n s s s
s S H ωηωωηω+++=
式中:n n f πω2=为自然角频率,η为阻尼因子,由拉氏变换和z 变换的关系:
ST e Z sT +≈=1,当采样频率f 比环路的自然频率大很多的时候,可以求出:
)
2(4/)1(22
2
2
12η
ηωK K K T K K s n ==
由模拟锁相环的知识,当输入的相位信号为阶越信号时,二阶锁相环的快捕带为:
)3(2200n
f ηωπω==
如果输入的频偏落在所设计的锁相环解调器的快捕带内,不用跳周就能捕获,因此用的捕获时间很少。
因此,只要能够知道输入频率f 。
,就可以根据式 (1)(2)(3) 完全确定出参数K1,K2的最佳选择。
笔者在FPGA 中用verilog 硬件描述语言实现了载波同步,modelsim 仿真如图3所示。
图3
图4为verilog 硬件描述语言实现后,用modelsim 仿真出的载波同步的时序图, cosph 就是剩余的频偏。
e 为鉴相器输出的鉴相误差,由图可知误差经过一段时间的振荡,会趋近于零。
仿真没有考虑位同步,只仿真了载波同步,同步时间比较短。
2.2.3位同步
位同步的工作就是找出每个码元的最佳采样点。
由于对调制信号进行了成型滤波,滤波之后的信号已经不再是方波,最佳采样时刻定义为信号眼图中“眼睛”睁开最大的时刻,此时已调信号的平均瞬时功率最大。
算法比较简单,用一阶锁相环就可以实现,很多文章都有阐述,本文不再重复。
整个同步过程用锁相环实现,位同步和载波同步都是整个环路的一部分。
整个环路用verilog 硬件描述语言实现,modelsim 仿真图形如图4所示。
图4
图4中e 为相位误差,eb 为位同步误差,当位同步误差超过门限值时就调整一次取样时刻,如图中要通过两次调整才获得位同步。
与图3相比,相位误差振荡的时间比较长,因为图3中仿真没有仿真位同步。
2.3 FFT 估计频偏自适应选择环路参数
如前所述只要能够知道输入频率f ,就能比较好的设置环路的带宽。
估算输入频率f 。
的方法很多,这里采用了
常用的快速付立叶变换来求出f 。
的估计值。
在BP5K /QP5K 已调信号的功率谱中,信号的能量大部分都集中在f 。
频率附近。
用这种方法估计出的频率f 。
是很精确的。
一般情况下,采用256点的FFT 就能确定出fo 的值,而运算量也适中。
采用自适应环路滤波的方法主要是针对信道频率稳定度差,这种解调器的具体工作过程为:刚开机时,可以预置K 1,K 2,使坏路带宽很大,这样利于快捕,当捕获完成,进入跟踪阶段时,再根据估计出的f 。
重新调整K 1,K 2的值,使环路带宽能够与输入信号的带宽相匹配,进一步改善解调器输出信噪比。
在以后的解调过程中,解调器还要经常(比如说一帧二次,或者若干帧估算f 。
的值,根据估算值f 。
,动态地调整参数K1,K2。
算法首先读取N 点解扩后的复数相关值,并进行位序转换,然后作N 点的FFT 变换,对变换结果求模取幅度值,接着对N 点的幅度值做抛物插值运算估计出最大幅度峰值点位置也即频率偏移值,最后将估计值计算环路参数,实现快速捕获。
理论上采用FFT 的方法得到的频谱估计存在一定的频率检测精度。
假定
s f 为做FFT 前所获取的复数相
关值的采样速率,它数值上等于码元速率
b R ,那么
FFT 估计的范围为
⎥⎦
⎤
⎢⎣⎡-2,2s s f f ,频率分辨率为
N
f f s
=
∆,其估计精度为
2
f
∆。
3 结束语
本设计全部由 Verilog 编程实现。
整个设计已通过ModelSim 进行了功能仿真和时序仿真验证,并用ISE 进行了综合、映射、布局布线,成功下载到 Xilinx 公司的XC2V1000中运行,经验证满足预期的设计指标要求,能够自适应设置环路带宽参数很快的获得同步,而且有较好的误码性能。
证明随着可编程器件的发展 ,传统的调制解调方式可以用软件与硬件相结合的方法来实现,它具有体积小、功耗低、集成度高、可软件升级、扰干扰能力强的特点,符合未来通信技术发展的方向。
参考文献
1 B.Hogenauer. An Economical Class of Digital Filters for Decimation and Interpolation[J]. IEEE Trans. On Acoust., Speech, Signal Processing,1981,29(2): 155-162
2 Peled ,B. Liu. A New Hardware Realization of Digital Filters[J]. IEEE Trans. on Acoust., Speech, Signal Processing, 1974,22: 456-462
3 杨小牛,楼才义,徐建良.软件无线电原理与应用[M]. 北京:电子工业出版社,2001:8-206
4 曹志刚,钱亚生. 现代通信原理[M]. 北京:清华大学出版社, 1992:191-317。