1 引言
软件无线电SDR(Software Defined R adi o)是构造具有开放性、标准化、模块化的通用硬件平台,将诸如工作频段、调制解调类型、数据格式、加密模式、通信协议等功能采用软件完成,并使宽带A/D转换器和D/A转换器尽可能靠近天线,使用可升级、可重新配置的应用软件实现无线电台各种功能,研制出高度灵活、开放的新一代 无线通信 系统。坐标旋转数值计算CORDIC(Coordina te Rota ti on Digital Compute)算法是通过一系列逐次递减的、与运算基数相关角度的往复偏摆来逼近最终所需达到的旋转角度,该算法能够兼顾精度、速度和硬件复杂度,而无需占用大量芯片资源的乘法器,CORDIC算法相结合的方法设计调制解调器,能够满足软件无线电性能要求,并具有重要应用。因此,这里给出一种基于SoPC的通用调制解调器的设计方案。
2 CORDIC算法原理
CORDIC算法原理可用向量旋转推导。
3 基于SoPC的通用调制解调器
软件无线电要求在通用硬件平台上通过运行不同软件实现多种调制解调方式,这就要求为信号的调制及解调建立通用模型。当代无线通信中,理论上各种通信信号都可采用正交调制方法加以实现,所以,采用正交调制可以建立统一的模型,适用于软件无线电实现。
实现通用调制器的有效解决方案就是采用CORDIC算法圈。CORDIC算法用在旋转模式中实现(R,θ)→(X,Y)的坐标变换。
要实现幅度调制,需将信号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或θ。
数字下变频接收来自A/D转换器的数据,经正交数字变换与低通滤波后得到基带信号,即分成I,Q两路的同相分量与正交分量。与信号调制一样,解调也是通过幅度、频率、相位中的一个或多个参数提取信息。那么通用解调器必须先从数字下变频后的I,Q两路基带信号中计算出幅度A(n)和相位? (n),再通过相位计算出频率f(n),最后通过幅度、频率、相位信息解调出信息比特流。
解调器包含2个CORDIC模块、3个FIFO(先进先出)模块和2个 RISC (精简指令) CPU 模块。其中CORDICl完成频偏补偿;CORDIC2具有相位校正和鉴幅与鉴相两个功能;RISC CPU1用于判断符号;RISC CPU2用于频偏估计、相偏估计、位同步以及幅度判决门限的估计。CORDIC模块通过硬件描述语言(HDL)编程实现,CPU则通过SoPC BUILDER定制N IOS 软核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算法相结合的方法实现软件无线电通用调制解调器是可行的,降低成本,同时也体现了软件无线电技术的灵活性。