0
$\begingroup$

I just ran the example code, stepped into the tsa function, and saw the line 139:

enter image description here

By looking at the code in the red box, it seems that MATLAB assumes constant rpm in the same rotation and evenly divides the rotation time by number of points, is my guess right? Is it a valid assumption?

Here is my code:

close all
clear all
clc

fs = 1000;
t = 0:1/fs:5-1/fs;

rpm0 = 2400;

a = 0.1;
f0 = rpm0/60;
T = 0.75;

phi = 2*pi*f0*T*(1-exp(-t/T));

x = a*cos(phi) + randn(size(phi))/200;
y = a*sin(phi) + randn(size(phi))/200;

plot(t,x,t,y)

[rpm,~,tp] = tachorpm(x(t<2.5),fs);
tachorpm(x(t<2.5),fs)

clf
tsa(x,fs,tp,'Method','linear')
$\endgroup$

1 Answer 1

1
$\begingroup$

The Time Synchronous Averaging (TSA) method was not invented by Matlab - they only implemented it. Therefore, I would ask if it is a good assumption rather than if it is a correct assumption. So, the answer is that for the TSA to work, it is a mandatory assumption. That is why you might need to do angular resampling prior to the TSA. Also, there are other methods for the separation of the periodic components of a vibration signal. Randall's Vibration‐based Condition Monitoring dedicated a section for comparison to those other methods.

$\endgroup$
4
  • $\begingroup$ One method I am aware of is that if there are multiple pulses per revolution, RPM can be estimated on each pulse position. One can integrate the angular speed to get angular displacement, eventually obtain the even angle signal. I think this resampling method is a bit more accurate in terms of resampling for each revolution because it does not rely on any assumption. I was wondering the rational why MATLAB chose the previous implementation as opposed to another. $\endgroup$
    – John
    Commented May 17, 2022 at 0:15
  • $\begingroup$ @John I think that there is no place for comparison between the angular resampling to the TSA. While the first aims to eliminate the effects of the shaft speed non-stationarity the second aims to average out the non-periodical components. In the frequency domain - the first aims to eliminate the smearing while the second is a multiplication with an impulse train $\endgroup$ Commented May 17, 2022 at 7:37
  • $\begingroup$ Application level speaking, I agree with you. But both methods do resampling in angular domain under the hood, and the difference and why they are different is what i am curious about. $\endgroup$
    – John
    Commented May 17, 2022 at 7:55
  • $\begingroup$ @john I did not look into the code but the only reason for resampling during the TSA is to have an integer number of samples per cycle. The angular resampling is quite a different process... $\endgroup$ Commented May 17, 2022 at 13:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.