1. 在本设计的软件流程详见系统框图。
由于模块很多所以在此不再一一介绍。
下面是设计中的几个主要模块。
其中分频模块,串并/并串模块比较简单,所以不再介绍。
信道估计模块的算法采用自己的LS 算法。
上变频DDC 由于边频很高,所以拟采用AD 公司的ad9857,如果板子上没有专用器件的话,则改成基于FPGA 的DDC 。
下边频在FPGA 中作。
图1 π/4-DQPSK 调制框图k θ图2 π/4-DQPSK 解调框图图3 8PSK 调制框图和顶层原理图2 调制解调器的系统实现在现代数字通信系统中,FPGA 的应用相当广泛。
尤其是在对基带信号的处理和整个系统的控制中,FPGA 不但能大大缩减电路的体积,提高电路的稳定性,而且先进的开发工具使整个系统的设计调试周期大大缩短。
本系统的核心算法也都是在FPGA 中实现的。
在调制端,数据首先在FPGA 中完成信道编码(本系统中此工作也可在DSP中完成),然后有数据调制,分路,内插和成形滤波,信号在AD9857中完成直接数字上变频和数模转换,经过运放得到带宽为200kHz的中频信号。
发FPGA图4 系统实现结构示意图在解调端,模拟信号通过A/D采样器被搬移到低中频,并转化为数字信号,再由FPGA中设计的DDC将其下变频至基带。
除此以外,收端FPGA还需要完成同步捕获,数据解调和信道解码,如果是相干解调还需要完成相干载波的恢复,最后输出解调数据。
2.1 成形滤波器设计信号的相位跳变是瞬时变化的,瞬时变化的相位会使信号频谱发生扩散,导致需要非常大的信道带宽才能无失真地传输信号。
为了把信号频谱限制在一个比较合理的范围内,对基带信号进行滤波是必不可少的。
但是基带滤波会使信号在时域上扩展,如果设计不好将在接收端引起严重的码间干扰(ISI)。
奈奎斯特第一准则(第一无失真条件)告诉我们:如果信号经传输后整个波形发生了变化,但只要其特定点的抽样值保持不变,那么用再次抽样的方法仍然可以准确无误的恢复原始信号。
也就是说,只要把通信系统包括发射机、信道和接收机的整个响应设计成在接收机端每个抽样时刻只对当前的符号有响应,而对其他符号的响应全等于0,那么ISI的影响便可消除。
这是对奈奎斯特准则的时域描述。
满足奈奎斯特准则的滤波器有许多种,最简单的是理想低通滤波器。
但是这种理想的滤波器是物理不可实现的,因为实际的滤波器不可能做到垂直截止,而且时域拖尾过长,运算时要求很高的精度且容易产生偏差。
在实际通信系统中广泛应用的成形滤波器是升余弦滤波器,这是因为它具有以下的优点:(1)可以消除理想低通滤波器设计的困难,有一平滑的过渡带;(2)通过引入滚降系数,改变传输信号的成形波形,可以减小抽样定时脉冲误差所带来的影响,即降低了码间干扰(ISI )。
升余弦滤波器的频率响应由下式决定:1 1 021111()[1cos(())] 22221 0 2f T T H f f f T T T f T απααααα⎧⎪⎪⎪⎨⎪⎪⎪⎩-≤≤--+=+-≤≤+≥ (2-1) 其中,α是滚降因子。
T 是符号间隔,1/s T R =(s R 是符号速率)。
整个系统的绝对带宽为12sB R α+= (2-2) 该传输函数的时域响应为 222s i n /c o s /()/14/t T t T h t t T t Tπαππα=- (2-3) 由上式可以计算出,升余弦滚降信号在前后抽样处的串扰始终为零,因而满足抽样值无失真的充要条件。
滚降系数α愈小,传输频带愈小,但波形的起伏愈大,对接收端定时的要求增加。
滚降系数α愈大,虽然波形的起伏愈小,但传输频带就愈大。
当0α=时,升余弦滚降信号变成了上面提到的理想低通滤波器,此时信号的频带最窄;当1α=时,升余弦滚降信号的频带最宽,为理想低通滤波器的2倍。
所以,升余弦滚降滤波器是以频带的扩大来换取码间干扰的减小。
考虑到接收波形的再生判决中还要再抽样一次以得到无失真波形的抽样值,而理想瞬时抽样不可能实现,也就是抽样时刻不可能完全没有误差,因此,为了减小抽样定时脉冲误差所带来的影响,滚降系数α不可能太小,通常要求0.2α≥。
而在高速数字传输系统中,还应该考虑频带利用率,故滚降系数的范围一般为0.20.8。
当0.4α=,阶数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所示。
其表达式可以写为下式:110(1)()[](1)R M N RM NN k NICN k z H z H H z z ----=-===-∑ (2-4) 其频率响应可以写成下式:s i n ()[]s i n (/)NMfH f f R ππ= (2-5)其中N ,R ,M 分别表示滤波器中积分和梳状部分的级数,抽取率的大小以及差分延时的大小。
CIC 的性能指标主要由旁瓣抑制A ,阻带衰减α,以及带内容差δ等参数指标决定。
它们与参数N ,R ,M 的关系分别为(13.46) dB A N =⨯20lg N b α=⨯20l g s i n bN bπδπ=⨯ (2-6)其中b 表示带宽比例因子。
图7给出了一个三阶CIC 滤波器,该滤波器包括一个三阶积分器和一个三阶梳状部分,并且采样速率降低了R 倍,即R 倍抽取。
高抽取速率滤波器的延迟数量D 的典型值是1或2。
设滤波器输入字宽为M 位,D = 2,即DR = 2R ,需要的内部字宽为23log (2)N M R =+,以保证不会产生运行时间溢出。
IIIC C C R图7 三级CIC 滤波器,每级N 位综合考虑带外衰减特性和带内容差问题,CIC 滤波器的级联数不宜过大,本系统中采用三级32倍抽取的CIC 滤波器。
图3.17为FPGA 中同相支路数据滤波前后的谱特性分析,滤波后的频谱中不断衰减的梳状部分清晰可见。
如果CIC 的级数过大,抽取倍数过多,通带的衰减将会导致信号失真,这时我们需要对通带进行补偿。
由于本系统中抽取倍数并不高,所以补偿滤波器的设计这里不做过多讨论。
2.4 匹配相关器的同步捕获数字匹配相关是伪随机序列的一种快速捕获方法,能大大缩小捕获时间。
在捕获过程中,接收信号与本地序列连续地进行相关运算,每进行一次相关运算得到的相关结果都与一门限相比较。
由于本地序列是静止的,相关过程相当于接收信号滑过本地序列,每来一个数据产生一个相关结果,当滑到两个序列的相位对齐时,必有一个很高的相关峰输出,此时本地序列与接收信号同步。
匹配滤波器的相关运算结果为1(,)(,)(,)0L I Q n I Q n I Q n S u m D a t a C -==⋅∑ (2-7)其中,n C 为伪随机码,L 为伪随机码序列长度。
相关峰为22I Q Mag Sum Sum =+ (2-8)本文系统采用仿真提出的能量检测法,帧头包含L 位巴克码,BPSK 调制方式,而数据采用π/4-DQPSK 调制方式,同时实现位同步和帧同步。
根据巴克码序列的自相关特性,先对I 、Q 两路分别做滑动相关,窗口长度为L ,然后将相关的结果平方相加。
简单起见,实际系统中只抽取四路,主时钟频率为四倍符号速率,流水线设计。
为方便描述,给出如下并行结构图:2222...图8 FPGA 中同步捕获实现框图FPGA 中匹配相关模块时序对应关系如图8所示,其中Mag1,Mag2,Mag3,Mag4为四路相关峰信号,DET 是位同步指示信号,它对应着四路极大值中的最值。
在实际系统中,我们将并行结构改为更适合FPGA 实现的流水线结构,它可以使程序更紧凑,占用更少的逻辑单元。
经过在FPGA 中对这两种方法的设计比较,发现流水线结构大概可节省2/3的逻辑单元。
上述的匹配相关器可同时实现突发检测、位同步和帧同步,定时误差最大为1/8码片长度。
2.5 频偏估计和环路滤波在本方案的设计中,帧头包括两部分,L 位的巴克码和M 位的训练序列,巴克码序列用做位定时恢复,训练序列用来进行频偏估计。
为了简化算法,巴克码和训练序列均采用BPSK 调制方式。
频率误差信号的产生是通过比较前后码元相位误差()rot k φ∆而得到的,并由此产生频率控制信号AFC ,通过AFC 对本地载波的不断调整,从而使本地载波和接收信号载波达到同步,算法如下:假设I 、Q 两路的第k 个经下变频和滤波后的输出分别为I k 、Q k ,则有:()11k k k k Dot k I I Q Q --=+(2-9)()11k k k k Cross k Q I I Q --=- (2-10)设接收到的第k 个码元为k k k j in jQ I e k A k S +=⋅=)()()(φ (2-11))]()([)]1()([)1()()((mod))1()()1()()1()()1()()(k k j k k j k j k j in in out rot ek A k A e k A k A e k A e k A k S k S k S φφφφφφ∆-∆---⋅-⋅=⋅-⋅=⋅-⨯⋅=-⨯= (2-12)其中)((mod)k φ∆为前后码元调制相位差,对应于BPSK 其可能的相位取值分别为:o 0和o 180。