線性調頻信號基于FPGA IP核的脈沖壓縮設計
2.2.1 FFT運算
對于長度為N的時域序列X(n)的離散傅里葉變換為X(k):

FFT算法主要是利用旋轉因子exp(-j2πnk/N)的周期性和對稱性的特點進行改進的算法,可以有效地減小運算量。Xilinx公司的FFT核利用Cooley-Tukey算法實現FFT/IFFT運算,最高支持216點長度的運算,可以實現流水線型、基4、基2三種結構,蝶形運算后可選擇對數據順序輸出還是倒序輸出,對IP核進行不同的配置,可以實現資源和運算速度的最優化。在此選用基4蝶形運算,對于1 024點數據,需要5級蝶形運算。
Xilinx公司的FFT核的參數通過GUI界面(見圖5)進行設置,可設置的參數包括FFT點數,運算實施方法,輸入數據位數等,設置完畢后點擊Generate可即時生成代碼。本文引用地址:http://www.104case.com/article/191135.htm
硬件描述語言采用VHDL,使用時程序中要對器件初始化并進行定義,FFT核的器件定義語句見圖6。
2.2.2 匹配濾波系數產生
根據匹配濾波理論,對于一個確定的輸入信號,匹配濾波系數就是這個輸入信號的頻譜的復共軛,系數可以通過Matlab預先計算出來并以二進制的文件格式進行存儲。此處計算時可以進行加權處理,在系數中乘以窗函數即可。
通過Xilinx公司的單口Block Memory核,可以把Matlab產生的存儲文件加載進去。當程序運行時,根據使能控制信號,把匹配濾波系數數據(1 024點)依次讀取出來,送入乘法器進行后續運算。BlockMemory核的參數設置通過GUI界面進行,可即使生成代碼。
2.2.3 乘法運算
乘法運算部分完成FFT后數據與匹配濾波系數數據的復數乘法運算。根據復數的乘法規則。
(A+aj)(B+bj)=(AB-ab)+(Ab+aB)j
兩個復數的乘法運算實際上包括了4個實數的乘法運算,因此,此部分的設計用到了4個乘法器核。Xilinx公司的乘法器核支持補碼運算,可輸入A,B兩路數據,每路的輸入數據長度可達64 b。乘法器核的參數設置也是通過GUI界面進行,可即使生成代碼。
評論