學習LabVIEW(六)——匹配濾波的簡單仿真 作者: 時間:2017-01-09 來源:網絡 加入技術交流群 掃碼加入和技術大咖面對面交流海量資料庫查詢 收藏 很多年前,我們在《簡單仿了一下線性調頻脈沖的壓縮(又續)》中利用Simulink仿真了QuartusII提供的FIR Compiler生成的FIR濾波器模塊。現在我們又試著用LabVIEW搭了一個簡單的程序框圖。無論是雷達還是無線通信,匹配濾波似乎都是非常重要的:在雷達中,匹配濾波可以實現脈沖壓縮;在無線通信系統中,匹配濾波可以用來定位包頭。這次搭的框圖異常簡單,信號生成部分使用MATLAB節點,匹配濾波器使用LabVIEW提供的互相關節點,最后將輸出接到一個Scope上,就完成了。主要就是三個部分:信號構造,信號處理,可視化。框圖如下:在信號生成部分,使用的同步序列是13位的巴克碼。生成信號時,首先用0-1隨機序列填充信號向量,然后隨意插入了幾個同步頭序列。在整個信號處理的框圖外面套了一個定時循環,這樣就可以在scope上看到動態的波形圖了。定時循環的時鐘是1kHz,將計數器設為1500就可以讓定時循環每1.5s觸發一次。值得注意的是,MATLAB節點的輸出要設定為1D Real Array類型,這一點在《學習LabVIEW(四)——MATLAB script節點》中就已經提到過了。為了讓scope的觀看效果更加舒適,我們把“自動調整Y標尺”給關掉了。此外,由于互相關運算不具有交換律,因此互相關節點兩個輸入端怎么接都是有講究的。程序運行的效果如下圖所示:把程序停下來之后,我們可以導出當前Scope中的數據,如下圖所示:可以導出為Excel表格:也可以導出到剪貼板,利用clipb.py(見https://github.com/xialulee/WaveSyn/blob/master/wavesynlib/interfaces/windows/clipb.py),我們可以使用諸如sed, awk或者perl這樣的工具對數據進行處理,比如做一個門限檢測,如下圖所示:
評論