資料介紹
描述
介紹
借助Vitis 高層次綜合 (HLS) ,FPGA 的一般開發時間可以大大縮短。
在此項目中,將展示如何使用 HLS 加速 FPGA 上的 FIR 濾波器。
在之前關于使用 HLS 運行簡單神經網絡的博客文章中,展示了使用 Pynq 的 KV260 的設置過程。
所有數據和預建硬件都在隨附的GitHub 存儲庫中
基礎知識
在數字信號處理中,有限脈沖響應 (FIR) 濾波器對任何給定的有限輸入信號都有有限響應。FIR 濾波器由抽頭延遲線構成,用于將輸入信號延遲給定數量的抽頭 ( N )。z^{-1} 是Z 變換的延遲運算符
濾波器系數可以排列在脈沖響應向量中。
輸出信號可以用
或短
這與輸入信號與脈沖響應的卷積相同
對于濾波器設計,使用了關于使用 python 進行低通 FIR 濾波器設計的 Scipy Cookbook 。
過濾器設計有具有以下特性的凱撒窗:
- 10 Hz 的截止頻率 ( f_c )
- 5 Hz 的過渡寬度 ( Δf )
- 60 dB 的阻帶紋波 (A_stop)
該食譜已針對該項目進行了改編fir.py
系數:
頻率響應:
過濾后的信號:
在食譜中,scipy 函數scipy.signal.lfilter()
用于過濾信號。一個純的和非優化的 python(使用 NumPy)實現看起來像:
高級合成
對于 HLS 部分,我們使用 74 抽頭濾波器過濾長度為 1024 的信號。在沒有并行性的情況下,我們需要大約 75k 個周期來過濾信號。
HLS中的 C++ 代碼fir.cpp
看起來與 Python 代碼非常相似。通過一些代碼提升技術(將i = 0時的代碼放在for 循環之外),HLS 可以流水線化最外層的循環。如果流水線循環包含更多循環,它們將自動展開。
Python 腳本fir.py
將計算出的抽頭系數寫入 C++ 頭文件。出于調試目的,測試信號和預期響應也寫入fir.h
頭文件中。
在綜合后報告中,我們看到相當大的開銷,因為即使循環是流水線,它也需要 1345 個周期來過濾長度為 1024 的信號。這是由于昂貴的浮點運算。
為避免浮點運算,可以使用Vitis HLS 的定點包。為了不在 Python 中使用定點(為了與 Pynq 通信),函數的輸入和輸出仍然是 float。輸入和輸出必須進行相應的類型轉換。在這個項目中,使用了 32 位的字寬和 1 位的整數寬度。
?
正如報告中所見,開銷幾乎消失,1058 個周期確實接近了 1024 個周期的最佳延遲。
Vitis HLS 和 Vivado
與上一篇博文一樣,使用 Vitis HLS 和 Vivado 生成硬件。時鐘頻率使用100MHz,之后可以在Pynq中超頻。
Pynq
Pynq 代碼 ( fir.ipynb
) 與之前的博文非常相似。系統可超頻至 250 MHz
對于普通的 Python 實現,已經實現了 3160 倍的巨大性能提升。為了與scipy (lib) 的 lfilter()進行比較,可以實現 6.7 倍的性能提升。
- 如何使用FPGA實現分布式算法的高階FIR濾波器 30次下載
- 如何使用FPGA實現實現高速并行FIR濾波器 7次下載
- 如何使用FPGA實現FIR抽取濾波器的設計 3次下載
- FIR濾波器的FPGA設計與實現 14次下載
- 基于FPGA的32階FIR濾波器的設計與實現 15次下載
- 基于FPGA實現變采樣率FIR濾波器的研究 19次下載
- 基于MATLAB的FIR濾波器設計與濾波 63次下載
- 基于FPGA的FIR濾波器設計與實現 38次下載
- 基于matlab和fpga的FIR濾波器設計 56次下載
- 基于FPGA設計的FIR濾波器的實現與對比 121次下載
- 基于流水線的并行FIR濾波器設計 63次下載
- 基于FPGA的FIR濾波器的性能研究 84次下載
- 基于FPGA對稱型FIR濾波器的設計與實現 30次下載
- FIR濾波器的FPGA實現及其仿真研究 44次下載
- 用窗函數設計FIR濾波器 97次下載
- FIR濾波器和IIR濾波器的區別與聯系有哪些 293次閱讀
- Verilog串行FIR濾波器設計 548次閱讀
- Verilog并行FIR濾波器設計 620次閱讀
- FIR濾波器的MATLAB與FPGA設計 2494次閱讀
- 基于FPGA的可調FIR濾波器在實際通信系統中的實現方法設計 2372次閱讀
- FPGA是如何設計并實現了32階FIR數字濾波器的硬件電路? 5095次閱讀
- FPGA的FIR抽取濾波器設計教程 1074次閱讀
- FPGA的FIR抽取濾波器設計詳細教程 1847次閱讀
- 一種基于分布式算法的低通FIR濾波器 2945次閱讀
- 基于FPGA乘法器的FIR 低通濾波器整體設計 2740次閱讀
- 使用FPGA構建的數字濾波器設計方案 8391次閱讀
- DSP in FPGA:FIR濾波器(二) 1872次閱讀
- DSP in FPGA:FIR濾波器(一) 8181次閱讀
- 基于FPGA的FIR數字濾波器設計方案 8662次閱讀
- 基于DSP的FIR濾波器的設計 1w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多