Vibration order analysis: I want to convert angle-based data into order-based data by applying FFT.

I'm working on order anlysis but I don't know how to devleope a script to scale my order axis (x-axis) so that each frequency magnitude fall on the correct order. Also you can see my angle based data in the attachment.
Thanks

4 Comments

hello
could you more precisely describe what the attached plot data are ?
can you export this to the workspace and share it ?
Bascially I have incemental shaft encoder which give me a square puls train signal. I find out the "delta t" using trigger function in b/w every rise of pulses and delta t show the time b/w one dgree of angle. So that I can do the order based fft analysis. You can find the attachment of angle based time data basically this data is for 8 complete cycles divided into 360 increments in steday state.
AA = delta_T.signals.values(402396:429096);
save ('delta_t.mat','A')
%% The extracted data is in delta_t.mat file.
FFs = 290; % sampling rate
tt = 0:1/Fs:1-1/Fs;
s = AA;
xxdft = fft(s);
xxdft = xxdft(1:length(s)/2+1);
DDF = Fs/length(s); % frequency increment
ffreqvec = 0:DDF:Fs/2;
plot(ffreqvec,abs(xxdft))
form this script I plot the above result.
hello again
sorry, in your code Fs is not initialized - what is the relation with FFs ?
so what you have in the mat file is only the signal of the encoder, but when you do order analysis , you must acquire the encoder and some noise or vibration signals together, because what is the purpose of the analysis is the noise / vibration signal orders - not simply the fft of the encoder output.
You have to acquire synchronously the noise / vibration data and the encoder (ADC is triggered by encoder signal)
Hello Matheiu
Thanks for correcting me. If it's possible once again can you go through my data. I attached the wrong file last time. I'm new to matlab that's why doing lot of mistakes.
Fs = 285; % sampling rate
t = 0:1/Fs:1-1/Fs;
z = B.Data(:,1);
xdft = fft(z);
xdft = xdft(1:length(z)/2+1);
DF = Fs/length(z); % frequency increment
freqvec = 0:DF:Fs/2;
plot(freqvec,abs(xdft))

Sign in to comment.

Answers (0)

Categories

Products

Asked:

on 11 Jan 2021

Commented:

on 12 Jan 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!