×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Contact US

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

How to estimate Impulse Response from a frequency domain dataset

How to estimate Impulse Response from a frequency domain dataset

How to estimate Impulse Response from a frequency domain dataset

(OP)
Through an old Spectrum Analyzer I have a frequency domain dataset (amplitude in dB and phase in degrees). I would like to estimate Impulse Response (IR). I must compare the obtained IR with the IR automatically measured through a newer Spectrum Analyzer. I will manage a huge dataset, moreover I know I have to apply a Kaiser Window somehow, so I don't think that System Identification Toolbox can work out for me.

My frequency domain dataset expands from 800 MHz to 3 GHz with a step of 5.5 MHz (so I have 401 samples and my Nyquist frequency is 3 GHz). What should I do from 0 to 800 MHz, and when do I apply the Kaiser Window?

I slightly modified this code I found online, but doesn't seem to work out for me (I previously modified the phase M(:,2) in radians):

frf = M(:,1)+1i*M(:,2); %form the complex frequency response function
fn = 3000000000; %Nyquist frequency
df = 5500000; % frequency spacing
freq = [800000000:df:fn]; % 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:801*dt; % vector of sampling times
plot(time,real(irf));
xlabel('Time (s)');
ylabel('IRF');

Any help would be greatly appreciated. Thank you for your patience.

RE: How to estimate Impulse Response from a frequency domain dataset

Since you have both amplitude and phase, the inverse complex FFT should get you back to the original time domain signal. I don't see in your code where you use the phase information. Without it, the implicit assumption is everything is at zero phase.

TTFN
FAQ731-376: Eng-Tips.com Forum Policies

Need help writing a question or understanding a reply? forum1529: Translation Assistance for Engineers

RE: How to estimate Impulse Response from a frequency domain dataset

(OP)
I use it here:

CODE -->

frf = M(:,1)+1i*M(:,2); 

Like i said "(I previously modified the phase M(:,2) in radians)".

Anyways, I still don't get where and how to apply the Kaiser window. Thank you for your time!

RE: How to estimate Impulse Response from a frequency domain dataset

(OP)
Thanks for your answer, but I am not sure to understand what you mean properly. I never used FFT, i just managed my frequency domain dataset.

Moreover, if I have to be true i modified the code posted in my first message, now I've got an Impulse Response, but on 1093 bins, while the other one (newer Spectrum Analyzer) is on 401 bins. Since it looks good (same range and kinda same shape) should I decimate to have a correct comparison or what?

Thanks for your time!

RE: How to estimate Impulse Response from a frequency domain dataset

I would start by creating an impulse response in Matlab, run it through their FFT, throw away the negative frequencies, then treat it as externally measured data and be sure you can get the original impuilse response back using your code. Matlab is a pretty good place to fake good test data for proving your algorithms.

- Steve

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members! Already a Member? Login



News


Close Box

Join Eng-Tips® Today!

Join your peers on the Internet's largest technical engineering professional community.
It's easy to join and it's free.

Here's Why Members Love Eng-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close