现在有一台机器,通常使用低波滤通来测定其在不同的速度时候传感器的稳定频率值。
由于
labview的低波滤通控件的截止频率使用控件输入的,必须靠人工一个一个的实验,十分麻烦,
现在想让LABVIEW自动测在不同速度下,不同的稳定频率值,并且记录下来,
换句话讲,滤波器的截止频率输入值应该是数组而不是单一控件,因为控件只有一个值,机器速度变化的时候,系统频率也在变,无法自动换下一个截止频率,
不知道哪位大侠,有非常高超的LABVIEW编程技巧,尤其是自适应滤波类 或变截止频率滤波器的编程经验,能够指点迷津,重谢。
test_for_filter.zip 下载积分: 积分 -1 分
18.57 KB, 下载次数: 14, 下载积分: 积分 -1 分
拜托帮忙转下8.6格式,2014刚刚被卸载,十分感谢。
你的程序里面阶数是一个整形变量而不是个数组。理想的阶数应该是个整形数组。如果你有能力写出来的话,那就更好了。你肯定得用双重WHILE循环,只有这样,截至频率才能够和阶数形成遍历。而这样,稍有不慎,就会死机。
为啥会要求这样来?给你举个例子,看官你就明白了
比如
截止频律一般在70Hz到90Hz之间,而阶数则在3阶到12阶之间。
如果有双层循环,
4阶 70Hz
4阶 71Hz
...
4阶 90Hz
然后是5阶,遍历70到90赫兹
然后是6阶,遍历70到90赫兹,
...
然后是9阶,也就是速度最大的情况,也同样需要遍历70到90Hz。
因为全程有TDMS文件自动实时记录,所以,所有的遍历结果将会被完整地记录下来。
通过Matlab脚本的迭代处理TDMS文件,LABVIEW能很快确定,最佳的频率是多少。
现在你编写的程序阶数不是个数组,因此,遍历的时候,每一阶做完后,还需要人工的变更他的值,需要停机器的人为干
预。有几阶,就得停几回。
这就是差距。
不过还得多谢你提供了新思路。
你的程序里面阶数是一个整形变量而不是个数组。理想的阶数应该是个整形数组。如果你有能力写出来的话,那就更好了。你肯定得用双重WHILE循环,只有这样,截至频率才能够和阶数形成遍历。而这样,稍有不慎,就会死机。
一周热门 更多>