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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 數(shù)字下變頻的FPGA實現(xiàn)

          數(shù)字下變頻的FPGA實現(xiàn)

          —— A Digital Down Conversion Based on FPGA
          作者:鄭傳家 屈德新 邱曉軍 周鐵 解放軍理工大學通信工程學院 時間:2008-12-23 來源:電子產品世界 收藏

          摘要:本文介紹了數(shù)字下變頻的組成結構,并通過一個具體的實例,給出了實現(xiàn)的具體過程。
          關鍵詞:;數(shù)字下變頻;VHDL

          本文引用地址:http://www.ex-cimer.com/article/90424.htm

          引言

            數(shù)字化中頻(DIF)頻譜分析儀在高中頻實現(xiàn)數(shù)字化處理,具有分析帶寬大、RBW小、測量時長短,可對復雜信號實施時—頻分析的功能,因而得到越來越廣泛的應用。但由于現(xiàn)有的數(shù)字信號處理器(DSP)處理速度有限,往往難以對高速率A/D采樣得到的數(shù)字信號直接進行實時處理。為了解決這一矛盾,需要采用數(shù)字下變頻(DDC)技術,將采樣得到的高速率信號變成低速率基帶信號,以便進一步的分析處理。用現(xiàn)場可編程陣列()來設計數(shù)字下變頻器有許多好處:FPGA在硬件上具有很強的穩(wěn)定性和極高的運算速度,在軟件上具有可編程的特點,可以根據(jù)不同的系統(tǒng)要求,采用不同的結構來完成相應的功能,具有很強的靈活性,便于進行系統(tǒng)功能擴展和性能升級。

          數(shù)字下變頻

            數(shù)字下變頻的主要目的是經過數(shù)字混頻將A/D轉換輸出的中頻信號搬移至基帶,然后通過抽取,濾波完成信道提取的任務。因此,數(shù)字下變頻器由本地振蕩器(NCO)、混頻器、抽取濾波器和低通濾波器組成,如圖1所示。


          圖1  數(shù)字下變頻原理圖

            A/D變換后的信號分成兩個信號,一個信號乘以正弦序列(同相分量),下變頻至零中心頻率上,通過抽取濾波器、整形低通FIR濾波形成與原信號相位相同的信號;另一路信號乘以經過90度相移的正弦序列(正交分量),同樣是下變頻至零中心頻率上,再通過相同的抽取濾波器、整形低通FIR濾波器,形成與原信號正交的信號。這樣,DDC輸出的低速率、零中頻的正交的兩路信號送往DSP等數(shù)字信號處理器進行后續(xù)的數(shù)字處理。

          DDC的FPGA

            以某中頻數(shù)字化接收機為例來說明如何實現(xiàn)基于FPGA的數(shù)字下變頻器。輸入信號為中頻26MHz,帶寬500KHz的調頻信號,該信號經過A/D變換之后送到DDC(A/D采樣精度為8位,采樣率20MHz),要求DDC將其變換為數(shù)字正交基帶信號,并實現(xiàn)10倍抽取,即輸出給基帶處理器的數(shù)據(jù)速率為2MSPS,最后再經過16階FIR濾波器進行信號整形。

          NCO的實現(xiàn)

            NCO采用直接數(shù)字合成(DDS)的方法實現(xiàn),目前常見的技術有查表法和CORDIC計算法,本設計采用查表法來實現(xiàn)NCO,其原理圖如圖2所示。


          圖2  NCO原理圖

            32位累加器由一個32位的加法器和一個32位寄存器組成,在時鐘的作用下,加法器通過寄存器將輸出數(shù)據(jù)送入到加法器的一個輸入端,與32位的頻率控制字進行相加運算,得到一個有規(guī)律的相位累加結果。由于正弦值在一個周期內取有限個采樣值,大于2pi部分的正弦值只是這有限數(shù)值的重復出現(xiàn),因此,當累加結果大于FFFFFFFFH是,不需產生進位,而是重新從00000000H開始累加。為了減小ROM的容量,根據(jù)相位截斷技術,取累加器輸出的高10位作為查表地址,但是這種實現(xiàn)方式,在降低成本的同時,也引入了雜散分量,影響了NCO的純度。正弦值ROM中存儲的是預先計算好的正弦波幅值,利用正弦波的對稱特性,只需存儲四分之一周期的幅值,再通過相應的轉換即可恢復出整個周期的幅值。同時,由于余弦波和正弦波相位差為pi/2,可以很容易的實現(xiàn)余弦信號。其關鍵部分的VHDL代碼如下:

          process
           begin
            wait until clk=’1’;
            if add(8)=’0’ then
             address<=add(7 downto 0);
            else
             address<=”11111111”-add(7 downto 0);
            end if;
            if add(9)=’0’ then
             qou(7)<=’0’;
             qou(6 downto 0)<=q;
            else
             qou(7)<=’1’;
             qou(6 downto 0)<= ”1111111”-q;
            end if;
           end process;

          抽取濾波器的實現(xiàn)

            CIC積分梳狀濾波器是實現(xiàn)高速抽取非常有效的單元。CIC濾波器的系統(tǒng)函數(shù)為:

            式中D即為CIC濾波器梳狀部分的延遲,濾波器系數(shù)都為1。從上式可以看出CIC濾波器的實現(xiàn)非常簡單,只有加減運算,沒有乘法運算,F(xiàn)PGA實現(xiàn)時可達到很高的處理速率。但是,單級CIC濾波器的旁瓣電平只比主瓣低13.46dB,這就意味著阻帶衰減很差,一般是難以滿足實用要求的。為了降低旁瓣電平,可以采取多級CIC濾波器級聯(lián)的辦法解決。在CIC濾波器的實現(xiàn)過程中,需要給內部寄存器提供足夠的位寬,其計算公式為:

            其中N為級數(shù),M為延遲,R為抽取倍數(shù)。
          本設計中,CIC濾波器需要完成10倍的抽取,采用4級級聯(lián)來實現(xiàn),由于輸入、輸出數(shù)據(jù)均為8bit,故內部寄存器所需的最大位寬為,旁瓣容限可達到4×13.46=43.44dB。
          CIC濾波器實現(xiàn)的關鍵是抽取器的分頻設計,其VHDL代碼如下:
          signal count : integer range 0 to 9;
          signal clk2 : std_logic;
          if (count=9) then  --抽取器分頻實現(xiàn)
               clk2<=’1’;
              else
               clk2<=’0’;
              end if;
            
             comb : process     --抽取器代碼
              begin
               wait until clk2=’1’;
               i3d1<=c0;
               …………
               c4<=c3/2-c3d1;
              end process comb;

          低通濾波器的實現(xiàn):

            數(shù)字下變頻器的最后一個模塊是低通FIR濾波器,主要用來對信號進行整形濾波,消除信號中存在的噪聲。本設計采用并行結構的FIR濾波器,由2個8階濾波器級聯(lián)實現(xiàn)16階的濾波器,由預相加模塊、查找表模塊和移位相加模塊組成,結構圖如圖3、4所示。


          圖3  16階FIR濾波器的級聯(lián)結構圖


          圖4  FIR濾波器子模塊結構圖


          圖5  16階FIR濾波器響應曲線圖


          圖6  DDC實現(xiàn)的結構圖

            這種結構的濾波器結構簡單、易于實現(xiàn),很容易擴展成高階濾波器。首先通過MATLAB中的Fir DesignTool工具得到濾波器的系數(shù)圖表(表1)。利用線性FIR濾波器抽頭系數(shù)的對稱性,通過加法器將對稱的系數(shù)進行預相加,從而降低硬件規(guī)模。根據(jù)分布式算法原理,通過將抽頭系數(shù)的所有可能組合固化在ROM中,利用查找表來代替乘法器。利用預相加模塊產生的地址來查找ROM表,并將相應的數(shù)值進行移位相加,從而得出正確的結果。

          表1  16階FIR濾波器系數(shù)

          DDC系統(tǒng)的實現(xiàn)

            利用上述的各個模塊,可得到DDC系統(tǒng)的實現(xiàn)結構圖如圖6所示。

            整個系統(tǒng)在Cyclone系列芯片EP1C6Q240C8上實現(xiàn),其FPGA綜合結果圖7所示。


          圖7  DDC系統(tǒng)的Quartus綜合結果


          圖8  系統(tǒng)時序測試結果

            時序測試圖(圖8)中,黃色為系統(tǒng)時鐘波形,綠色為NCO產生的正弦波時序波形,藍色為抽取濾波器輸出的時序波形,粉紅色為FIR濾波器輸出時序波形。從示波器顯示的時序圖可以看出抽取濾波器輸出波形的延時最大,大約為14ns左右,這和軟件仿真的結果比較吻合,仿真中抽取濾波器輸出的延時為16.47ns。故抽取濾波器是制約系統(tǒng)時鐘速率提高的關鍵因素。

          結語

            本文介紹了一種應用于數(shù)字化中頻頻譜分析儀的數(shù)字下變頻電路,整個電路基于FPGA實現(xiàn),結構簡單,易于編程實現(xiàn)。
            
          參考文獻:

          [1] Uwe Meyer-Baese著. 劉凌,胡永生譯. 數(shù)字信號處理的FPGA實現(xiàn)[M]. 北京: 清華大學出版社. 2002年
          [2] 楊小牛,嘍才義,徐建良.軟件無線電原理與應用[M].北京:電子工業(yè)出版社.2001年
          [3] 劉朋全.基于FPGA的FIR數(shù)字濾波器的設計和實現(xiàn)[碩士學位論文].西安:西北工業(yè)大學. 2006年3月
          [4] Kevin Skahill著,朱明程,孫普譯,可編程邏輯系統(tǒng)的VHDL設計技術。東南大學出版社,1998年
          [5] Wen Bi-yang. DDC Design by Using FPGA in HF OSMAR. 3rd International Conference on Computational Electromagnetics and Its Applications Proceedings. 2004

          濾波器相關文章:濾波器原理


          fpga相關文章:fpga是什么


          濾波器相關文章:濾波器原理


          低通濾波器相關文章:低通濾波器原理


          電源濾波器相關文章:電源濾波器原理


          混頻器相關文章:混頻器原理
          數(shù)字濾波器相關文章:數(shù)字濾波器原理
          汽車防盜機相關文章:汽車防盜機原理
          頻譜分析儀相關文章:頻譜分析儀原理


          關鍵詞: FPGA 200812

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();