<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于SoPC和CORDIC算法的通用調(diào)制解調(diào)器

          基于SoPC和CORDIC算法的通用調(diào)制解調(diào)器

          作者: 時(shí)間:2010-08-13 來(lái)源:網(wǎng)絡(luò) 收藏

            3 基于SoPC的通用

            軟件無(wú)線電要求在通用硬件平臺(tái)上通過(guò)運(yùn)行不同軟件實(shí)現(xiàn)多種調(diào)制解調(diào)方式,這就要求為信號(hào)的調(diào)制及解調(diào)建立通用模型。當(dāng)代無(wú)線通信中,理論上各種通信信號(hào)都可采用正交調(diào)制方法加以實(shí)現(xiàn),所以,采用正交調(diào)制可以建立統(tǒng)一的模型,適用于軟件無(wú)線電實(shí)現(xiàn)。

            實(shí)現(xiàn)通用調(diào)制器的有效解決方案就是采用圈。用在旋轉(zhuǎn)模式中實(shí)現(xiàn)(R,θ)→(X,Y)的坐標(biāo)變換。圖2給出采用的AM、PM和FM信號(hào)的完整調(diào)制器。

            要實(shí)現(xiàn)幅度調(diào)制,需將信號(hào)A(t)直接連接CORDIC的半徑R輸入。通常旋轉(zhuǎn)模式中的CORDIC算法隨半徑增加。這與放大器增益變化相符。無(wú)需在AM方案中考慮。倘若不希望線性增加半徑(因子是1.646 8),則可以使用一個(gè)常系數(shù)(1/1.646 8)乘法器進(jìn)行平衡。傳輸信號(hào)的相位θ=2πf0t+△φ(t)。若生成FM信號(hào),用△f代替f0,或用累加器計(jì)算2π△ft。對(duì)于PM信號(hào),則需在信號(hào)相位上增加偏移量△φ(t)。這些相位信號(hào)相加作為CORDIC處理器的角輸入z或θ。CORDIC旋轉(zhuǎn)引擎設(shè)計(jì)如圖3所示,采用DSP Builder設(shè)計(jì),可同時(shí)輸出兩路正交的正余弦信號(hào)。

            數(shù)字下變頻接收來(lái)自A/D轉(zhuǎn)換器的數(shù)據(jù),經(jīng)正交數(shù)字變換與低通濾波后得到基帶信號(hào),即分成I,Q兩路的同相分量與正交分量。與信號(hào)調(diào)制一樣,解調(diào)也是通過(guò)幅度、頻率、相位中的一個(gè)或多個(gè)參數(shù)提取信息。那么通用解調(diào)器必須先從數(shù)字下變頻后的I,Q兩路基帶信號(hào)中計(jì)算出幅度A(n)和相位? (n),再通過(guò)相位計(jì)算出頻率f(n),最后通過(guò)幅度、頻率、相位信息解調(diào)出信息比特流。

            圖4為一個(gè)基于SoPC的通用解調(diào)器的設(shè)計(jì)方案。解調(diào)器包含2個(gè)CORDIC模塊、3個(gè)FIFO(先進(jìn)先出)模塊和2個(gè)RISC(精簡(jiǎn)指令)CPU模塊。其中CORDICl完成頻偏補(bǔ)償;CORDIC2具有相位校正和鑒幅與鑒相兩個(gè)功能;RISC CPU1用于判斷符號(hào);RISC CPU2用于頻偏估計(jì)、相偏估計(jì)、位同步以及幅度判決門限的估計(jì)。CORDIC模塊通過(guò)硬件描述語(yǔ)言(HDL)編程實(shí)現(xiàn),CPU則通過(guò)SoPC BUILDER定制NIOS軟核CPU,整個(gè)系統(tǒng)在可編程的FPGA上實(shí)現(xiàn)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();