基于SoPC和CORDIC算法的通用調(diào)制解調(diào)器
3 基于SoPC的通用調(diào)制解調(diào)器
軟件無線電要求在通用硬件平臺上通過運(yùn)行不同軟件實(shí)現(xiàn)多種調(diào)制解調(diào)方式,這就要求為信號的調(diào)制及解調(diào)建立通用模型。當(dāng)代無線通信中,理論上各種通信信號都可采用正交調(diào)制方法加以實(shí)現(xiàn),所以,采用正交調(diào)制可以建立統(tǒng)一的模型,適用于軟件無線電實(shí)現(xiàn)。
實(shí)現(xiàn)通用調(diào)制器的有效解決方案就是采用CORDIC算法圈。CORDIC算法用在旋轉(zhuǎn)模式中實(shí)現(xiàn)(R,θ)→(X,Y)的坐標(biāo)變換。圖2給出采用CORDIC算法的AM、PM和FM信號的完整調(diào)制器。
要實(shí)現(xiàn)幅度調(diào)制,需將信號A(t)直接連接CORDIC的半徑R輸入。通常旋轉(zhuǎn)模式中的CORDIC算法隨半徑增加。這與放大器增益變化相符。無需在AM方案中考慮。倘若不希望線性增加半徑(因子是1.646 8),則可以使用一個(gè)常系數(shù)(1/1.646 8)乘法器進(jìn)行平衡。傳輸信號的相位θ=2πf0t+△φ(t)。若生成FM信號,用△f代替f0,或用累加器計(jì)算2π△ft。對于PM信號,則需在信號相位上增加偏移量△φ(t)。這些相位信號相加作為CORDIC處理器的角輸入z或θ。CORDIC旋轉(zhuǎn)引擎設(shè)計(jì)如圖3所示,采用DSP Builder設(shè)計(jì),可同時(shí)輸出兩路正交的正余弦信號。
數(shù)字下變頻接收來自A/D轉(zhuǎn)換器的數(shù)據(jù),經(jīng)正交數(shù)字變換與低通濾波后得到基帶信號,即分成I,Q兩路的同相分量與正交分量。與信號調(diào)制一樣,解調(diào)也是通過幅度、頻率、相位中的一個(gè)或多個(gè)參數(shù)提取信息。那么通用解調(diào)器必須先從數(shù)字下變頻后的I,Q兩路基帶信號中計(jì)算出幅度A(n)和相位? (n),再通過相位計(jì)算出頻率f(n),最后通過幅度、頻率、相位信息解調(diào)出信息比特流。
圖4為一個(gè)基于SoPC的通用解調(diào)器的設(shè)計(jì)方案。解調(diào)器包含2個(gè)CORDIC模塊、3個(gè)FIFO(先進(jìn)先出)模塊和2個(gè)RISC(精簡指令)CPU模塊。其中CORDICl完成頻偏補(bǔ)償;CORDIC2具有相位校正和鑒幅與鑒相兩個(gè)功能;RISC CPU1用于判斷符號;RISC CPU2用于頻偏估計(jì)、相偏估計(jì)、位同步以及幅度判決門限的估計(jì)。CORDIC模塊通過硬件描述語言(HDL)編程實(shí)現(xiàn),CPU則通過SoPC BUILDER定制NIOS軟核CPU,整個(gè)系統(tǒng)在可編程的FPGA上實(shí)現(xiàn)。
評論