很多年前,我們?cè)凇逗?jiǎn)單仿了一下線性調(diào)頻脈沖的壓縮(又續(xù))》中利用Simulink仿真了Q
uartusII提供的FIR Compiler生成的FIR濾波器模塊?,F(xiàn)在我們又試著用
LabVIEW搭了一個(gè)簡(jiǎn)單的程序
框圖。無論是雷達(dá)還是無線通信,
匹配濾波似乎都是非常重要的:在雷達(dá)中,匹配濾波可以實(shí)現(xiàn)脈沖壓縮;在無線通信系統(tǒng)中,匹配濾波可以用來定位包頭。
這次搭的框圖異常簡(jiǎn)單,信號(hào)生成部分使用MATLAB節(jié)點(diǎn),匹配濾波器使用LabVIEW提供的互相關(guān)節(jié)點(diǎn),最后將輸出接到一個(gè)Scope上,就完成了。主要就是三個(gè)部分:信號(hào)構(gòu)造,信號(hào)處理,可視化??驁D如下:
在信號(hào)生成部分,使用的同步序列是13位的巴克碼。生成信號(hào)時(shí),首先用0-1隨機(jī)序列填充信號(hào)向量,然后隨意插入了幾個(gè)同步頭序列。在整個(gè)信號(hào)處理的框圖外面套了一個(gè)定時(shí)循環(huán),這樣就可以在scope上看到動(dòng)態(tài)的波形圖了。定時(shí)循環(huán)的時(shí)鐘是1kHz,將計(jì)數(shù)器設(shè)為1500就可以讓定時(shí)循環(huán)每1.5s觸發(fā)一次。
值得注意的是,MATLAB節(jié)點(diǎn)的輸出要設(shè)定為1D Real Array類型,這一點(diǎn)在《學(xué)習(xí)LabVIEW(四)——MATLAB script節(jié)點(diǎn)》中就已經(jīng)提到過了。為了讓scope的觀看效果更加舒適,我們把“自動(dòng)調(diào)整Y標(biāo)尺”給關(guān)掉了。此外,由于互相關(guān)運(yùn)算不具有交換律,因此互相關(guān)節(jié)點(diǎn)兩個(gè)輸入端怎么接都是有講究的。
程序運(yùn)行的效果如下圖所示:
把程序停下來之后,我們可以導(dǎo)出當(dāng)前Scope中的數(shù)據(jù),如下圖所示:可以導(dǎo)出為Excel表格:也可以導(dǎo)出到剪貼板,利用clipb.py(見https://github.com/xialulee/WaveSyn/blob/master/wavesynlib/interfaces/windows/clipb.py),我們可以使用諸如sed, awk或者perl這樣的工具對(duì)數(shù)據(jù)進(jìn)行處理,比如做一個(gè)門限檢測(cè),如下圖所示:
關(guān)鍵詞:
LabVIEW匹配濾波簡(jiǎn)單仿