1、1. 在本设计的软件流程详见系统框图。由于模块很多所以在此不再一一介绍。下面是设计中的几个主要模块。其中分频模块,串并/并串模块比较简单,所以不再介绍。信道估计模块的算法采用自己的 LS 算法。上变频 DDC 由于边频很高,所以拟采用 AD 公司的 ad9857,如果板子上没有专用器件的话,则改成基于 FPGA 的 DDC。下边频在 FPGA中作。串并变换差分相位编码L P FL P F放大器码流m,Ik,QkkIkcos()wtsin()cwt()st图 1 /4-DQPSK调制框图c o s w ts i n w tL P FL P F抽样抽样差分相位解码并串变换W ( t )Z ( t
2、)1kZ1k1()kectgfkfk:图 2 /4-DQPSK解调框图数据存储模块内插模块N = 8成形滤波模块F P G A与A D 9 8 5 7接口电路基带信号数据截短模块A D 9 8 5 7运放M A X 4 1 0 3时钟分频模块系统时钟同步帧头模块差分编码模块串并变换模块巴克码发生器8 P S K 中频信号图 3 8PSK 调制框图和顶层原理图2 调制解调器的系统实现在现代数字通信系统中,FPGA 的应用相当广泛。尤其是在对基带信号的处理和整个系统的控制中,FPGA 不但能大大缩减电路的体积,提高电路的稳定性,而且先进的开发工具使整个系统的设计调试周期大大缩短。本系统的核心算法也
3、都是在 FPGA 中实现的。在调制端,数据首先在 FPGA 中完成信道编码(本系统中此工作也可在DSP 中完成),然后有数据调制,分路,内插和成形滤波,信号在 AD9857 中完成直接数字上变频和数模转换,经过运放得到带宽为 200kHz 的中频信号。信道编码数据调制成形滤波成形滤波并串变换串行数据发 F P G AD D S( D / A )运算放大器I F同相跟随器A / DI FD D C匹配相关匹配相关数据解调信道解码收 F P G A输出数据图 4 系统实现结构示意图在解调端,模拟信号通过 A/D 采样器被搬移到低中频,并转化为数字信号,再由 FPGA 中设计的 DDC 将其下变频至
4、基带。除此以外,收端 FPGA 还需要完成同步捕获,数据解调和信道解码,如果是相干解调还需要完成相干载波的恢复,最后输出解调数据。2.1 成形滤波器设计信号的相位跳变是瞬时变化的,瞬时变化的相位会使信号频谱发生扩散,导致需要非常大的信道带宽才能无失真地传输信号。为了把信号频谱限制在一个比较合理的范围内,对基带信号进行滤波是必不可少的。但是基带滤波会使信号在时域上扩展,如果设计不好将在接收端引起严重的码间干扰(ISI ) 。奈奎斯特第一准则(第一无失真条件)告诉我们:如果信号经传输后整个波形发生了变化,但只要其特定点的抽样值保持不变,那么用再次抽样的方法仍然可以准确无误的恢复原始信号。也就是说,
5、只要把通信系统包括发射机、信道和接收机的整个响应设计成在接收机端每个抽样时刻只对当前的符号有响应,而对其他符号的响应全等于 0,那么 ISI 的影响便可消除。这是对奈奎斯特准则的时域描述。满足奈奎斯特准则的滤波器有许多种,最简单的是理想低通滤波器。但是这种理想的滤波器是物理不可实现的,因为实际的滤波器不可能做到垂直截止,而且时域拖尾过长,运算时要求很高的精度且容易产生偏差。在实际通信系统中广泛应用的成形滤波器是升余弦滤波器,这是因为它具有以下的优点:(1)可以消除理想低通滤波器设计的困难,有一平滑的过渡带;(2)通过引入滚降系数,改变传输信号的成形波形,可以减小抽样定时脉冲误差所带来的影响,即
6、降低了码间干扰(ISI)。升余弦滤波器的频率响应由下式决定:(2-1)1 1 02()cos()22 0 fTTHfff其中, 是滚降因子。 是符号间隔, ( 是符号速率) 。整个系T1/sTR统的绝对带宽为(2-2)12sB该传输函数的时域响应为(2-3)2in/co/()14tTtht:由上式可以计算出,升余弦滚降信号在前后抽样处的串扰始终为零,因而满足抽样值无失真的充要条件。滚降系数 愈小,传输频带愈小,但波形的起伏愈大,对接收端定时的要求增加。滚降系数 愈大,虽然波形的起伏愈小,但传输频带就愈大。当 时,升余弦滚降信号变成了上面提到的理想低通滤0波器,此时信号的频带最窄;当 时,升余弦
7、滚降信号的频带最宽,为理想1低通滤波器的 2 倍。所以,升余弦滚降滤波器是以频带的扩大来换取码间干扰的减小。考虑到接收波形的再生判决中还要再抽样一次以得到无失真波形的抽样值,而理想瞬时抽样不可能实现,也就是抽样时刻不可能完全没有误差,因此,为了减小抽样定时脉冲误差所带来的影响,滚降系数 不可能太小,通常要求。0.2而在高速数字传输系统中,还应该考虑频带利用率,故滚降系数的范围一般为 。.8:当 ,阶数 N91,每个码元采样点数 M8 时,滤波器的冲激响应4和频率响应分别如图 5.1 a),图 5.2 b)所示。0 10 20 30 40 50 60 70 80 90-0.200.20.40.6
8、0.811.2filter taps(n)Amplitude0 0.2 0.4 0.6 0.8 1-1500-1000-5000Normalized Frequency ( rad/sample)Phase (degrees)0 0.2 0.4 0.6 0.8 1-100-50050Normalized Frequency ( rad/sample)Magnitude (dB)a) 升余弦滤波器的冲激响应 b) 升余弦滤波器的频率响应图 5 成形滤波器特性a) 滤波前频谱 b) 滤波后频谱2.2 直接数字下变频器根据 Nyquist 采样定律可知,如果中频频率为 36.864MHz 时,采样频
9、率必须超过 73.728MHz,而一般情况采样频率为 4 倍载波频率,即 147.456MHz。如此高的采样频率对系统提出了很高的要求:高速采样 AD 和很高的处理带宽。考虑本文系统的中频信号是一个带通信号,由 Nyquist 带通抽样定理 8可知,抽样速率并不需要一定大于信号最高频率的 2 倍,用较低的采样速率也可以正确地反映带通信号的特性。根据上面的分析,本文系统采用单 AD 的直接中频带通采样方案。这不仅大大降低了系统的工作频率和处理带宽,还大大降低了系统的成本和复杂度。 混 频 器ROMFCWA 地 址 变 换 器 SinCosAD采 样数 据数 控 振 荡 器 IQCLK图 6 直接
10、数字下变频器原理图图 6 中的 FCW 为频率控制字,用于设定 NCO 所产生信号的频率值,CLK为 NCO 的工作时钟,AFC 为自适应频率控制字,用于载波跟踪,由后面要讲述的鉴频器产生,I、Q 为经过下变频器后得到的正交和同相两路信号,ROM为正余弦表,每张表暂存 1024 个样本值。接收的模拟信号频率为 36.864MHz,首先进行 AD 采样,采样时钟频率为16.384MHz, AD 采样后频谱被搬移到 4.096MHz 的低中频处,再由 FPGA 中设计的直接数字下变频器 DDC 将中心频率搬至零频。2.3 积分梳状滤波器高分解速率滤波器的一种非常有效的结构就是由 Hogenauer
11、 引入的“级联积分器梳状(cascade integrator comb,CIC)”滤波器。CIC 滤波器(也称为Hogenauer 滤波器)已经被证明是在高速抽取或插值系统中非常有效的单元。主要应用就是无线通信,其中包括以 RF(Radio Frequency,射频)或者IF(Intermediate Frequency,中频)为采样速率的信号需要降低到基带。由于其不需要复杂的乘法运算,因此非常适合于前端的高速滤波。本系统 FPGA 前端采样速率为 16.384MHz,128 倍抽取。如果采用 199 阶FIR 滤波器,做一次卷积运算大概需要 100 次乘法运算,100 次移位运算和 99次
12、加法运算,这将直接导致系统前端的负荷非常大,而且需要占用大量的逻辑资源。因此我们选择更加有效的级联积分梳状结构,即 CIC 滤波器。CIC 滤波器是一种基于零极点相抵消得 FIR 滤波器,它由积分和梳状两部分组成,其结构原理如图 7 所示。其表达式可以写为下式:(2-4)110()() RMNNkNICzHz z其频率响应可以写成下式:(2-5)sin()(/)NffR其中 N,R,M 分别表示滤波器中积分和梳状部分的级数,抽取率的大小以及差分延时的大小。CIC 的性能指标主要由旁瓣抑制 A,阻带衰减 ,以及带内容差 等参数指标决定。它们与参数 N,R,M 的关系分别为 (13.46) dBN
13、20lgb(2-6)20lgsinbN其中 b 表示带宽比例因子。图 7 给出了一个三阶 CIC 滤波器,该滤波器包括一个三阶积分器和一个三阶梳状部分,并且采样速率降低了 R 倍,即 R 倍抽取。高抽取速率滤波器的延迟数量 D 的典型值是 1 或 2。设滤波器输入字宽为 M 位,D = 2,即 DR = 2R,需要的内部字宽为,以保证不会产生运行时间溢出。23log()NMRN 位 N 位 N 位 N 位 N 位 N 位I I IC CCR1z Dz图 7 三级 CIC 滤波器,每级 N 位综合考虑带外衰减特性和带内容差问题,CIC 滤波器的级联数不宜过大,本系统中采用三级 32 倍抽取的 C
14、IC 滤波器。图 3.17 为 FPGA 中同相支路数据滤波前后的谱特性分析,滤波后的频谱中不断衰减的梳状部分清晰可见。如果 CIC 的级数过大,抽取倍数过多,通带的衰减将会导致信号失真,这时我们需要对通带进行补偿。由于本系统中抽取倍数并不高,所以补偿滤波器的设计这里不做过多讨论。2.4 匹配相关器的同步捕获数字匹配相关是伪随机序列的一种快速捕获方法,能大大缩小捕获时间。在捕获过程中,接收信号与本地序列连续地进行相关运算,每进行一次相关运算得到的相关结果都与一门限相比较。由于本地序列是静止的,相关过程相当于接收信号滑过本地序列,每来一个数据产生一个相关结果,当滑到两个序列的相位对齐时,必有一个
15、很高的相关峰输出,此时本地序列与接收信号同步。匹配滤波器的相关运算结果为(2-7)1(,)(,)(,)0LIQnIQInSumDatC其中, 为伪随机码, 为伪随机码序列长度。相关峰为nC(2-8)22IQMagSum本文系统采用仿真提出的能量检测法,帧头包含 L 位巴克码,BPSK 调制方式,而数据采用 /4-DQPSK调制方式,同时实现位同步和帧同步。根据巴克码序列的自相关特性,先对 I、Q 两路分别做滑动相关,窗口长度为 L,然后将相关的结果平方相加。简单起见,实际系统中只抽取四路,主时钟频率为四倍符号速率,流水线设计。为方便描述,给出如下并行结构图:下变频信号滤波抽取滤波抽取IQ并串变
16、换并串变换相关 累加(减)器1巴 克码产生器相关 累加(减)器4相关 累加(减)器4相关 累加(减)器1.2:2:2.门限设定自适应控制比较,选择,锁存输 出(含I Q 两路信息 )图 8 FPGA 中同步捕获实现框图FPGA 中匹配相关模块时序对应关系如图 8 所示,其中Mag1, Mag2,Mag3,Mag4 为四路相关峰信号, DET 是位同步指示信号,它对应着四路极大值中的最值。在实际系统中,我们将并行结构改为更适合FPGA 实现的流水线结构,它可以使程序更紧凑,占用更少的逻辑单元。经过在 FPGA 中对这两种方法的设计比较,发现流水线结构大概可节省 2/3 的逻辑单元。上述的匹配相关
17、器可同时实现突发检测、位同步和帧同步,定时误差最大为 1/8 码片长度。2.5 频偏估计和环路滤波在本方案的设计中,帧头包括两部分,L 位的巴克码和 M 位的训练序列,巴克码序列用做位定时恢复,训练序列用来进行频偏估计。为了简化算法,巴克码和训练序列均采用 BPSK 调制方式。频率误差信号的产生是通过比较前后码元相位误差 而得到的,并rotk由此产生频率控制信号 AFC,通过 AFC 对本地载波的不断调整,从而使本地载波和接收信号载波达到同步,算法如下:假设 I、 Q 两路的第 k 个经下变频和滤波后的输出分别为 Ik、Q k,则有:(2-9)11kDotIQ(2-10)11kkCrsI设接收
18、到的第 k 个码元为(2-11)kkjin jQIeAS)()(2-12)()(1)()(mod)()kkjkjkjininout roteAS其中 为前后码元调制相位差,对应于 BPSK 其可能的相位取值分(modk别为: 和 。 为前后码元的相位误差,主要由接收信号和本地载018)(rot波之间的频率偏差引起的。当准确同步时, 可近似为零,因此有)(krot(2-13)()(1)(modkjCroskDteASkjou其中, 为 的实部, 为 的虚部。ut )(rs)(Sout(2-14)2(md)1Akt 经过下式得到频率误差信息, 正比于 。AFCS()rot(2-15)()( )()
19、(sgn 11)(sgn)(2 mod2(kSiAkSinKsDot kikktrotrt rotBPSKAFC环路滤波器完成对鉴频器产生的频率误差信息进行滤波和修正下变频器的载波同步,其原理框图见图 9,传输函数为(2-16)1214zKzH式中 K1为直通放大系数,K 2为环路积分系数。图中的“Sign”表示求输入的符号, “AFC_LF”为经过环路滤波后得到的 AFC 信息。SignDotCros鉴 频 器 4K1AFC_Lto NO环 路 滤 波 器K2 图 9 频偏估计和环路滤波原理框图下变频信号滤波抽取滤波抽取IQ并串变换并串变换相关 累加(减)器1巴 克码产生器相关 累加(减)器
20、4相关 累加(减)器4相关 累加(减)器1.2:2:2.门限设定自适应控制比较,选择,锁存输 出(含I Q 两路信息 )图 4 FPGA 中同步捕获实现框图 混 频 器ROMFCWA 地 址 变 换 器 SinCosAD采 样数 据数 控 振 荡 器 IQCLK图5 直接数字下变频器原理图SignDotCros鉴 频 器 4K1AFC_Lto NO环 路 滤 波 器K2 图 6 频偏估计和环路滤波原理框图1. 在星型 16QAM 的内环上 8 个相量的振幅为 ,外环上 8 个1A相量的振幅为 。设在第 k 个码元取样时刻,接收信号的2A振幅值为 ,相位样值为 ,则解调器需要根据 和kZ1kZ来
21、判定信号振幅是否发生了很大变化,以便确定当前码k元的第一个比特是否为“1” 。其实这便是 2DASK 的解调。一种采用自适应判决门限的判决方法如下 【8】 :如果 (1) 121()kkAZ或 (2112()kk)其中, ( 和 如图 4.7 中所示) (32kkZIQIk)则表明信号振幅已发生显著变化,判决结果为“1”。如果式(1)和式(2)都不满足,则判决结果为“0”。通过此方法判决,我们可以得到 16QAM 码元的第一个比特。在该判决方法中,判决门限取决于 ,而不是绝对门限值。如果在衰落1kZ信道中,相量的振幅发生变化,那么判决门限也随之改变。由于星型 16QAM 码元的剩余三个比特代表相位,为此判决算法类似于8DPSK 解调,具体方法如下:假设没有定时偏差和码间干扰,第 k 个码元判决处的同相和正交基带分量分别记做 , ,相位分量记为 ,第 k-1 个码元判决处的同相和正交基带分kIQk量分别记做 , ,相位分量记为 。根据点乘和叉乘运算的定义,可得:1- 1