用FPGA設計軟件無線電和調制解調器
發布時間:2008/5/26 0:00:00 訪問次數:753
    
    
    來源:中國電子技術信息網
    
    本文以16-qam rf發射數據泵的設計為例,介紹利用fpga設計數字濾波器的技巧和器件選擇方法,說明執行分布式計算時fpga比dsp的優越之處。
    
    所有數字邏輯的基本結構
    16-qam調制器
    編碼和碼元映射
    平方根升余弦濾波器
    設計技巧
    5 mhz載波
    分布式計算(da)技術
    濾波器的實現
    
    用現場可編程門陣列(fpga)設計軟件無線電和調制解調器可與dsp芯片媲美。雖然fpga可輕而易舉地實現卷積編碼器等復雜邏輯功能,但在實現大量復雜計算方面卻有很大的缺陷。即使用最快的fpga來實現矩陣乘法器,其成本和性能也抵不上一個僅值5美元的dsp芯片。在用cad工具設計時dsp仍是首選芯片,但是隨著分布式計算(da)技術的應用,fpga再次受到設計師的喜愛。
    
    fpga的特性之一是結構靈活。事實上無線和調制解調數據通道的功能模塊很容易映射到獨立和并行的硬件節點上。采用一個只能分時運行的數字信號處理器時,調度多個時間要求緊迫的任務需要非常復雜的編程,而采用fpga就避免了這一問題。
    
    我們將在設計16-qam射頻發射數據泵的同時介紹fpga特性,并詳細描述如何方便地把數據通道功能模塊轉換為xilinx 4000系列fpga的邏輯電路,從而準確地估計所需邏輯電路的數量。雖然滿足相同系統需求及使用同一類型fpga的16-qam數據泵的設計曾在公開文獻中發表過,但報道中的邏輯電路數量似乎比實際需要多得多。為了急于投放市場,產品很可能不用cad工具進行設計。完全依賴cad工具也未必總能得出最優的方案,還要付出大量辛勤的汗水、經驗和創造性工作。
    
    
    
    所有數字邏輯的基本結構
    
    只要有足夠的與非門及或非門等通用邏輯門即可構建任何數字邏輯。fpga具有充足的邏輯門。xilinx 4000系列的邏輯門采用真值表的形式,或者采用更為通用的16 字 x 1比特查找表(lut)的形式,它可實現四個輸入變量(查找表的地址線)的任意布爾函數功能。由于產生的函數功能通常相當于多個與非門的組合,所以lut被視為基本的邏輯單元。xilinx 4000系列可配置邏輯模塊(clb)包括兩個16字的lut,可組合產生五輸入變量的任意布爾函數。此外lut還可設置成兩個16 x 1 ram或一個32 x 1 ram。
    
    clb成二維方陣排列,clb及它們之間的互連可以分別配置。最小的xc4002包含一個8 x 8的clb矩陣,最大的xc4085xl則包含一個48 x 48的clb矩陣。每個lut連接一個高達100 mhz的觸發器。
    
    16-qam調制器
    
    16-qam調制器包括rf發射數據泵的關鍵功能模塊(見圖1)。20-mbps串行數據分為4比***元組(symbol)后,以每秒5兆碼元的速率并行送至一個差分編碼器和碼元映射器(symbol mapper)。該映射器產生3比特的正交分量對。然后這些分量對由一對平方根升余弦濾波器進行脈沖整形,經過插值達到每秒20兆碼元,再由5mhz載波進行調制,將各輸出相加后進行數模轉換。設計的關鍵是采用一對插值脈沖整形濾波器。
    
    為了有效地實現這種設計方法,有必要在確定邏輯門的總數時,將編碼和映射功能模塊以及一個5mhz調制器也考慮進去。
    
    編碼和碼元映射
    
    在確定編碼器和信號映射器的邏輯數目時,我們可以借鑒過去標準調制解調器的設計。如v.32中的編碼器包括一個提供180度雙相保護的差分編碼器和一個能加入冗余以減小接收器的位誤差率(ber)的卷積編碼器。編碼器和映射器都是有限狀態機實現的,所有狀態由五個寄存器(2.5個 clb)實現,連接邏輯由八個二輸入異或門(4個clb)及三個二輸入與門(1.5 clb)構成。在這個16-qam發送器中,一個串并轉換寄存器(2個clb)捕獲到四個20-mbps的串行比特后形成一個4比***元,這樣編碼器就
    
    
    來源:中國電子技術信息網
    
    本文以16-qam rf發射數據泵的設計為例,介紹利用fpga設計數字濾波器的技巧和器件選擇方法,說明執行分布式計算時fpga比dsp的優越之處。
    
    所有數字邏輯的基本結構
    16-qam調制器
    編碼和碼元映射
    平方根升余弦濾波器
    設計技巧
    5 mhz載波
    分布式計算(da)技術
    濾波器的實現
    
    用現場可編程門陣列(fpga)設計軟件無線電和調制解調器可與dsp芯片媲美。雖然fpga可輕而易舉地實現卷積編碼器等復雜邏輯功能,但在實現大量復雜計算方面卻有很大的缺陷。即使用最快的fpga來實現矩陣乘法器,其成本和性能也抵不上一個僅值5美元的dsp芯片。在用cad工具設計時dsp仍是首選芯片,但是隨著分布式計算(da)技術的應用,fpga再次受到設計師的喜愛。
    
    fpga的特性之一是結構靈活。事實上無線和調制解調數據通道的功能模塊很容易映射到獨立和并行的硬件節點上。采用一個只能分時運行的數字信號處理器時,調度多個時間要求緊迫的任務需要非常復雜的編程,而采用fpga就避免了這一問題。
    
    我們將在設計16-qam射頻發射數據泵的同時介紹fpga特性,并詳細描述如何方便地把數據通道功能模塊轉換為xilinx 4000系列fpga的邏輯電路,從而準確地估計所需邏輯電路的數量。雖然滿足相同系統需求及使用同一類型fpga的16-qam數據泵的設計曾在公開文獻中發表過,但報道中的邏輯電路數量似乎比實際需要多得多。為了急于投放市場,產品很可能不用cad工具進行設計。完全依賴cad工具也未必總能得出最優的方案,還要付出大量辛勤的汗水、經驗和創造性工作。
    
    
    
    所有數字邏輯的基本結構
    
    只要有足夠的與非門及或非門等通用邏輯門即可構建任何數字邏輯。fpga具有充足的邏輯門。xilinx 4000系列的邏輯門采用真值表的形式,或者采用更為通用的16 字 x 1比特查找表(lut)的形式,它可實現四個輸入變量(查找表的地址線)的任意布爾函數功能。由于產生的函數功能通常相當于多個與非門的組合,所以lut被視為基本的邏輯單元。xilinx 4000系列可配置邏輯模塊(clb)包括兩個16字的lut,可組合產生五輸入變量的任意布爾函數。此外lut還可設置成兩個16 x 1 ram或一個32 x 1 ram。
    
    clb成二維方陣排列,clb及它們之間的互連可以分別配置。最小的xc4002包含一個8 x 8的clb矩陣,最大的xc4085xl則包含一個48 x 48的clb矩陣。每個lut連接一個高達100 mhz的觸發器。
    
    16-qam調制器
    
    16-qam調制器包括rf發射數據泵的關鍵功能模塊(見圖1)。20-mbps串行數據分為4比***元組(symbol)后,以每秒5兆碼元的速率并行送至一個差分編碼器和碼元映射器(symbol mapper)。該映射器產生3比特的正交分量對。然后這些分量對由一對平方根升余弦濾波器進行脈沖整形,經過插值達到每秒20兆碼元,再由5mhz載波進行調制,將各輸出相加后進行數模轉換。設計的關鍵是采用一對插值脈沖整形濾波器。
    
    為了有效地實現這種設計方法,有必要在確定邏輯門的總數時,將編碼和映射功能模塊以及一個5mhz調制器也考慮進去。
    
    編碼和碼元映射
    
    在確定編碼器和信號映射器的邏輯數目時,我們可以借鑒過去標準調制解調器的設計。如v.32中的編碼器包括一個提供180度雙相保護的差分編碼器和一個能加入冗余以減小接收器的位誤差率(ber)的卷積編碼器。編碼器和映射器都是有限狀態機實現的,所有狀態由五個寄存器(2.5個 clb)實現,連接邏輯由八個二輸入異或門(4個clb)及三個二輸入與門(1.5 clb)構成。在這個16-qam發送器中,一個串并轉換寄存器(2個clb)捕獲到四個20-mbps的串行比特后形成一個4比***元,這樣編碼器就