Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

Computing Impulse Response Function from FRF

Status
Not open for further replies.

SrinivasAluri

Mechanical
Jun 24, 2004
62
0
0
IN
I am trying to compute an impulse response function from a one-sided Frequency Response Function. How do I do that in Matlab?
 
Replies continue below

Recommended for you

Dr. Platten: Your code works except that the IRF is flipped!! Sampling rate for the signal is 1280Hz and DeltaF is 0.078125 Hz..

This IRF business is more complicated that I thought..
 
Hmm. It sounds like there may be something wrong with your original FRF.

Does the IRF decay initially and then grow towards the end or does it start from zero and grow continuously?

I would expect some non-causal response at the far end of the IRF. This is normal, but I would expect the signal to decay for at least the first half of the IRF before it started to grow again.

How was the FRF measured? Random excitation? Hanning window? Number of averages? Averaging Overlap?

Is the structure very lightly damped? What is the typical critical damping ratio for the modes?

M

--
Dr Michael F Platten
 
I really appreciate all the responses. I put up the data at the following link it is in real imaginary format, first column being real.

The image of IRF I got from using Dr. Platten's code can be found at
The FRF was measured using impact hammer - rectangular window was applied on impact, no window on time response. Number of averages is 4. The data was zero-padded before evaluating the FRF.
 
Your frf is showing wild multiple resonances. So would not get anything that looks like a modified impulse (dirac). However, it looks like you have the result of an analysed system and the model went off to lala land.

If you have strange resonant system you are looking at, then you would want to carefully excite it with a stepped sine system, changing the input drive as a funcion of the resonant gain, so as to stay away from non-linear problems.

Now, if your first column was dB and your second degrees, then you might have something.
 
VisiGoth,
The data looks fine to me. The columns are the real and imaginary parts of the FRF as the original poster stated.

SrinivasAluri,
I think you must still have a mistake in your code somewhere. The results I got look OK. There is a very small non-causal response at the end of the IRF, but I have seen much worse on my own data.

Here is the code that I used
Code:
load frf_et.txt % load the text file containing the data 

frf = frf_et(:,1)+i*frf_et(:,2); % form the complex FRF
fn = 640; % Nyquist frequency
df = fn/8192; % frequency spacing
freq = [0:df:fn-df]; % frequency vector
frf2 = [0 frf(2:end).' 0 frf(end:-1:2)']; % form 2-sided FRF
irf = ifft(frf2); % calculate IRF
dt = 1./2./fn; % sampling interval
time = 0:dt:16383*dt; % vector of sampling times
% plot the results
figure;
subplot(3,1,1);
plot(freq,abs(frf));
xlabel('Frequency (Hz)');
ylabel('FRF Magnitude');
subplot(3,1,2);
plot(freq,angle(frf));
xlabel('Frequency (Hz)');
ylabel('FRF Phase (rad)');
subplot(3,1,3);
plot(time,real(irf));
xlabel('Time (s)');
ylabel('IRF');

M

--
Dr Michael F Platten
 
The only difference between this code and the code I posted previously is that I assumed in the earlier post that that the FRF data was in a row vector. The FRF data in my last post is in a column.

M

--
Dr Michael F Platten
 
Thank you Dr. Platten for the code. I wanted to generate this IRF so that I could write a program fof least square complex exponential method and get a feel for it.
 
In that case, the non-causal blip at the end of the IRF shouldn't cause you any problems as you will only need to use the start of the decay in the LSCE fit anyway. If you plot the magnitude of the IRF on a log scale, it is easy to see where the decay disappears into the noise floor of the measured data. You should only fit the part of the IRF data up to that point.

Also, if you are just using LSCE to get frequency and damping values, I wouldn't worry about the scaling factors discussed in earlier posts. The scaling will make no difference to the estimated frequency and damping values.

Finally, I would add that the FRF data you posted had rather a lot of modes in your frequency range. This means you will probably have to do the LSCE fit in smaller frequency ranges. In that case, you should simply band-pass filter the FRF prior to performing the IFFT. Simply set the unwanted spectral lines to zero.

Good luck

M

--
Dr Michael F Platten
 
Status
Not open for further replies.
Back
Top