Hi, I have complex gain (phase and magnitude) measurements for the transfer function through a length of copper cable at a number of different frequencies up to 100MHz. I would like to convert these frequency domain measurements into a time domain impulse response. So I perform the following procedure: 1. Choose a sampling frequency of 200MHz 2. Interpolate my phase,frequency data from the measured frequencies, to a set of regularly spaced frequencies from 0Hz to 100MHz. 3. Complete the spectrum up to fs (=200MHz) by conjugate symmetry. 4. Take the IFFT to give the corresponding time-domain samples of the impulse response. The resultant impulse response is shown in the following picture: https://drive.google.com/file/d/0B4QJxcxANtL2eTd5SlltTVBYeWM/view?usp=sharing It looks broadly correct except for the large, spurious, apparently random tap values which are centred at time 0 and seem to decay in magnitude as time increases from 0 and decreases from N. I have also measured the cable output when I send a rectangular pulse through it and compared the results to the same pulse filtered with the calculated impulse response: https://drive.google.com/file/d/0B4QJxcxANtL2WjNQN0FqajdTTFk/view?usp=sharing Again this verifies that that calculated response is broadly correct, eg the delay is correct, however the spurious taps at 0 and N do produce a model output at time zero which I know can't be correct, also the output pulse from the impulse response is about 15% too small, this discrepancy falls significantly if I zero some of the spurious taps in the impulse response and scale the output pulse to maintain the same overall energy (magenta trace in the above picture). So, can anyone explain what exactly is causing these spurious taps centred at zero in my calculated impulse response or suggest how I could get rid of them and get a 'clean' accuracte impulse response for the cable ? Suggestions I have tried already are: (i) Increaseing the sampling rate (and => I have to either extrapolate or zero pad my measured frequency data up to fs/2) (ii) Smoothing the frequency data before taking the IFFT. Neither of these seems to help though. So I would really like to understand what exactly is causing this phenomenon, the fact that it is centred at time zero suggests that it is not just random noise. Any suggestions ? Thanks, Usjes --------------------------------------- Posted through http://www.DSPRelated.com
Calculating the Impulse response for a length of cable ?
Started by ●December 20, 2015
Reply by ●December 20, 20152015-12-20
Usjes <59494@DSPRelated> wrote:>I have complex gain (phase and magnitude) measurements for the transfer >function through a length of copper cable at a number of different >frequencies up to 100MHz. I would like to convert these frequency domain >measurements into a time domain impulse response. So I perform the >following procedure: >1. Choose a sampling frequency of 200MHz >2. Interpolate my phase,frequency data from the measured frequencies, to a >set of regularly spaced frequencies from 0Hz to 100MHz. >3. Complete the spectrum up to fs (=200MHz) by conjugate symmetry. >4. Take the IFFT to give the corresponding time-domain samples of the >impulse response.I'd try windowing the data between steps 3 and 4. Your artifacts could be ringing from the rectangular window you are using. Steve
Reply by ●December 20, 20152015-12-20
On Sun, 20 Dec 2015 14:50:58 -0600, "Usjes" <59494@DSPRelated> wrote:>Hi, > >I have complex gain (phase and magnitude) measurements for the transfer >function through a length of copper cable at a number of different >frequencies up to 100MHz. I would like to convert these frequency domain >measurements into a time domain impulse response. So I perform the >following procedure: >1. Choose a sampling frequency of 200MHz >2. Interpolate my phase,frequency data from the measured frequencies, to a >set of regularly spaced frequencies from 0Hz to 100MHz. >3. Complete the spectrum up to fs (=200MHz) by conjugate symmetry. >4. Take the IFFT to give the corresponding time-domain samples of the >impulse response. > >The resultant impulse response is shown in the following picture: >https://drive.google.com/file/d/0B4QJxcxANtL2eTd5SlltTVBYeWM/view?usp=sharing > >It looks broadly correct except for the large, spurious, apparently random >tap values which are centred at time 0 and seem to decay in magnitude as >time increases from 0 and decreases from N. > >I have also measured the cable output when I send a rectangular pulse >through it and compared the results to the same pulse filtered with the >calculated impulse response: >https://drive.google.com/file/d/0B4QJxcxANtL2WjNQN0FqajdTTFk/view?usp=sharing > >Again this verifies that that calculated response is broadly correct, eg >the delay is correct, however the spurious taps at 0 and N do produce a >model output at time zero which I know can't be correct, also the output >pulse from the impulse response is about 15% too small, this discrepancy >falls significantly if I zero some of the spurious taps in the impulse >response and scale the output pulse to maintain the same overall energy >(magenta trace in the above picture). So, can anyone explain what exactly >is causing these spurious taps centred at zero in my calculated impulse >response or suggest how I could get rid of them and get a 'clean' >accuracte impulse response for the cable ? > >Suggestions I have tried already are: >(i) Increaseing the sampling rate (and => I have to either extrapolate or >zero pad my measured frequency data up to fs/2) >(ii) Smoothing the frequency data before taking the IFFT. > >Neither of these seems to help though. So I would really like to >understand what exactly is causing this phenomenon, the fact that it is >centred at time zero suggests that it is not just random noise. > >Any suggestions ? > >Thanks, > >UsjesThinking of the domain shown as the frequency domain, it looks like there is a big DC term in the other domain (i.e., the spike at zero). Try detecting and removing any DC in the other domain and see if that helps. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Reply by ●December 20, 20152015-12-20
On Sunday, December 20, 2015 at 3:51:06 PM UTC-5, Usjes wrote:> Hi, > > I have complex gain (phase and magnitude) measurements for the transfer > function through a length of copper cable at a number of different > frequencies up to 100MHz. I would like to convert these frequency domain > measurements into a time domain impulse response. So I perform the > following procedure: > 1. Choose a sampling frequency of 200MHz > 2. Interpolate my phase,frequency data from the measured frequencies, to a > set of regularly spaced frequencies from 0Hz to 100MHz. > 3. Complete the spectrum up to fs (=200MHz) by conjugate symmetry. > 4. Take the IFFT to give the corresponding time-domain samples of the > impulse response. > > The resultant impulse response is shown in the following picture: > https://drive.google.com/file/d/0B4QJxcxANtL2eTd5SlltTVBYeWM/view?usp=sharing > > It looks broadly correct except for the large, spurious, apparently random > tap values which are centred at time 0 and seem to decay in magnitude as > time increases from 0 and decreases from N. > > I have also measured the cable output when I send a rectangular pulse > through it and compared the results to the same pulse filtered with the > calculated impulse response: > https://drive.google.com/file/d/0B4QJxcxANtL2WjNQN0FqajdTTFk/view?usp=sharing > > Again this verifies that that calculated response is broadly correct, eg > the delay is correct, however the spurious taps at 0 and N do produce a > model output at time zero which I know can't be correct, also the output > pulse from the impulse response is about 15% too small, this discrepancy > falls significantly if I zero some of the spurious taps in the impulse > response and scale the output pulse to maintain the same overall energy > (magenta trace in the above picture). So, can anyone explain what exactly > is causing these spurious taps centred at zero in my calculated impulse > response or suggest how I could get rid of them and get a 'clean' > accuracte impulse response for the cable ? > > Suggestions I have tried already are: > (i) Increaseing the sampling rate (and => I have to either extrapolate or > zero pad my measured frequency data up to fs/2) > (ii) Smoothing the frequency data before taking the IFFT. > > Neither of these seems to help though. So I would really like to > understand what exactly is causing this phenomenon, the fact that it is > centred at time zero suggests that it is not just random noise. > > Any suggestions ? > > Thanks, > > Usjes > --------------------------------------- > Posted through http://www.DSPRelated.comA couple of observations: - Your gain, phase measurements vs. frequency constitue spectral sampling and are therefore subject to the requirements of the (frequency domain) sampling thereom. Failure to do so leads to time aliasing. - You stated that your time domain sampling rate is 200 MHz but your measurement, model overlay plot suggests a time resolution much finer than 1/200e6 = 5 nS. Either you're sampling at a much higher frequency or you have an error in your time scale.
Reply by ●December 21, 20152015-12-21
On Sunday, December 20, 2015 at 7:52:50 PM UTC-5, lit...@gmail.com wrote:> On Sunday, December 20, 2015 at 3:51:06 PM UTC-5, Usjes wrote: > > Hi, > > > > I have complex gain (phase and magnitude) measurements for the transfer > > function through a length of copper cable at a number of different > > frequencies up to 100MHz. I would like to convert these frequency domain > > measurements into a time domain impulse response. So I perform the > > following procedure: > > 1. Choose a sampling frequency of 200MHz > > 2. Interpolate my phase,frequency data from the measured frequencies, to a > > set of regularly spaced frequencies from 0Hz to 100MHz. > > 3. Complete the spectrum up to fs (=200MHz) by conjugate symmetry. > > 4. Take the IFFT to give the corresponding time-domain samples of the > > impulse response. > > > > The resultant impulse response is shown in the following picture: > > https://drive.google.com/file/d/0B4QJxcxANtL2eTd5SlltTVBYeWM/view?usp=sharing > > > > It looks broadly correct except for the large, spurious, apparently random > > tap values which are centred at time 0 and seem to decay in magnitude as > > time increases from 0 and decreases from N. > > > > I have also measured the cable output when I send a rectangular pulse > > through it and compared the results to the same pulse filtered with the > > calculated impulse response: > > https://drive.google.com/file/d/0B4QJxcxANtL2WjNQN0FqajdTTFk/view?usp=sharing > > > > Again this verifies that that calculated response is broadly correct, eg > > the delay is correct, however the spurious taps at 0 and N do produce a > > model output at time zero which I know can't be correct, also the output > > pulse from the impulse response is about 15% too small, this discrepancy > > falls significantly if I zero some of the spurious taps in the impulse > > response and scale the output pulse to maintain the same overall energy > > (magenta trace in the above picture). So, can anyone explain what exactly > > is causing these spurious taps centred at zero in my calculated impulse > > response or suggest how I could get rid of them and get a 'clean' > > accuracte impulse response for the cable ? > > > > Suggestions I have tried already are: > > (i) Increaseing the sampling rate (and => I have to either extrapolate or > > zero pad my measured frequency data up to fs/2) > > (ii) Smoothing the frequency data before taking the IFFT. > > > > Neither of these seems to help though. So I would really like to > > understand what exactly is causing this phenomenon, the fact that it is > > centred at time zero suggests that it is not just random noise. > > > > Any suggestions ? > > > > Thanks, > > > > Usjes > > --------------------------------------- > > Posted through http://www.DSPRelated.com > > A couple of observations: > > - Your gain, phase measurements vs. frequency constitue spectral sampling and are therefore subject to the requirements of the (frequency domain) sampling thereom. Failure to do so leads to time aliasing. > > - You stated that your time domain sampling rate is 200 MHz but your measurement, model overlay plot suggests a time resolution much finer than 1/200e6 = 5 nS. Either you're sampling at a much higher frequency or you have an error in your time scale.THe OP may want to google Agilent Network Analyzer and TDA. I think they use a technique like this. M
Reply by ●December 21, 20152015-12-21
On Mon, 21 Dec 2015 06:42:50 -0800 (PST), makolber@yahoo.com wrote:>On Sunday, December 20, 2015 at 7:52:50 PM UTC-5, lit...@gmail.com wrote: >> On Sunday, December 20, 2015 at 3:51:06 PM UTC-5, Usjes wrote: >> > Hi, >> > >> > I have complex gain (phase and magnitude) measurements for the transfer >> > function through a length of copper cable at a number of different >> > frequencies up to 100MHz. I would like to convert these frequency domain >> > measurements into a time domain impulse response. So I perform the >> > following procedure: >> > 1. Choose a sampling frequency of 200MHz >> > 2. Interpolate my phase,frequency data from the measured frequencies, to a >> > set of regularly spaced frequencies from 0Hz to 100MHz. >> > 3. Complete the spectrum up to fs (=200MHz) by conjugate symmetry. >> > 4. Take the IFFT to give the corresponding time-domain samples of the >> > impulse response. >> > >> > The resultant impulse response is shown in the following picture: >> > https://drive.google.com/file/d/0B4QJxcxANtL2eTd5SlltTVBYeWM/view?usp=sharing >> > >> > It looks broadly correct except for the large, spurious, apparently random >> > tap values which are centred at time 0 and seem to decay in magnitude as >> > time increases from 0 and decreases from N. >> > >> > I have also measured the cable output when I send a rectangular pulse >> > through it and compared the results to the same pulse filtered with the >> > calculated impulse response: >> > https://drive.google.com/file/d/0B4QJxcxANtL2WjNQN0FqajdTTFk/view?usp=sharing >> > >> > Again this verifies that that calculated response is broadly correct, eg >> > the delay is correct, however the spurious taps at 0 and N do produce a >> > model output at time zero which I know can't be correct, also the output >> > pulse from the impulse response is about 15% too small, this discrepancy >> > falls significantly if I zero some of the spurious taps in the impulse >> > response and scale the output pulse to maintain the same overall energy >> > (magenta trace in the above picture). So, can anyone explain what exactly >> > is causing these spurious taps centred at zero in my calculated impulse >> > response or suggest how I could get rid of them and get a 'clean' >> > accuracte impulse response for the cable ? >> > >> > Suggestions I have tried already are: >> > (i) Increaseing the sampling rate (and => I have to either extrapolate or >> > zero pad my measured frequency data up to fs/2) >> > (ii) Smoothing the frequency data before taking the IFFT. >> > >> > Neither of these seems to help though. So I would really like to >> > understand what exactly is causing this phenomenon, the fact that it is >> > centred at time zero suggests that it is not just random noise. >> > >> > Any suggestions ? >> > >> > Thanks, >> > >> > Usjes >> > --------------------------------------- >> > Posted through http://www.DSPRelated.com >> >> A couple of observations: >> >> - Your gain, phase measurements vs. frequency constitue spectral sampling and are therefore subject to the requirements of the (frequency domain) sampling thereom. Failure to do so leads to time aliasing. >> >> - You stated that your time domain sampling rate is 200 MHz but your measurement, model overlay plot suggests a time resolution much finer than 1/200e6 = 5 nS. Either you're sampling at a much higher frequency or you have an error in your time scale. > >THe OP may want to google Agilent Network Analyzer and TDA. >I think they use a technique like this. >MThey do. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Reply by ●December 21, 20152015-12-21
On Sunday, December 20, 2015 at 2:51:06 PM UTC-6, Usjes wrote:> I have complex gain (phase and magnitude) measurements for the transfer > function through a length of copper cable at a number of different > frequencies up to 100MHz. I would like to convert these frequency domain > measurements into a time domain impulse response.This is *exactly* the set of circumstances for which FDLS was originally designed. Greg Berchin
Reply by ●December 24, 20152015-12-24
On Monday, December 21, 2015 at 9:51:06 AM UTC+13, Usjes wrote:> Hi, > > I have complex gain (phase and magnitude) measurements for the transfer > function through a length of copper cable at a number of different > frequencies up to 100MHz. I would like to convert these frequency domain > measurements into a time domain impulse response. So I perform the > following procedure: > 1. Choose a sampling frequency of 200MHz > 2. Interpolate my phase,frequency data from the measured frequencies, to a > set of regularly spaced frequencies from 0Hz to 100MHz. > 3. Complete the spectrum up to fs (=200MHz) by conjugate symmetry. > 4. Take the IFFT to give the corresponding time-domain samples of the > impulse response. > > The resultant impulse response is shown in the following picture: > https://drive.google.com/file/d/0B4QJxcxANtL2eTd5SlltTVBYeWM/view?usp=sharing > > It looks broadly correct except for the large, spurious, apparently random > tap values which are centred at time 0 and seem to decay in magnitude as > time increases from 0 and decreases from N. > > I have also measured the cable output when I send a rectangular pulse > through it and compared the results to the same pulse filtered with the > calculated impulse response: > https://drive.google.com/file/d/0B4QJxcxANtL2WjNQN0FqajdTTFk/view?usp=sharing > > Again this verifies that that calculated response is broadly correct, eg > the delay is correct, however the spurious taps at 0 and N do produce a > model output at time zero which I know can't be correct, also the output > pulse from the impulse response is about 15% too small, this discrepancy > falls significantly if I zero some of the spurious taps in the impulse > response and scale the output pulse to maintain the same overall energy > (magenta trace in the above picture). So, can anyone explain what exactly > is causing these spurious taps centred at zero in my calculated impulse > response or suggest how I could get rid of them and get a 'clean' > accuracte impulse response for the cable ? > > Suggestions I have tried already are: > (i) Increaseing the sampling rate (and => I have to either extrapolate or > zero pad my measured frequency data up to fs/2) > (ii) Smoothing the frequency data before taking the IFFT. > > Neither of these seems to help though. So I would really like to > understand what exactly is causing this phenomenon, the fact that it is > centred at time zero suggests that it is not just random noise. > > Any suggestions ? > > Thanks, > > Usjes > --------------------------------------- > Posted through http://www.DSPRelated.comDoesn't make sense to me that the impulse response decays to zero and then has a second burst near time N.
Reply by ●December 24, 20152015-12-24
On Monday, December 21, 2015 at 9:51:06 AM UTC+13, Usjes wrote:> Hi, > > I have complex gain (phase and magnitude) measurements for the transfer > function through a length of copper cable at a number of different > frequencies up to 100MHz. I would like to convert these frequency domain > measurements into a time domain impulse response. So I perform the > following procedure: > 1. Choose a sampling frequency of 200MHz > 2. Interpolate my phase,frequency data from the measured frequencies, to a > set of regularly spaced frequencies from 0Hz to 100MHz. > 3. Complete the spectrum up to fs (=200MHz) by conjugate symmetry. > 4. Take the IFFT to give the corresponding time-domain samples of the > impulse response. > > The resultant impulse response is shown in the following picture: > https://drive.google.com/file/d/0B4QJxcxANtL2eTd5SlltTVBYeWM/view?usp=sharing > > It looks broadly correct except for the large, spurious, apparently random > tap values which are centred at time 0 and seem to decay in magnitude as > time increases from 0 and decreases from N. > > I have also measured the cable output when I send a rectangular pulse > through it and compared the results to the same pulse filtered with the > calculated impulse response: > https://drive.google.com/file/d/0B4QJxcxANtL2WjNQN0FqajdTTFk/view?usp=sharing > > Again this verifies that that calculated response is broadly correct, eg > the delay is correct, however the spurious taps at 0 and N do produce a > model output at time zero which I know can't be correct, also the output > pulse from the impulse response is about 15% too small, this discrepancy > falls significantly if I zero some of the spurious taps in the impulse > response and scale the output pulse to maintain the same overall energy > (magenta trace in the above picture). So, can anyone explain what exactly > is causing these spurious taps centred at zero in my calculated impulse > response or suggest how I could get rid of them and get a 'clean' > accuracte impulse response for the cable ? > > Suggestions I have tried already are: > (i) Increaseing the sampling rate (and => I have to either extrapolate or > zero pad my measured frequency data up to fs/2) > (ii) Smoothing the frequency data before taking the IFFT. > > Neither of these seems to help though. So I would really like to > understand what exactly is causing this phenomenon, the fact that it is > centred at time zero suggests that it is not just random noise. > > Any suggestions ? > > Thanks, > > Usjes > --------------------------------------- > Posted through http://www.DSPRelated.comIs it minimum or NMP? I am wondering if you wrapped the phase in any way before inverting the FFT.
Reply by ●December 24, 20152015-12-24
<gyansorova@gmail.com> wrote:>Is it minimum or NMP? I am wondering if you wrapped the phase in any way >before inverting the FFT.I was also thinking it may be a wrep-around problem, that is, if you spliced the end of the impulse plot onto the beginning of the plot, it would then look like a single pulse. S.






