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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > 多天線多載波的數(shù)字上下變頻的FPGA實現(xiàn)

          多天線多載波的數(shù)字上下變頻的FPGA實現(xiàn)

          作者: 時間:2010-02-25 來源:網(wǎng)絡(luò) 收藏

          概述

          /下(DUC/DDC, digital up convert/ digital down convert)是中頻設(shè)計的重要組成部分,其功能是將基帶信號經(jīng)過內(nèi)插濾波后變到中頻的頻率,或者將中頻的信號經(jīng)過抽取濾波后降到基帶的頻率上。系統(tǒng)設(shè)計者經(jīng)常面臨的問題是數(shù)目以及數(shù)目在不同應(yīng)用場景下會改變,此時則提供了一種非常靈活的設(shè)計手段。本文的主要目的就是介紹多方法,以及Altera提供的一種處理的工具,DSP BUILDER。

          DUC/DDC的架構(gòu)

          以TD-SCDMA的DUC/DDC為例,基帶頻率1.28MHz, 49,60倍上變頻,30倍下變頻的情況下,DUC的架構(gòu)如圖1所示



          圖1,DUC的架構(gòu)

          首先4天線9載波,每個載波分IQ兩路,一共4×9×2=72個通道,這72個通道的數(shù)據(jù)先由duc_input_mux模塊復(fù)合到一路上,輸入到duc_rrc_filter上,做2倍內(nèi)插以及根升余弦濾波,這是一個121階的濾波器;輸出結(jié)果分成4路,分別送到4個int5_filter(61階)模塊中,做5倍內(nèi)插及補(bǔ)償濾波;這4個濾波器的輸出再被分成24路,送進(jìn)int6_filter(41階)模塊中,做6倍內(nèi)插及濾波;其結(jié)果進(jìn)入混頻模塊mixer,與NCO產(chǎn)生的中頻信號混頻后作為最終結(jié)果輸出。

          DDC的架構(gòu)如圖2所示



          圖2,DDC的架構(gòu)

          對DDC而言,入口是4個天線下來的數(shù)據(jù),經(jīng)過混頻器區(qū)分到不同頻點上,再由抽取濾波器dec5_filter(41階)做5倍抽取以及濾波;結(jié)果復(fù)合到3路上,由3個dec3_filter(61階)做3倍抽取濾波;最后由ddc_rrc_filter(121階)做兩倍抽取以及濾波。

          我們可以看出,對DUC/DDC而言,主要模塊是FIR濾波器,混頻器,以及數(shù)控振蕩器NCO,復(fù)用解復(fù)用邏輯占用的資源非常小。濾波器占用了大部分資源,包括查找表,寄存器,RAM,乘法器。因此優(yōu)化濾波器設(shè)計,以節(jié)省資源,用盡量小規(guī)模的實現(xiàn)更多通道的數(shù)字變頻,成為主要的實現(xiàn)難度。

          DSP-BUILDER簡介

          DSP-BUILDER是Altera Corporation的一種設(shè)計工具,可以把它看作MATLAB SIMULINK和FPGA實現(xiàn)軟件QUARTUS II之間的一個橋梁。簡單來說,在SIMULINK環(huán)境下,調(diào)用DSP-BUILDER提供的庫元件,搭建的這么一個數(shù)學(xué)模型系統(tǒng),不僅可以在MATLAB中仿真,還能直接生成一個ALTERA FPGA的工程,綜合布局布線后上硬件驗證。這里有一點是要強(qiáng)調(diào)的,只能調(diào)用DSP-BUILDER中的庫元件才能生成一個可以綜合實現(xiàn)的工程。


          上一頁 1 2 下一頁

          評論


          相關(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); })();