|
FPGA配合预失真技术的解调误码测试仪
http://www.cww.net.cn 2009年10月12日 11:12 EDN China
作 者:朱琳 李署坚 杨东凯
1引言 工程实践中,我们往往需要对所设计的硬件电路进行设计检验以保证其正常运作,从而才能进一步支持基于该硬件的复杂程序的正确调试。这样,特定的相应测试系统设计就显得尤为重要,不仅可以保证硬件的健康度,更能提高整个调试过程的效率,方便检测出相关错误。针对增补转发系统(Gapfiller)中QPSK解调程序调试的需求,分别对发射及接收电路设计了基于可编程逻辑器件(FPGA)的测试程序。为了保证其更强的纠错性和更可靠的验证能力,测试系统的设计原则应当是愈简易且愈典型为佳。目前国内对于QPSK调制解调的基本原理、具体实现以及解调中所涉及的载波同步问题都已有很深入的研究,而本文对此并不作过多讨论,仅仅是借助于一种昀简易的 QPSK调制解调系统来进一步阐述硬件设计检验的系统实现和测试方法,并昀终以解调的误码率大小作为本次检验的参照指标。 2预失真技术简介 采用QPSK等非恒定包络调制技术,这就对射频前端的功率放大器的线性度提出了较高的要求,否则会引起非线性失真,信号频谱扩展进而产生邻道干扰,导致接收端的BER性能下降。即使RF功率放大器能线性放大,这也会严重降低发射机的效率。而数字预失真技术不仅能有效改善交调分量的特性,而且他的电路结构简单,功耗小,成本低。 为使该测试系统能够更有效的检测出待测硬件的性能优劣,我们在发射系统中加入预失真器,以改善HPA输出信号的功率谱密度,降低传输信号的带外频谱扩展,如此接收端的误码率降低后,该测试系统拥有了更好的测试性能及应用的可靠性。 3设计实现 增补转发器主要完成DVB-S信号的接收工作。该系统采用全数字接收机概念设计,即在接收机的解调器前插入A/D变换器,把接收机下变频后的模拟信号变为数字信号,因此可采用全新的数字技术实现调制信号的解调。 3.1硬件总体结构 我们截取整个增补转发系统中所需测试的相关电路,构成待测系统可概括成如图1所示的结构框图。 该待测系统由发射和接收两部分组成,分别完成数据传输的QPSK调制发射及数字零中频的QPSK解调接收。 各个模块的芯片器件选取如下:FPGA选用Xilinx公司的Spartan3系列的XC3S2000; D/A,A/D转换器分别选用 Analog Device(ADI)公司的 AD9767和 AD9216;模拟正交上变频和下变频模块分别选用 ADI公司的 AD8349和 AD8347;VCO则选用 ADI公司的 AD4360,提供上、下变频所需的 2.6GHZ载波(注: AD4360为原系统发射板与接收板均采用的芯片,由于涉及到载波同步问题,实际的测试过程所需具体的方案选择将在第 4部分进行详细讨论和介绍)。 由于是零中频方案,QPSK调制仅需在FPGA中将00,01,10,11四种状态映射为14位二进制数以进入 AD9767作模拟转换,变换后的模拟信号在上变频器件中与载波实现复乘作为射频调制信号发射出去。接收机则是作与此相反的解调过程从而得到解调数据,并与发射数据相比较测出误码率。 3.2FPGA的设计与实现 3.2.1QPSK调制模块 调制模块在发射板的FPGA中实现,由发信源、串/并转换、映射和升余弦滚降整形滤波器构成,如图1中发射系统中所示。 (1)发信源 由于在发送端要产生一个替代实际通信信源的码序列作为测试信源,这类码序列昀好具有类似随机信号的性能,或者说具有噪声近似的性能,基于FPGA设计的实际情况,我们不可能产生纯粹的随机信号,因此只能采用具有一定周期性的类似于随机噪声的伪随机序列(PN码),本系统采用14级m码序列发生器,在每 16383个码之间需插入一个帧同步头,以表征每一帧的开始与结束。 (2)串/并转换 实现将一路串行数据分流成两路速率减半的并行数据,然后输入映射模块。 (3)映射串并转换后的两路数据分别作各自的BPSK调制,本方案中只需作1,0两种状态映射。 (4)滚降滤波器本方案采用IP核实现31阶FIR滤波器,经 MATLAB仿真验证和上板调试实践,能够对信号起到较好的整形作用,符合工程要求 3.2.2QPSK解调模块 接收信号经接收板的A/D转换后将两路10位二进制信号同时送入FPGA处理,流程如图 1中接收系统所示。 判决模块将滤波器整形后的10位I、Q路信号通过门限判决,映射为1或 0两种码,判决的门限值我们根据实践设定。随后经过并/串处理后便得到解调数据。 3.2.3预失真器 本方案采用查表法来实现预失真器,即使用两个独立的一维表——幅度表和相位表来近似逼近放大器非线性的逆函数,这两个表由两块RAM组成。预失真器根据输入信号的幅度计算查询表地址,并利用地址来查找相应的增益和相位,对输入信号增益进行补偿,然后再做相位旋转得到预失真器的输出。 图1中的预失真误差计算模块由反馈信号通过自适应算法来更新查找表。该算法基于乘法,相较于基于加法的预失真器,乘法对于反馈信号的相位不敏感,在反馈路径中不需要相位调整电路。若预失真器的输入x(n)是幅度ρ(n),相位 φ(n)的复信号,经过量化限幅后其地址输入为 Q[ρ(n)];若预失真器的输出 z(n)是幅度 r(n),相位 θ(n)的复信号,可得: z(n)=r(n)?exp[ jθ(n)] = Kn ?ρ(n) ?exp[ j(φ(n) +ψn)],式中 Kn和 ψn分别是查询表的地址映射值。查询表内容的昀终迭代关系式: Kn+1 (Q[ρ(n)]) = Kn(Q[ρ(n)])-α(A[r(n)]/ρ(n)-1) 和 ψn (Q[ρ(n)]) =ψn(Q[ρ(n)])-β(ω(n)-φ(n)),式中 α和 β是迭代步长,调整它们可以调节收敛速度。预失真器通过对以上两式的迭代,不停的更新查询表内所存储的数值,以达到对 HPA反函数曲线的逼近。 为了提高收敛速度,在本方案中采用了基于插值法的查询表内容更新策略:每一次递归并不仅仅改变当前地址的查询表内容,而是通过相应的调整策略更新相关联的多个地址的查询表内容。在实现时,使用一个与查询表地址数目一致的地址更新指示器,若地址N位置的数据已经过迭代,则指示器对此进行纪录;同时从N位置向上和向下进行搜索,查找距离N地址位置距离昀近的,且同样已经过迭代的两个地址位置 N-L1和 N+L2,二者之间其它地址的存储数据可以通过线性内插得到: D?(N-n)=(1-n/L1)?D(N)+ n/L1?D(N-L1), (1≤n≤L1)和 D?(N+n)=(1-n/L2)?D(N)+ n/L2?D(N+L2) , (1≤n≤L2)。 [1] [2] 编 辑:石美君
|
每日新闻排行 企业黄页 会议活动 |