本帖最后由 GoldSunMonkey 于 2013-2-21 23:14 编辑
表2对比了传统RLS算法与并行RLS算法在加法和乘法运算量上的差异。相对于传统RLS算法,并行RLS算法的最大优势在于降低了矩阵维数,故减小了运算复杂度。
从表2可知,并行RLS算法的q值越大,算法复杂度的优化程度越高。然而,多次仿真实验证明随着q值的增加,并行RLS算法的收敛速度会变慢,性能也会受到影响。经过综合权衡后,本文使用q=2时的并行RLS算法,并采用双核Nios II进行实现,其架构如图2所示。
在并行RLS算法中,主要的滤波过程和算法更新过程都是完全独立的,可以在CPU1和CPU2中并发执行。并行RLS算法涉及到的交互数据放在共享存储区内,双核可以通过互斥机制访问。
图3为基于查找表的DPD在双核Nios II系统中的实现结构。该系统的工作状态可以经历如下阶段: (1)DPD学习过程:DPD不加入传输链路,基带信号直接上变频后输送至PA,双核Nios II收集基带信号和PA反馈信号。 (2)并行RLS算法处理过程:双核Nios II按照图2的步骤求解出DPD模型参数向量a.(3)查找表更新过程:将a的元素值代入方程式,通过双核Nios II计算出查找表的表项值,并将表项值写入查找表RAM中,完成更新。 (4)DPD工作过程:DPD加入传输链路,构成DPD+PA的完整预失真系统。基带信号通过查表完成预失真操作。
|