资源描述
在本设计的软件流程详见系统框图由于模块很多所以在此(完整版)
(文档可以直接使用,也可根据实际需要修改使用,可编辑 欢迎下载)
1. 在本设计的软件流程详见系统框图。由于模块很多所以在此不再一一介绍。
下面是设计中的几个主要模块。其中分频模块,串并/并串模块比较简单,所以不再介绍。
信道估计模块的算法采用自己的LS算法。上变频DDC由于边频很高,所以拟采用AD公司的ad9857,如果板子上没有专用器件的话,则改成基于FPGA的DDC。下边频在FPGA中作。
图1 π/4-DQPSK调制框图
图2 π/4-DQPSK解调框图
图3 8PSK调制框图和顶层原理图
2 调制解调器的系统实现
在现代数字通信系统中,FPGA的应用相当广泛。尤其是在对基带信号的处理和整个系统的控制中,FPGA不但能大大缩减电路的体积,提高电路的稳定性,而且先进的开发工具使整个系统的设计调试周期大大缩短。本系统的核心算法也都是在FPGA中实现的。
在调制端,数据首先在FPGA中完成信道编码(本系统中此工作也可在DSP中完成),然后有数据调制,分路,内插和成形滤波,信号在AD9857中完成直接数字上变频和数模转换,经过运放得到带宽为200kHz的中频信号。
图4 系统实现结构示意图
在解调端,模拟信号通过A/D采样器被搬移到低中频,并转化为数字信号,再由FPGA中设计的DDC将其下变频至基带。除此以外,收端FPGA还需要完成同步捕获,数据解调和信道解码,如果是相干解调还需要完成相干载波的恢复,最后输出解调数据。
2.1 成形滤波器设计
信号的相位跳变是瞬时变化的,瞬时变化的相位会使信号频谱发生扩散,导致需要非常大的信道带宽才能无失真地传输信号。为了把信号频谱限制在一个比较合理的范围内,对基带信号进行滤波是必不可少的。但是基带滤波会使信号在时域上扩展,如果设计不好将在接收端引起严重的码间干扰(ISI)。
奈奎斯特第一准则(第一无失真条件)告诉我们:如果信号经传输后整个波形发生了变化,但只要其特定点的抽样值保持不变,那么用再次抽样的方法仍然可以准确无误的恢复原始信号。也就是说,只要把通信系统包括发射机、信道和接收机的整个响应设计成在接收机端每个抽样时刻只对当前的符号有响应,而对其他符号的响应全等于0,那么ISI的影响便可消除。这是对奈奎斯特准则的时域描述。
满足奈奎斯特准则的滤波器有许多种,最简单的是理想低通滤波器。但是这种理想的滤波器是物理不可实现的,因为实际的滤波器不可能做到垂直截止,而且时域拖尾过长,运算时要求很高的精度且容易产生偏差。在实际通信系统中广泛应用的成形滤波器是升余弦滤波器,这是因为它具有以下的优点:
(1)可以消除理想低通滤波器设计的困难,有一平滑的过渡带;
(2)通过引入滚降系数,改变传输信号的成形波形,可以减小抽样定时脉冲误差所带来的影响,即降低了码间干扰(ISI)。
升余弦滤波器的频率响应由下式决定:
(2-1)
其中,是滚降因子。是符号间隔,(是符号速率)。整个系统的绝对带宽为
(2-2)
该传输函数的时域响应为
(2-3)
由上式可以计算出,升余弦滚降信号在前后抽样处的串扰始终为零,因而满足抽样值无失真的充要条件。滚降系数愈小,传输频带愈小,但波形的起伏愈大,对接收端定时的要求增加。滚降系数愈大,虽然波形的起伏愈小,但传输频带就愈大。当时,升余弦滚降信号变成了上面提到的理想低通滤波器,此时信号的频带最窄;当时,升余弦滚降信号的频带最宽,为理想低通滤波器的2倍。所以,升余弦滚降滤波器是以频带的扩大来换取码间干扰的减小。
考虑到接收波形的再生判决中还要再抽样一次以得到无失真波形的抽样值,而理想瞬时抽样不可能实现,也就是抽样时刻不可能完全没有误差,因此,为了减小抽样定时脉冲误差所带来的影响,滚降系数不可能太小,通常要求。
而在高速数字传输系统中,还应该考虑频带利用率,故滚降系数的范围一般为。
当,阶数N=91,每个码元采样点数M=8时,滤波器的冲激响应和频率响应分别如图5.1 a),图5.2 b)所示。
a) 升余弦滤波器的冲激响应 b) 升余弦滤波器的频率响应
图5 成形滤波器特性
a) 滤波前频谱 b) 滤波后频谱
2.2 直接数字下变频器
根据Nyquist采样定律可知,如果中频频率为36.864MHz时,采样频率必须超过73.728MHz,而一般情况采样频率为4倍载波频率,即147.456MHz。如此高的采样频率对系统提出了很高的要求:高速采样AD和很高的处理带宽。考虑本文系统的中频信号是一个带通信号,由Nyquist带通抽样定理[8]可知,抽样速率并不需要一定大于信号最高频率的2倍,用较低的采样速率也可以正确地反映带通信号的特性。根据上面的分析,本文系统采用单AD的直接中频带通采样方案。这不仅大大降低了系统的工作频率和处理带宽,还大大降低了系统的成本和复杂度。
图6 直接数字下变频器原理图
图6中的FCW为频率控制字,用于设定NCO所产生信号的频率值,CLK为NCO的工作时钟,AFC为自适应频率控制字,用于载波跟踪,由后面要讲述的鉴频器产生,I、Q为经过下变频器后得到的正交和同相两路信号,ROM为正余弦表,每张表暂存1024个样本值。
接收的模拟信号频率为36.864MHz,首先进行AD采样,采样时钟频率为16.384MHz,AD采样后频谱被搬移到4.096MHz的低中频处,再由FPGA中设计的直接数字下变频器DDC将中心频率搬至零频。
2.3 积分梳状滤波器
高分解速率滤波器的一种非常有效的结构就是由Hogenauer引入的“级联积分器梳状(cascade integrator comb,CIC)”滤波器。CIC滤波器(也称为Hogenauer滤波器)已经被证明是在高速抽取或插值系统中非常有效的单元。主要应用就是无线通信,其中包括以RF(Radio Frequency,射频)或者IF(Intermediate Frequency,中频)为采样速率的信号需要降低到基带。由于其不需要复杂的乘法运算,因此非常适合于前端的高速滤波。
本系统FPGA前端采样速率为16.384MHz,128倍抽取。如果采用199阶FIR滤波器,做一次卷积运算大概需要100次乘法运算,100次移位运算和99次加法运算,这将直接导致系统前端的负荷非常大,而且需要占用大量的逻辑资源。因此我们选择更加有效的级联积分梳状结构,即CIC滤波器。
CIC 滤波器是一种基于零极点相抵消得FIR滤波器,它由积分和梳状两部分组成,其结构原理如图7所示。其表达式可以写为下式:
(2-4)
其频率响应可以写成下式:
(2-5)
其中N,R,M分别表示滤波器中积分和梳状部分的级数,抽取率的大小以及差分延时的大小。
CIC的性能指标主要由旁瓣抑制A,阻带衰减,以及带内容差等参数指标决定。它们与参数N,R,M的关系分别为
(2-6)
其中b表示带宽比例因子。
图7给出了一个三阶CIC滤波器,该滤波器包括一个三阶积分器和一个三阶梳状部分,并且采样速率降低了R倍,即R倍抽取。高抽取速率滤波器的延迟数量D的典型值是1或2。
设滤波器输入字宽为M位,D = 2,即DR = 2R,需要的内部字宽为,以保证不会产生运行时间溢出。
图7 三级CIC滤波器,每级N位
综合考虑带外衰减特性和带内容差问题,CIC滤波器的级联数不宜过大,本系统中采用三级32倍抽取的CIC滤波器。图3.17为FPGA中同相支路数据滤波前后的谱特性分析,滤波后的频谱中不断衰减的梳状部分清晰可见。
如果CIC的级数过大,抽取倍数过多,通带的衰减将会导致信号失真,这时我们需要对通带进行补偿。由于本系统中抽取倍数并不高,所以补偿滤波器的设计这里不做过多讨论。
2.4 匹配相关器的同步捕获
数字匹配相关是伪随机序列的一种快速捕获方法,能大大缩小捕获时间。在捕获过程中,接收信号与本地序列连续地进行相关运算,每进行一次相关运算得到的相关结果都与一门限相比较。由于本地序列是静止的,相关过程相当于接收信号滑过本地序列,每来一个数据产生一个相关结果,当滑到两个序列的相位对齐时,必有一个很高的相关峰输出,此时本地序列与接收信号同步。
匹配滤波器的相关运算结果为
(2-7)
其中,为伪随机码,为伪随机码序列长度。相关峰为
(2-8)
本文系统采用仿真提出的能量检测法,帧头包含L位巴克码,BPSK调制方式,而数据采用π/4-DQPSK调制方式,同时实现位同步和帧同步。
根据巴克码序列的自相关特性,先对I、Q两路分别做滑动相关,窗口长度为L,然后将相关的结果平方相加。简单起见,实际系统中只抽取四路,主时钟频率为四倍符号速率,流水线设计。为方便描述,给出如下并行结构图:
图8 FPGA中同步捕获实现框图
FPGA中匹配相关模块时序对应关系如图8所示,其中Mag1,Mag2,Mag3,Mag4为四路相关峰信号,DET是位同步指示信号,它对应着四路极大值中的最值。在实际系统中,我们将并行结构改为更适合FPGA实现的流水线结构,它可以使程序更紧凑,占用更少的逻辑单元。经过在FPGA中对这两种方法的设计比较,发现流水线结构大概可节省2/3的逻辑单元。
上述的匹配相关器可同时实现突发检测、位同步和帧同步,定时误差最大为1/8码片长度。
2.5 频偏估计和环路滤波
在本方案的设计中,帧头包括两部分,L位的巴克码和M位的训练序列,巴克码序列用做位定时恢复,训练序列用来进行频偏估计。为了简化算法,巴克码和训练序列均采用BPSK调制方式。
频率误差信号的产生是通过比较前后码元相位误差而得到的,并由此产生频率控制信号AFC,通过AFC对本地载波的不断调整,从而使本地载波和接收信号载波达到同步,算法如下:
假设I、Q两路的第k个经下变频和滤波后的输出分别为Ik、Qk,则有:
(2-9)
(2-10)
设接收到的第k个码元为
(2-11)
(2-12)
其中为前后码元调制相位差,对应于BPSK其可能的相位取值分别为:和。为前后码元的相位误差,主要由接收信号和本地载波之间的频率偏差引起的。当准确同步时,可近似为零,因此有
(2-13)
其中,为的实部,为的虚部。
(2-14)
经过下式得到频率误差信息,正比于。
(2-15)
环路滤波器完成对鉴频器产生的频率误差信息进行滤波和修正下变频器的载波同步,其原理框图见图9,传输函数为
(2-16)
式中K1为直通放大系数,K2为环路积分系数。图中的“Sign”表示求输入的符号,“AFC_LF”为经过环路滤波后得到的AFC信息。
图9 频偏估计和环路滤波原理框图
图4 FPGA中同步捕获实现框图
图5 直接数字下变频器原理图
图6 频偏估计和环路滤波原理框图
1. 在星型16QAM的内环上8个相量的振幅为,外环上8个相量的振幅为。设在第k个码元取样时刻,接收信号的振幅值为,相位样值为,则解调器需要根据和来判定信号振幅是否发生了很大变化,以便确定当前码元的第一个比特是否为“1”。其实这便是2DASK的解调。
一种采用自适应判决门限的判决方法如下【8】:
如果 (1)
或 (2)
其中,(和如图4.7中所示) (3)
则表明信号振幅已发生显著变化,判决结果为“1”。如果式(1)和式(2)都不满足,则判决结果为“0”。通过此方法判决,我们可以得到16QAM码元的第一个比特。
在该判决方法中,判决门限取决于,而不是绝对门限值。如果在衰落信道中,相量的振幅发生变化,那么判决门限也随之改变。
由于星型16QAM码元的剩余三个比特代表相位,为此判决算法类似于8DPSK解调,具体方法如下:
假设没有定时偏差和码间干扰,第k个码元判决处的同相和正交基带分量分别记做,,相位分量记为,第k-1个码元判决处的同相和正交基带分量分别记做,,相位分量记为。根据点乘和叉乘运算的定义,可得:
(4)
式中,表示当前码元的相位差。
因为星型16QAM差分解调时相差有0,,,,八种可能取值,首先通过(,)将组成的向量分别逆时针旋转,,,角度,分别得到旋转后的相量的正弦值a,b,c,d为:
(5)
然后,按照如下规则判决:
(6)
根据式(6),就可得到剩余三个比特信息。当收发两端存在固定频差时对解调性能无明显影响。但是当存在相位漂移时,将会使误码率增加。
展开阅读全文