DSPRelated.com
Forums

Refresh - Method for cleaning noise from a measured sweep

Started by Bob Cain November 19, 2004
A while back there was a thread discussing how to 
effectively clean the noise and some reflections out of the 
measurement of the response to a sweep to be used for 
impulse response extraction in the audio band.

One way is to filter the response with a narrow bandpass 
whose center frequency sweeps with it but the method 
mentioned that sounded most interesting to me was to 
modulate it down to baseband with a time varying signal, 
filter it with a fixed lowpass and then modulate it back up 
to where it was.  A link was given to a paper with more 
detail and I marked that post for future reference but it 
has slipped off my server.  If anybody knows that reference 
or cares to have any further discussion on the method I'd 
appreciate it because the time has come when I need to 
employ it.

A specific question to start with is if I just multiply the 
response with the stimulus sweep point by point have I not 
effected that time varying modulation down to baseband? 
Would the upper sideband alias down all over the place to 
make the result useless or could upsampling separate it?


Thanks,

Bob
-- 

"Things should be described as simply as possible, but no 
simpler."

                                              A. Einstein
Bob Cain wrote:
> > A while back there was a thread discussing how to effectively clean the > noise and some reflections out of the measurement of the response to a > sweep to be used for impulse response extraction in the audio band. > > One way is to filter the response with a narrow bandpass whose center > frequency sweeps with it but the method mentioned that sounded most > interesting to me was to modulate it down to baseband with a time > varying signal, filter it with a fixed lowpass and then modulate it back > up to where it was. A link was given to a paper with more detail and I > marked that post for future reference but it has slipped off my server. > If anybody knows that reference or cares to have any further discussion > on the method I'd appreciate it because the time has come when I need to > employ it. > > A specific question to start with is if I just multiply the response > with the stimulus sweep point by point have I not effected that time > varying modulation down to baseband? Would the upper sideband alias down > all over the place to make the result useless or could upsampling > separate it? > > > Thanks, > > Bob
If you're just trying to extract the system information it isn't necessary to remodulate. What _is_ necessary is to modulate it down with both the inphase and quadrature portions of the excitation so you catch a reasonable figure when you have 90 degrees of phase shift, and to make sure that you modulate for a sufficiently long time (hundreds or even the low thousands, if your system has noise). This is essentially what network analyzers do, and you get all the information out that you need for a Bode plot. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Bob Cain <arcane@arcanemethods.com> wrote in message news:<cnk0fc0sso@enews3.newsguy.com>...
> A while back there was a thread discussing how to > effectively clean the noise and some reflections out of the > measurement of the response to a sweep to be used for > impulse response extraction in the audio band. > > One way is to filter the response with a narrow bandpass > whose center frequency sweeps with it but the method > mentioned that sounded most interesting to me was to > modulate it down to baseband with a time varying signal, > filter it with a fixed lowpass and then modulate it back up > to where it was. A link was given to a paper with more > detail and I marked that post for future reference but it > has slipped off my server. If anybody knows that reference > or cares to have any further discussion on the method I'd > appreciate it because the time has come when I need to > employ it. > > A specific question to start with is if I just multiply the > response with the stimulus sweep point by point have I not > effected that time varying modulation down to baseband? > Would the upper sideband alias down all over the place to > make the result useless or could upsampling separate it? > > > Thanks, > > Bob
Bob, One way to extract the impulse response is to convolve the contaminated chirp with the time reversed, conjugated source chirp. If you do this, it seems to me to be analogous to a point by point shift to baseband. John

John Sampson wrote:

> One way to extract the impulse response is to convolve the > contaminated chirp with the time reversed, conjugated source > chirp. If you do this, it seems to me to be analogous to a > point by point shift to baseband.
Thanks, John. For a linear sweep I believe that yields the impulse response. Problem is, if the measurement is noisy (my noise is highly autocorrelated since it is noise from the ambient acoustic environment) and that noise corrupts the resulting IR. I'm looking for ways of cleaning up the response sweep before applying the correlation you describe to extract the IR. Bob -- "Things should be described as simply as possible, but no simpler." A. Einstein

Tim Wescott wrote:

> If you're just trying to extract the system information it isn't > necessary to remodulate. What _is_ necessary is to modulate it down > with both the inphase and quadrature portions of the excitation so you > catch a reasonable figure when you have 90 degrees of phase shift, and > to make sure that you modulate for a sufficiently long time (hundreds or > even the low thousands, if your system has noise). This is essentially > what network analyzers do, and you get all the information out that you > need for a Bode plot.
'Fraid I didn't understand that. Given a sampled sweep and the sampled response, can you be more specific as to the operations I would perform to get a noise reduced response? Thanks, Bob -- "Things should be described as simply as possible, but no simpler." A. Einstein
Bob Cain wrote:
> > > John Sampson wrote: > >> One way to extract the impulse response is to convolve the >> contaminated chirp with the time reversed, conjugated source chirp. If >> you do this, it seems to me to be analogous to a >> point by point shift to baseband. > > > Thanks, John. For a linear sweep I believe that yields the impulse > response. Problem is, if the measurement is noisy (my noise is highly > autocorrelated since it is noise from the ambient acoustic environment) > and that noise corrupts the resulting IR. I'm looking for ways of > cleaning up the response sweep before applying the correlation you > describe to extract the IR.
Maybe I'm missing something. (That's been happening a lot lately) The ambient noise is broadband, but the signal of interest and any one time is very narrow. Consider a so-called lock-in amplifier technique. The test signal is generated with a quadrature oscillator; one phase is the stimulus. The return is fed to two synchronous detectors, each one driven by a phase. The detector outputs consist of DC representing the signal and AC due to extraneous pickup. Low-pass filters with bandwidth consistent with the sweep speed isolate the signal. The square root of the sum of the filter outputs' squares is the amplitude, and their arc tangent gives the phase. More trouble than worth, perhaps, but workable. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;

