等时间间隔采样与等角度间隔采样及其实现方法
等时间间隔采样 等时间间隔采样,顾名思义,就是每个采样点之间的时间间隔是固定的。任意一块采集卡,如果不改变采用频率,采集得到的数据都是等时间间隔。对于定频信号,如果采样频率为信号频率的整数倍(前提要满足采样定理),经过快速傅里叶变换后,可以得到准确的频谱信息。clc
clear;
K1=23;
K2=5;
f=9;
sf=K1*f;
N=K2*sf;
t=0:1/sf:(N-1)/sf;
x=sin(2*pi*f*t);
subplot(211)
plot(t,x)
title('时域波形')
xlabel('时间:S')
fx=0:sf/N:(N-1)*sf/N;
y=2*abs(fft(x))/N;
subplot(212)
plot(fx(1:N/2),y(1:N/2))
title('波形幅值谱')
xlabel('频谱:Hz')
如果信号为变频率信号,等时间间隔采样就会引起频谱泄露。
clc
clear
L=256*8;
fs=256;
t0=0:1/fs:(L-1)/fs;
t1=t0(length(t0));
f0=1;
f1=20;
x=1*chirp(t0,f0,t1,f1,[],-90);
subplot(211)
plot(t0,x)
xlabel('时间:秒')
ylabel('速度:mm/s')
title('时域信号')
y=2*abs(fft(x))/L;
fx=0:fs/L:(L-1)*fs/L;
subplot(212)
plot(fx(1:L/2),y(1:L/2))
xlabel('频谱:Hz')
ylabel('速度:mm/s')
title('时域信号频谱')
等角度间隔采样 等角度间隔采样要求采样样本所对应的转子转动角度是一致的,即每周期采样点数固定,采样点之间的角度差固定。如按4倍等角度采样,即要求转子转动一周采集4个采样点,采样点之间的角度差为90度。
对于上述变频率信号,采样128倍频等角度采样后的信号及频谱(阶比谱)如下:
实现等角度采样有 2 种方法:硬件方法和软件方法。
硬件方法就是传统的基于锁相环、倍频电路的采样方法。该方法原理如下:转速计采集键相脉冲信号,每转动一圈提供一个键相脉冲,经锁相环倍频电路生成N 倍频脉冲,由倍频脉冲外部触发控制AD 对原始信号进行等角度采样;同时根据采用频率大小,选择可变截止频率的抗混叠滤波器对原始信号先进行滤波。
传统方法的缺点是硬件结构复杂,需要专门的编码器、锁相环、倍频器,以及截止频率可变的抗混叠滤波器,价格昂贵;跟踪精度低,原始信号频率变化快时,锁相环电路很难很好的跟踪转速变化。
软件方式又称为计算阶比跟踪技术(Computed Order Tracking-COT)。首先以很高的采用频率对信号进行过采样,该过程是等时间间隔采样,然后应用数字信号处理技术,对原始的过采样信号进行等角度重采样,并且采样数字滤波方式实现信号的变频抗混叠滤波。
软件方法的优点是结构简单,无需复杂的处理电路,只需采用简单的截止频率固定的抗混叠滤波器,价格低廉;实现精确的跟踪滤波,消除信号频谱泄露。
本文来源于合肥伟博测控科技有限公司(vibtech.cn),该公司目前已经完成实时计算阶比跟踪技术的研发,并已经将该项技术成功应用于公司的系列离线振动测试分析系统以及振动在线监测故障诊断系统。
最近正在研究这个,请问有没有code可以分享一下。论坛里已有的code我研究过了,由于我的转速信号的变化并不是非常大,所以在使用阶次分级的方法进行过采样,希望得到的频谱的信噪比可以提高,可是我在进行过采样后得到的信号除了分辨率降低以外,SNR也降低了,过采样我用的是matlab里的interp1命令。请教大牛,要解决我的问题还有什么需要注意的地方吗? lmhaiwuli 发表于 2018-4-12 14:33
最近正在研究这个,请问有没有code可以分享一下。论坛里已有的code我研究过了,由于我的转速信号的变化并不 ...
数据发我来处理看看,interp1是不合适的,这个函数没有做抗混叠滤波 impulse 发表于 2018-4-12 15:24
数据发我来处理看看,interp1是不合适的,这个函数没有做抗混叠滤波
数据就是普通的噪声信号,采样频率大于5k。如果interp1不行的话,我要用哪几个命令比较好呢?还是先做低通滤波,再采样可以么?有没有比较好的过采样方法推荐?
页:
[1]