基于SoPC和CORDIC算法的通用調制解調器
3 基于SoPC的通用調制解調器
軟件無線電要求在通用硬件平臺上通過運行不同軟件實現多種調制解調方式,這就要求為信號的調制及解調建立通用模型。當代無線通信中,理論上各種通信信號都可采用正交調制方法加以實現,所以,采用正交調制可以建立統一的模型,適用于軟件無線電實現。
實現通用調制器的有效解決方案就是采用CORDIC算法圈。CORDIC算法用在旋轉模式中實現(R,θ)→(X,Y)的坐標變換。圖2給出采用CORDIC算法的AM、PM和FM信號的完整調制器。
要實現幅度調制,需將信號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上實現。
評論