微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 学习LabVIEW(六)——匹配滤波的简单仿真

学习LabVIEW(六)——匹配滤波的简单仿真

时间: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这样的工具对数据进行处理,比如做一个门限检测,如下图所示:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top