很多年前,我们在《简单仿了一下线性调频脉冲的压缩(又续)》中利用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这样的工具对数据进行处理,比如做一个门限检测,如下图所示:

推荐内容