labview卷积结合律笔记

简介: labview卷积结合律笔记

博客写作背景----项目中解决的问题

最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是美国国家仪器公司(NI)的创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于G语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。


下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。


编程知识点–信号运算例子笔记

验证卷积结合律实例

离散时间序列信号的卷积运算在求解系统响应时经常需要用到,手工计算比较复杂,容易出错,而LabVIEW中提供的卷积VI(Convolution.vi)就能够直接对两个输入序列信号进行卷积运算,并返回输出结果序列,非常方便。


卷积VI是一个多态型VI,它能够进行一维或二维的实卷积或复卷积,因此就有四种不同的形式,以最常用到的一维实卷积为例,其连线板如图


05fad88a5c1048aab47e9ddc2d81c54d.png

VI输入参数中的X和Y是两个待卷积的实序列,参数“算法”用于指定卷积算法,指定为direct时使用直接的线性卷积方法,指定为frequency domain时使用基于FFT的频域算法,当序列长度较小时使用前者更快一些,当序列长度较大时则使用后者更快一些,其他情况下相差不多,默认值为使用后者。

输出参数X*Y即为卷积结果。

9c88f6a834fd4beaa6c6f1ebe0e4ad23.png

相反,反卷积VI(Deconvolution.vi)可以提供卷积的逆运算——反卷积,其连线板如图


该VI的输入参数X*Y为卷积结果,Y为其中的一个被卷积序列,输出参数X为求出的另一个被卷积序列


下面以卷积结合律的验证为例,介绍LabVIEW在卷积中的应用。卷积结合律是指信号x(n)、h1(n)、h2(n)在连续进行卷积运算时可以按顺序先进行前两者或后两者的卷积运算,再与第三者卷积,其结果相等,即:

[x(n)*h1(n)]h2(n)=x(n)[h1(n)*h2(n)]

新建名为“验证卷积结合律.vi”的VI,在框图中放入Chirp信号VI(Chirp Pattern.vi)、方波VI(Square Wave.vi)、斜坡信号VI(Ramp Pattern.vi),分别用于生成三个离散时间序列信号:x(n)为线性调频信号,h1(n)为方波信号,h2(n)为斜坡信号。

添加若干卷积VI,将这三个序列信号按验证式两侧的运算顺序分别进行卷积后,将得到的结果显示在两个波形图中,程序前面板和框图如图


d7b82a62753b41e488697a5a5c05ca7c.png


目录
相关文章
|
7月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv5 | 卷积模块 | 即插即用的可变核卷积AKConv【附代码+小白可上手】
本文介绍了YOLOv5模型的一个改进,即使用AKConv替代标准卷积以提高目标检测效果。AKConv允许卷积核有任意数量的参数和采样形状,增强了对不同目标形状和大小的适应性。教程详细讲解了AKConv的原理,提供了代码实现步骤,包括如何将AKConv添加到YOLOv5中,并给出了相关代码片段。此外,还分享了完整的YOLOv5 AKConv实现代码和GFLOPs计算,鼓励读者动手实践。通过这一改进,网络在保持性能的同时增加了灵活性。
|
7月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8 | 卷积模块 | 提高网络的灵活性和表征能力的动态卷积【附代码+小白可上手】
本教程介绍了如何在YOLOv8中使用动态卷积提升网络性能和灵活性。动态卷积利用注意力机制动态选择和组合卷积核,适应输入数据特征,解决了轻量级CNN的局限。文中提供了详细步骤教读者如何添加和修改代码,包括在`conv.py`中添加`Dynamic_conv2d`模块,更新`init.py`、`task.py`和`yaml`配置文件。此外,还分享了完整代码和进阶技巧,帮助深度学习初学者实践目标检测。参考[YOLOv8改进](https://blog.csdn.net/m0_67647321/category_12548649.html)专栏获取更多详情。
|
7月前
|
机器学习/深度学习 运维 搜索推荐
图神经网络笔记
图神经网络笔记
127 0
|
机器学习/深度学习 人工智能 计算机视觉
使用 LabVIEW调用LeNet快速搭建手写数字识别系统(内含源码)
使用 LabVIEW调用LeNet快速搭建手写数字识别系统(内含源码)
187 0
使用 LabVIEW调用LeNet快速搭建手写数字识别系统(内含源码)
|
机器学习/深度学习
【MATLAB第57期】基于MATLAB的双隐含层BP神经网络回归预测模型(无工具箱版本及工具箱版本对比)
因工具箱版本和无工具箱版本训练方法不同,以及有工具箱版本内置默认参数较为丰富 ,如连续验证最大失败数量、训练集再划分样本等等参数 ,且trainlm函数功能强大,用代码编写比较复杂。故有工具版计算结果较好,收敛速度较快,使用方便,而无工具箱版本则更能直观的观察数据变化以及能够更直观体现BP神经网络计算原理。
【MATLAB第57期】基于MATLAB的双隐含层BP神经网络回归预测模型(无工具箱版本及工具箱版本对比)
|
机器学习/深度学习 算法
基于神经网络的传递函数控制器matlab实现,神经网络自己编程实现不使用matlab的工具箱
基于神经网络的传递函数控制器matlab实现,神经网络自己编程实现不使用matlab的工具箱
249 0
基于神经网络的传递函数控制器matlab实现,神经网络自己编程实现不使用matlab的工具箱
|
机器学习/深度学习 算法
基于FNN模糊神经网络的控制器解耦控制matlab仿真
基于FNN模糊神经网络的控制器解耦控制matlab仿真
165 0
基于FNN模糊神经网络的控制器解耦控制matlab仿真
|
机器学习/深度学习 算法 异构计算
m使用FPGA实现基于BP神经网络的英文字母识别,开发平台为vivado2019.2,verilog编程,附带matlab辅助验证
m使用FPGA实现基于BP神经网络的英文字母识别,开发平台为vivado2019.2,verilog编程,附带matlab辅助验证
299 0
m使用FPGA实现基于BP神经网络的英文字母识别,开发平台为vivado2019.2,verilog编程,附带matlab辅助验证
|
机器学习/深度学习 算法
m基于多集成BP神经网络的matlab仿真,神经网络通过编程实现不使用工具箱
m基于多集成BP神经网络的matlab仿真,神经网络通过编程实现不使用工具箱
265 0
m基于多集成BP神经网络的matlab仿真,神经网络通过编程实现不使用工具箱
|
机器学习/深度学习 算法 BI
基于BP神经网络的数字识别系统仿真,带GUI界面
基于BP神经网络的数字识别系统仿真,带GUI界面
165 0
基于BP神经网络的数字识别系统仿真,带GUI界面