基于SoPC和CORDIC算法的通用调制解调器

时间:2010-08-13

     1  引言

  软件无线电SDR(Software Defined Radio)是构造具有开放性、标准化、模块化的通用硬件平台,将诸如工作频段、调制解调类型、数据格式、加密模式、通信协议等功能采用软件完成,并使宽带A/D转换器和D/A转换器尽可能靠近天线,使用可升级、可重新配置的应用软件实现无线电台各种功能,研制出高度灵活、开放的新一代无线通信系统。坐标旋转数值计算CORDIC(Coordinate Rotation Digital Compute)算法是通过一系列逐次递减的、与运算基数相关角度的往复偏摆来逼近终所需达到的旋转角度,该算法能够兼顾、速度和硬件复杂度,而无需占用大量芯片资源的乘法器,CORDIC算法相结合的方法设计调制解调器,能够满足软件无线电性能要求,并具有重要应用。因此,这里给出一种基于SoPC的通用调制解调器的设计方案。

  2  CORDIC算法原理

  CORDIC算法原理可用向量旋转推导。图1中,向量(x0,y0)沿圆旋转角度θ后得到新的向量(x,y),它们之间的关系为:



  不管是以单角度旋转还是以一系列角度之和进行多次旋转,其终结果是一样的。若每次旋转θi,则令每次旋转角度,并提取,这样可用一组迭找方程表示:


     式中,为逆时针旋转,-1为顺时针旋转。

  令为修正因子。当确定迭代次数。Kn也就确定了。按式(2)迭代的终结果为:


  由式(3)看出。比预期结果有An的增益放大。其收敛条件是Zi趋于0,该模式为旋转计算模式。当收敛条件为时,可得到向量计算模式。其迭代方程为:


  3  基于SoPC的通用调制解调器

  软件无线电要求在通用硬件平台上通过运行不同软件实现多种调制解调方式,这就要求为信号的调制及解调建立通用模型。当代无线通信中,理论上各种通信信号都可采用正交调制方法加以实现,所以,采用正交调制可以建立统一的模型,适用于软件无线电实现。

  实现通用调制器的有效解决方案就是采用CORDIC算法圈。CORDIC算法用在旋转模式中实现(R,θ)→(X,Y)的坐标变换。图2给出采用CORDIC算法的AM、PM和FM信号的完整调制器。


图2  采用CORDIC的通用调解器

  要实现幅度调制,需将信号A(t)直接连接CORDIC的半径R输入。通常旋转模式中的CORDIC算法随半径增加。这与放大器增益变化相符。无需在AM方案中考虑。倘若不希望线性增加半径(因子是1.646 8),则可以使用一个常系数(1/1.646 8)乘法器进行平衡。传输信号的相位θ=2πf0t+△φ(t)。若生成FM信号,用△f代替f0,或用累加器计算2π△ft。对于PM信号,则需在信号相位上增加偏移量△φ(t)。这些相位信号相加作为CORDIC处理器的角输入z或θ。CORDIC旋转引擎设计如图3所示,采用DSP Builder设计,可同时输出两路正交的正余弦信号。


  数字下变频接收来自A/D转换器的数据,经正交数字变换与低通滤波后得到基带信号,即分成I,Q两路的同相分量与正交分量。与信号调制一样,解调也是通过幅度、频率、相位中的一个或多个参数提取信息。那么通用解调器必须先从数字下变频后的I,Q两路基带信号中计算出幅度A(n)和相位? (n),再通过相位计算出频率f(n),通过幅度、频率、相位信息解调出信息比特流。


  图4为一个基于SoPC的通用解调器的设计方案。解调器包含2个CORDIC模块、3个FIFO(先进先出)模块和2个RISC(精简指令)CPU模块。其中CORDICl完成频偏补偿;CORDIC2具有相位校正和鉴幅与鉴相两个功能;RISC CPU1用于判断符号;RISC CPU2用于频偏估计、相偏估计、位同步以及幅度判决门限的估计。CORDIC模块通过硬件描述语言(HDL)编程实现,CPU则通过SoPC BUILDER定制NIOS软核CPU,整个系统在可编程的FPGA上实现。

  CORDICl使用旋转模式,接收来自CPU2的频偏估计值,对信号进行频偏校正,输出为:


  CORDIC2使用向量模式,接收来自CPU2的相偏估计值对信号进行相偏校正,并完成(x,y)→(R,θ)的坐标转换,计算幅度A(n)和相位? (n),实现对信号鉴幅鉴相功能,输出为:


  根据实际需要定制CPU的接口和外设,通过NIOSⅡIDE(集成开发环境)进行软件编程和调试,便于系统开发。以频率调制为例对通用调制解调器进行仿真。

  为了对整个调制解调器进行仿真测试,将调制解调器合并,先对二进制系统信号进行调制然后对其解调。其仿真波形如图5所示。由图5看出,解调后的基带信号与原基带信号基本一致。


  4  结束语

  采用SoPC技术与CORDIC算法相结合的方法实现通用调制解调器。CORDIC算法只需简单的加法和移位操作,无需占用大量芯片资源的乘法器,实现NCO(数字控制振荡器)时要比查找表法节省大量ROM。使其易于在FPGA上实现。在信号解调时只要从数字下变频后的I,Q两路基带信号中计算幅度和相位,再由相位计算出频率,从这些幅度、相位和频率中解调出信号信息。利用CORDIC算法的坐标变换功能计算幅度和相位,实现信号的鉴幅鉴相功能。SoPC的软硬件协同设计解决方案是系统级设计的新趋势,将SoPC技术应用到通信软件无线电领域。充分发挥软件无线电在开放性的硬件平台上通过软件编程实现通信系统各种功能,便于软件无线电各种功能和系统的升级,充分利用FPGA的可重配置性,这也体现软件无线电中用软件完成尽可能多的无线电功能的本质特点。因此采用SoPC技术与CORDIC算法相结合的方法实现软件无线电通用调制解调器是可行的,降低成本,同时也体现了软件无线电技术的灵活性。


  

参考文献:

[1]. ROM datasheet https://www.dzsc.com/datasheet/ROM_1188413.html.


上一篇:基于CPLD的压电生物传感器检测电路设计
下一篇:PCB抄板加工电镀金层发黑的主要原因分析

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料