- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
LabVIEW的信号处理方法
有两个同频率的正弦信号,想测试它们的频率和相位差。有三种方法:过零检测法、相关分析法、频谱分析法。
哪种方法最好编程和精度最高?用软件来完成的话,对信号要做什么处理?
直接是在数采卡采集范围内的正弦信号就行?做的思路是不是先采集两路信号过来,然后再用各种函数进行分析?
A:
相位差式扭矩传感器的信号测量,都是用程序处理的,而且结果都还不错
两种方法:
一种是直接将正弦信号采集进来,然后利用labview的相位分析控件求得相位差,这种方法的缺点是在高速旋转时需要极高的采样率,通常我们一块6025的AI只能用来采这两路信号。
另一种方法是在外围用数字电路将两路信号整定成方波,然后用门将表示相位差的方波做出来,然后用计数器口的脉宽测试功能求出具体相位差。
Q:
四川诚邦NJ型扭矩传感器。转速不高,最高1150转,而且我常用的是
如果要用计数器的话,用几个?我的卡只有两个计数器。
A:
如果是直接采的话采样率肯定越高越好
不过可以估算:0到90度对应量程M
n=转速rpm*每转输出脉冲/60
假设采样率
直采的两路信号分别用Waveform
如果采用外部先处理的话也很简单,先把两路信号通过过零检测芯片。
整为两路方波信号,然后通过一个或非逻辑将两路方波信号的相位差处理出来,成为一路方波信号,信号的高电平代表相位差,整个周期当然是360度了,然后用一路ctr口即可测试出这路信号的高电平脉宽和整周期宽度,从而可以得到相位差的角度表示。
2006528141661.rar
想测试一个10MHz的信号接入电容的前后波形的相位差,通过20M的信号发生器和数字化仪能测试出来吗?
20M的信号发生器的速率是指每点的更新率,也就是说如果你要生成一个sine信号(每周期1000个点),那么你生成的sine的频率为20KHz。所以你要得到一个10MHz的sine信号,最好用200MHz的发生器生成,比如NI
再用100MHz(5122)或200MHz(5124)的数字化仪来采就可以了(每个设备正好有2个同步采集的通道)。
数字滤波控件的taps
数字滤波控件的taps是
FIR
是滤波器传递函数的阶数,
滤波
对采集到的数据进行滤波。采集到的数据都是二维数组,与数字滤波节点连接时告知source和sink类型不同,sink是waveform
可是二维数组如何才能变成waveform?
波形数据类型是一个簇,cluster,你可以先研究一下你的二维数组,把你需要处理的那组数先取出来,可以用数组里的函数。
把这个一位数组组合成一个cluster,
做倒谱根据的是先求功率谱,再取对数,然后进行傅立叶反变换,可图上显示是一个平底锅底部的线条。
各位高手,谁做过,可否讨论讨论代码,或者发来程序图片看一下,我不肯定自己正确与否。
PS:我测的是一条频率为5幅值为10的正弦波。
你倒谱计算步骤应该是对的,可能是参数设置的问题,建议参考一下现代信号分析的书
LabVIEW中暂时还没有直接计算倒谱的工具函数
LabVIEW的高级信号处理工具包(Advanced
在这个工具包的子工具包(时间序列分析)中关于倒谱有下面几个VI:
TSA
TSA
TSA
duty
关于duty
用LabVIEW如何decode
有个Express
上一篇:Labview
簇元素顺序更改中的规律
下一篇:Labview之数据类型