新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的自適應波束形成算法實現

        基于FPGA的自適應波束形成算法實現

        作者: 時間:2011-07-11 來源:網絡 收藏

          2.2 系統軟件模塊設計

          (Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

          目前以硬件描述語言(Verilog 或 VHDL)所完成的電路設計,可以經過簡單的綜合與布局,快速的燒錄至 上進行測試,是現代 IC 設計驗證的技術主流。這些可編輯元件可以被用來實現一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數學方程式。在大多數的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發器(Flip-flop)或者其他更加完整的記憶塊。

          系統設計師可以根據需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。

          FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開發是在普通的FPGA上完成的,然后將設計轉移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(復雜可編程邏輯器件備)。

          根據數字形成的原理和數學模型,本文設計的基于FPGA數字波束形成系統結構如圖2所示。8路輸入信號x(n)經過前端信號處理,A/D轉換后,在總控模塊的控制下進入輸入數據存儲模塊雙口RAM,形成的具體實現步驟如下:

          第一步:由式(1)得,實際輸入的x(n)和調整后的權值w(n)各分量相乘之后累加得到輸出y(n);

          第二步:由式(2)得,實際輸出的y(n)與期望d(n)相減得到調整誤差e(n);

          第三步:由式(3)得,延時后的調整誤差P(n)跟步長的2倍相乘,再和延時的輸入x(n-D)相乘得到的積與延時的權值相加,得到新的權值向量。

          第四步:新的權值向量再與新的輸入向量循環進行第一到第三步實現自適應。

          由此,我們可以將系統分為五大模塊:主控模塊:主要產生時鐘信號,給各模塊提供時序信號觸發各模塊的啟動和初始化;雙口存儲模塊(包括輸入數據存儲模塊、權值存儲模塊、誤差信號存儲模塊等):存儲各功能模塊所需的數據和參數;自適應權值計算模塊,誤差計算模塊:這兩個模塊可以合在一起,用于系數更新的白適應;空間濾波器乘加模塊:完成濾波運算,得到輸出結果。

        基于FPGA圓陣超聲自適應波束形成的設計

          2.2.1 控制模塊

          輸入信號和權值是8位的復數數據,通過控制模塊選擇乘法操作的操作數,兩個復數信號相乘的4種組合00,11,01,10可以完成實部和虛部之間4個乘法運算,四種情況控制模塊輸出的控制信號分別為ST0,ST1,ST2,ST3。

          其中,clk_regbt用來控制乘法器完成乘法,counterbt用來控制乘數的位選,clk_reg用來控制運算新數的進入、上次計算的完畢和結果的輸出。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 淮安市| 防城港市| 龙江县| 赤壁市| 分宜县| 丰都县| 易门县| 德令哈市| 水城县| 苗栗县| 横山县| 百色市| 陕西省| 红安县| 石景山区| 祁东县| 商都县| 额敏县| 永康市| 盐城市| 潞西市| 闸北区| 柘城县| 教育| 稷山县| 许昌县| 金沙县| 化隆| 定襄县| 灌云县| 蚌埠市| 北流市| 嘉鱼县| 云浮市| 南漳县| 资兴市| 梅河口市| 崇义县| 新绛县| 岳普湖县| 习水县|