找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 一款用DSP+FPGA实现的数字相关器

[复制链接]
admin 发表于 2013-3-22 09:44:12 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
引 言
   数字相关器作为软件无线电的典型应用,在扩频通信中成为必不可少的技术。在传统的扩频通信中,采用模拟器件(如:声表面波器) 来实现解扩单元,而用数字相关器可以增加系统的灵活性和稳定性,因此,对数字相关器的研究具有较大的意义。本文采用DSP+FPGA 的结构,一方面使设计更加灵活,同时也降低了生产的代价。从通用性上考虑,本文采用零中频的采样系统。提出接收端如何正确地把信道中的模拟信号通过正确的零中频采样及数字相关器后恢复成数字信号。本文给出了数字相关的算法及仿真结果,用DSP+FPGA 实现的算法流程图,最后给出了系统的实测结果。
   解扩算法简介
   发端的信号模型
对于数字信号,将其分别投影到I ,Q 两路正交信号,其特征相同,因此这里仅对I 路信号进行分析,同理可得出Q 路信号。
   I 路基带信息经信道编码后,速率为3.103 kb/s ,码元间隔为323 μs , 然后进行PN 码扩频, PN 码的长度为1 023 ,速率为3.174 Mcps ,因此,扩频后I 路基带码片的速上升为3.174 Mcps ,扩频增益为30 dB。信号可表示为:
    20121107051913579654704.jpg
   其中an=±1 ,n ∈(0 ,∞) 为信息码, ck 为扩频码, gTb (t) 为矩形脉冲, Tb = 310 ns (此处未考虑脉冲成型,通常应采用升余弦脉冲) 。
   相关峰捕获及同步判决算法分析及数学推导