Bob Cain wrote:
> > > Tim Wescott wrote: > >> If you're just trying to extract the system information it isn't >> necessary to remodulate. What _is_ necessary is to modulate it down >> with both the inphase and quadrature portions of the excitation so you >> catch a reasonable figure when you have 90 degrees of phase shift, and >> to make sure that you modulate for a sufficiently long time (hundreds >> or even the low thousands, if your system has noise). This is >> essentially what network analyzers do, and you get all the information >> out that you need for a Bode plot. > > > 'Fraid I didn't understand that. Given a sampled sweep and the sampled > response, can you be more specific as to the operations I would perform > to get a noise reduced response?
Got it! I took the Hilbert transform of my source sweep and multiplied the measurement by both the sweep and the transform, low pass filtered each of those results, multiplied the sweep and the transform by those filtered results and summed. Voila! Clean as a whistle. How very cool! I made the low pass a linear phase one so that I could just chop half that length off the front of the filtered result to get alignment for re-multiplying the quadrature sweeps. Now to figure out how narrow I need that low pass to get rid of nearby reflections (measurement is a mic recording a speaker with some reflective objects nearby.) Bob -- "Things should be described as simply as possible, but no simpler." A. Einstein
Bob Cain <arcane@arcanemethods.com> wrote in message news:<cnlh9r01mh6@enews2.newsguy.com>...
> John Sampson wrote: > > > One way to extract the impulse response is to convolve the > > contaminated chirp with the time reversed, conjugated source > > chirp. If you do this, it seems to me to be analogous to a > > point by point shift to baseband. > > Thanks, John. For a linear sweep I believe that yields the > impulse response. Problem is, if the measurement is noisy > (my noise is highly autocorrelated since it is noise from > the ambient acoustic environment) and that noise corrupts > the resulting IR. I'm looking for ways of cleaning up the > response sweep before applying the correlation you describe > to extract the IR. > > > Bob
This may be a naive suggestion, but what if you sweep multiple times and average the results, perhaps centering all the impulse responses at their peaks? It also seems to me that, as suggested earlier, a longer sweep will improve the SNR. John
Bob Cain wrote:

> > Got it! I took the Hilbert transform of my source sweep and multiplied > the measurement by both the sweep and the transform, low pass filtered > each of those results, multiplied the sweep and the transform by those > filtered results and summed. Voila! Clean as a whistle. How very cool! >
When I do this for analyzing control systems I'm sourcing the sweep, so I can just source the quadrature component at the same time -- i.e. I have sin(wt) and cos(wt) available to me if I want -- but your way certainly works.
> I made the low pass a linear phase one so that I could just chop half > that length off the front of the filtered result to get alignment for > re-multiplying the quadrature sweeps. >
Why do you have to put it back together? Are you not just getting the Bode plot (which you can get from your baseband results)?
> Now to figure out how narrow I need that low pass to get rid of nearby > reflections (measurement is a mic recording a speaker with some > reflective objects nearby.) >
I'm not sure that you _will_ be able to get rid of those reflections -- they're going to be changing the transfer function that you're measuring. I don't know if there's any good way to distinguish between the part of the transfer function that results from the speaker and the part that results from the reflection.
> > Bob
-- Tim Wescott Wescott Design Services http://www.wescottdesign.com

Tim Wescott wrote:
> Bob Cain wrote: > >> Got it! I took the Hilbert transform of my source sweep and >> multiplied the measurement by both the sweep and the transform, low >> pass filtered each of those results, multiplied the sweep and the >> transform by those filtered results and summed. Voila! Clean as a >> whistle. How very cool! >> > When I do this for analyzing control systems I'm sourcing the sweep, so > I can just source the quadrature component at the same time -- i.e. I > have sin(wt) and cos(wt) available to me if I want -- but your way > certainly works.
Yeah, I would have preferred it that way too but in this case the sweep is given as data for the program that does the cross correlation to extract the IR. It regenerates the matched filter each time to equal the length of the measurement (clock mismatches between generation and recording are thus correctable without resampling.)
> >> I made the low pass a linear phase one so that I could just chop half >> that length off the front of the filtered result to get alignment for >> re-multiplying the quadrature sweeps. >> > Why do you have to put it back together? Are you not just getting the > Bode plot (which you can get from your baseband results)?
No, I'm extracting the system IR from the sweep.
> >> Now to figure out how narrow I need that low pass to get rid of nearby >> reflections (measurement is a mic recording a speaker with some >> reflective objects nearby.) >> > I'm not sure that you _will_ be able to get rid of those reflections -- > they're going to be changing the transfer function that you're > measuring. I don't know if there's any good way to distinguish between > the part of the transfer function that results from the speaker and the > part that results from the reflection.
That's just what I'm working on. I see already that they can be considerably reduced in magnitude and bandpassed to low frequencies which is of some help. The problem is always separating LF reflections from LF response of the SUT and I don't think there is a way out of that but the higher frequency components of the reflections do seem to be highly attenuated doing this. You are right, though, when the width of the filter that blocks the reflections gets too short then more than noise and reflections are moved. The response you are looking for gets smoothed too. In my case I'm using it for system inversion and don't want that. There are interesting trade offs doing this that I'm getting a handle on by modeling it. Bob -- "Things should be described as simply as possible, but no simpler." A. Einstein