First comment – the magnitude 0.35 you computed was pk/0, not rms, correct? pk/0 is what I came up with. Greg said rms.
As for Pete's coment on the periodicity, run a 7Hz to 10Hz bandpass filter on the accel data (2nd column) and the periodicity jumps right out.
My comments were:
1 – The signal is not stable. Stable may be a vague term, but where I was headed is that it does not seem valuable as a calibration reference since the 1x component seems to vary over time.
2 – The entire waveform is not periodic at 1x (if it were the higher frequency content would not influence the computation of 1x in my algorithm as they did).
Further on discussion of 1, I performed filtering.
Slide 1 is original waveform and LP-filtered waveform.
I chose Kaiser Bessel 12hz cutoff, 5hz transisition width (about 2.5hz on each side), Allowable deviation at ends of transition width: 0.05, Resulting FIR Length: 253 Samples (output has half that many samples trimmed from each end). It does not preserve phase, but good enough to judge magnitude and phase stability imo.
Original and LP filtered waveform in slide 1.
Zoom-in on LP filtered waveform in slide 2.
Slide 3 is result of LP filtering. Since I know the periodicity of the signal of interest, I performed LP filtering by subtracting out a rolling average of length 115 samples, centered on the point of interest. You can already see substantial variation in the peak-to-peak values, more than just expected by result of sampling effects missing the true peak.
Slide 4 is sliding 1 period computation. The magnitude floats from 0.06 to 0.07 and phase floats –2.5 to –2.7 (again magnitude of phase no longer correct due to filtering, but variability is evident).
Slide 5 is zoom-in of the 1-period computation. Again you see magnitude vary 0.06 to 0.07.
This is what I meant by not stable
Slides 6 and 7 are sliding 10-period computation. There is a variability 0.064 – 0.066 which has some sinusoidal 1x component in it.
Reviewing my algorithm:
1 – We do have very good knowledge of the fundamental period. There are 16 pulse rising edges and they are all separated by exactly 114 samples.
2 – The period is (114+1)*dt. 114 is the correct length for the sum since we don't want to count both endpoints (only one or the other). However I think I should have used 115 when computing w... i.e. should have used w = 2 * pi / ((WindowLength + 1) * dt).instead of w = 2 * pi / ((WindowLength) * dt)
3 – When I "corrected" w to be 2 * pi / ((WindowLength + 1) * dt) on slides 8 and 9, the once per revolution variability significantly unexpectedly increased. That was a surprise to me. I conclude for some reason using w = 2 * pi / ((WindowLength ) * dt) gives a better estimate than w = 2 * pi / ((WindowLength + 1) * dt), but I honestly don't know why. I would be interested to hear comments on why that is.
4 – Filtering seems to have slightly increased the magnitude unexpectedly – I don't know why that happened, but I'm not going to worry about that.
Regardless of those questions, I am left believing your signal has variability in the 1x component. I can understand you want to validate your algorithm using some kind of realistic signal, but I would think for calibration purposes you would want to use a signal with a repeatable (stable) 1x component.
This is how every rotor/propeller balancer (icluding Chadwick-Hellmuth) I've used works.
I didn't say this is not the way to balance. My comment was that some other corrections beyond simple balancing may be appropriate.
=====================================
Eng-tips forums: The best place on the web for engineering discussions.