在收端,先对收到的QPSK 信号进行解调,解调采用相干解调的方式,首先对模拟基带波形采样,对得到的数据流进行滑动相关,得到一个相关值。由于PN 码的固有特性,当本地PN 码与数据流中的相关码对齐时(同步) ,便可得到很高的相关峰,而没有对齐时(未同步) ,得到的相关值很小,这种特性一方面降低了系统误判的可能性,另一方面也提高了系统的抗干扰性能。解调解扩的相应框图如图1 所示。
    20121107051914079644705.jpg
   图1  收端解扩解调模型
   假设信道是高斯白噪声信道,只存在时延,高斯白噪声,没有多径扩展,则收到的信号r( t) 与发端的信号s( t)存在以下的关系:
    20121107051914126514706.jpg
   此处,τ为信道传播时延, n( t) 为信道噪声。经过本地载波相乘后,可得r′I ( t) 表达式如下:
     由于本地载波是接收到的信号经过锁相环提取的,故信道时延带来的载波时延也能被捕获,故用cos ωc( t - τ)来表示本地载波。
   r′I ( t) 经过一低通滤波器, 得到r I ( t) , 为讨论方便,假设低通滤波器能滤除二倍频分量,同时通带内的相应为常数2 。
     由此可见,在理想情况下,可将发端I 路的信号得到恢复,事实上已经完成了解调任务。接下来就是AD 采样,在这里把AD 采样的速率设定为切普码率的4 倍,相当于在做相关时,有4 路信号可供计算,这样做的好处是每次优选最好的一路,提高接收性能。事实上,采样率越高对于性能的提高越有好处,但是不能无限度地提高,因为后端的数字器件有一个处理能力的限制。由于4 路采样信号在数字解扩模块的处理是相互独立的,所以这里只对一路采样信号进行研究。由于只对一路信号进行研究,所以采样率Ts 可等效为切普速率, 本系统中Ts =1/3.1M。
    20121107051914173394707.jpg
   特点,互相关值很小。由上式可见,第二项是影响误判的主要因素,此处对于误码率的讨论不同于一般意义的QPSK+扩频方式,因此将采用仿真的方式对误码率进行讨论。
   利用计算机仿真,可得到高斯噪声下的误码率曲线如图2 所示。从仿真结果看,当SNR ≥- 20 dB 时,满足语音通信(BER ≤10-3 ) 的要求;当SNR ≥- 14 dB 时,满足数据通信(BER ≤10-6 ) 的要求。
    20121107051914267134708.jpg
   图2  高斯信道的误码性能
   算法在DSP+FPGA 系统中的实现
   由于数字相关模块主要由FPGA 和DSP 来完成,因此主要的算法将嵌入进这两个芯片中。
   DSP+FPGA 系统的最大优点是结构灵活,有较强的通用性,适合于模块化设计,从而能够提高算法效率;同时其开发周期较短,系统容易维护和扩展,适合实时信号处理。
   实时信号处理系统中,低层的信号预处理的数据量大,对处理速度的要求高,但运算结构相对比较简单,适用于FPGA 执行硬件实现,这样能同时兼顾速度和灵活性。高层处理算法的特点是所处理的数据量较低层算法少,但算法的控制结构复杂,适用于运算速度高、寻址方式灵活、选用通信机制强大的DSP 芯片来实现。
   DSP+FPGA 系统的核心由DSP 芯片和可重构器件FPGA 组成。另外还包括一些外围的辅助电路,如存储器、先进先出( FIFO) 器件及FLASH ROM 等。FPGA 电路与DSP 相连,利用DSP 处理器强大的I/O 功能实现系统内部的通信。从DSP 角度看,FPGA 相当于他的宏功能协处理器。外围电路辅助核心电路进行工作。DSP 和FPGA 各自带有RAM ,用于存放处理过程所需要的数据及中间结果。FLASH ROM 中存储了DSP 执行程序和FPGA 的配置数据。先进先出( FIFO) 器件则用于实现信号处理中常用到的一些操作,如延迟线、顺序存储等。
   在本系统的设计中,DSP 采用TI 公司的C5409A ,同时采用SPANSION 公司的AM29LV200BT 作为DSP 的外挂FLASH ,存放相应的程序; FPGA 采用的是Xilinx 公司的XCV600E ,同时采用Xilinx 公司的XC18V00 作为专用配置芯片,存放FPGA 程序;在FPGA 中将进行FIFO 的设计,DSP 通过对FIFO 的读取来实现两块芯片间的通信。
   总体的算法分为FPGA 和DSP 部分: FPGA 的算法主要包含的功能是,产生AD 采样时钟,接收AD 数据,滑动相关,FIFO 构成及DSP 中断产生;DSP 含有:同步算法,判决算法。
   以下是算法在各芯片中的嵌入分配示意图,如图3所示。
    20121107051914329634709.jpg
   图3  算法在各芯片中的嵌入示意图
   FPGA 和DSP 两部分的算法必须协同运行,他们之间的关系是:FPGA 的算法由时钟来驱动,每个时钟到来时,他都要进行相应的数据接收,滑动相关,将相关值推入FIFO 的操作,当他将FIFO 置到一定程度时,则向DSP 发中断信号;DSP 的程序在大部分时间处于一种循环等待的状态,而他一收到FPGA 的中断,则进行响应,先将FIFO 里面的若干数据读出,然后进行相应的中断处理,由DSP 完成同步处理,相关判决并实现基带通信。总的流程图如图4 所示。
   系统的运行的实测性能
   正常通信时,误码率稳定在1*10-5 。高斯噪声干扰(未解扩解调前加干扰) ,语音信号正常通信(误码率≤1×10-3 ) 的信干比:-17dB。在抗干扰方面,对于非瞄准式单频干扰语音信号的正常通信(误码率≤1×10-3 ) 的信干比:-14~-2dB(随频点有差异) ;而对于瞄准式单频干扰当达到- 12 dB 时,仍能继续保持语音通信。
    20121107051914376514710.jpg
   图4  FPGA 及DSP 流程图
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 18:36 , Processed in 0.055946 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表