该数字接收机采用主从机方式。多DSP并行处理机作为系统的从处理机主要负责对数据的实时处理,主处理机主要完成整机的控制、显示及其它人机交互功能。ADC的采样频率为500MHz,中频带宽为20MHz。主处理机选用的高性能的通用微处理器,整机的数据总线可以选择通用的PCI总线。其特点是传输速度快,最高可达132Mbytes/s,开发比较便捷。也可选用CPCI或VME总线,其中CPCI兼有PCI总线的优点同时结构坚固,符合军用标准,也可以采用VME总线结构。以上总线结构可以根据用户的需要确定。该数字接收机的数据处理是由多DSP从处理机完成的,该从处理机的DSP个数可以根据不同用户对算法的要求来确定,对于I、Q两通道的数字下变频运算需要4片C6416芯片。图3以4片DSP为例给出了该多DSP处理机的硬件框图。该并行处理机工作在共享存储区方式下,SDRAM和SBSRAM是全局共享存储区,AD和DSP之间通过FIFO按照DMA方式进行数据交换,主机不直接与DSP的HPI口连接,而是通过一个总线接口电路,采用不同的接口芯片实现与不同总线结构的主机接口。
3.2 数字下变频的软件实现
在该数字接收机的原理样机阶段,笔者在C6416 Simulator上实现了该数字下变频算法。以一个通道为例,该软件包括混频和滤波抽取两部分,考虑到算法的通用性采用了C语言,并对代码进行了优化。这两部分分别在一片DSP上实现,其中一片实现混频,一片实现滤波抽取。这两片DSP采用乒乓缓存方式并行工作,其软件流程见图4。从图4中可以看出DSP1实现混频,存储区SBSA及SBSB通过DMA方式实现的,从FIFO来的数据也通过DMA方式读入。由于DMA方式可以在DSP运算的同时完成数据的交换,所以数据交换不占用额外的时间,实现了混频和滤波抽取的并行运算。混频运算实际就是乘法运算。通常为节省片内存储空间可以根据正余因子的对称性存储半个周期的数据,但该数字接收机中,复振荡信号的频率为190MHz,采样频率为500MHz,每周期仅3.8个样值点,所以没有必要存储半个周期。实际应用中存储50个样值点,也就是19个周期,其余的由对称性给出。由于C6416采用16bit定点算法,为防止溢出复振荡信号可由下式给出: W(n)=k%26;#215;sin(2πf/fs%26;#215;n) n=0,1,……,49 (1) 这里k=32767,f=190MHz,fs=500MHz,同时混频运算的结果要右移15位,对应的C6416代码如下: for(j=0;j>15; } 其中IN[n]为采样数据,OUT[n]为混频后的结果,SINNUM是复振荡信号长度。
低通抽取滤波器实现的关键是通过合理确定抽取的位置来减少运算量。从图1可以看出抽取是在滤波之后完成的,实际上根据变采样率系统的结构互易性,抽取也可放在滤波之前。这相当于把低通滤波和抽取看作一个滤波器,则
其中K为抽取率,h(i)为低通滤波器的单位样值响应。当>>1时,当抽取率为10时,经实验证明这种算法的运算时间约为先滤波后抽取运算时间的1/10。该滤波器是利用MATLAB的FDAT00l工具包设计的。设计时综合考虑其性能及C6416的处理能力,确定此为一个17阶、截止频率为25MHz的滤波器。软件实现抽取滤波时为防止溢出,采取了与混频相似的处理方法,相应的C6416代码如下: sum=0; for(j=0;j>15; } IN[i]=sum;其中,RATE为抽取率,H[n]为滤波器系数,HNUM为其长度。 图5 某中频采样信号波形频谱及数字下变频后的波形频谱为验证以上算法的可行性,笔者在C6416 Simulator上作为大量实验。图5(a)、(b)分别给出了某采样信号的波形与频谱,该信号为简单脉冲,频率为201MHz;(c)、(d)分别是下变频后的信号波形与频谱。从图5中可以看出下变频后的信号有和采样信号相同的包络,频率被搬移到了11MHz,其数据长度仅为采样信号长度的1/10,可以大大减轻后续处理的运算量。
对于20MHz带宽的中频信号,以500MHz采样时,使用两片C6416就可以实时实现一个通道(I或者Q)的数字下变频,满足了设计要求。采样长度(bit定点数)采样时间(μs)混 频低通滤波周期数时间(μs)周期数时间(μs) 2000 4 1812 3.02 2165 3.61 4000 8 3612 6.02 4215 7.19 8000 16 7212 12.02 8615 14.35 16000 32 14412 24.02 12215 20.36 注:表中给出的混频及低通滤波时间是10次实验的平均结果,采样频率为500MHz,C6416的时钟频率为600MHz。
上一页 [1] [2]