Hi all. I have got involved with this signal detection and characterization problem where we have reason to expect that the useful signal is hidden inside of strong noise. Both the target signal and the masking signal is expected to comprise spectral lines + overharmonics. My naive approach to a DSP solution is to use a variety of comb filters to extract the various lines + overharmonics from the data. The whole approach is inspired by figure 4.57, page 349, in Proakis & Manolakis (P&M), 3rd ed. What I have in mind, is to design an interactive GUI where I plot a spectrogram of the raw data and use some sort of cursor to designate the fundamental frequency of the signal, and then use this frequency as input to design some sort of comb (or notch) filter. My problem is that I don't really see how to do that. Section 4.5.5 in P&M shows how to design comb filters by using a baseband FIR filter as a prototype, and then interpolate the coefficients by a number M of zeros, thus generating repeated spectra inside the frequency band. Somehow, I don't really see how this technique can be used for my application, since the restriction of M being an integer introduces a quantization of the allowed fundamental frequencies. I do intend to keep the FIR filter lengths within reasonable limits. Another possible method would be to generate narrow-band bandpass filters at the fundamental and overharmonics. This leaves much better control, and would work in a worst-case scenario, but for some reason I am not very happy with this approach. Have I missed anything here? Is it possible to implement comb filters according to P&M's section 4.5.5 with M non-integer? Are there other ways of implementing comb filters that I don't know of? Any help and comments are highly appreciated. Rune
Overharmonics and comb filters
Started by ●December 1, 2004
Reply by ●December 1, 20042004-12-01
allnor@tele.ntnu.no (Rune Allnor) wrote> My naive approach to a DSP solution is to use a variety of comb filters > to extract the various lines + overharmonics from the data. The whole > approach is inspired by figure 4.57, page 349, in Proakis & Manolakis > (P&M), 3rd ed.Sounds reasonable... I don't have P&M handy, though.> My problem is that I don't really see how to do that. Section 4.5.5 in > P&M shows how to design comb filters by using a baseband FIR filter > as a prototype, and then interpolate the coefficients by a number M of > zeros, thus generating repeated spectra inside the frequency band. > Somehow, I don't really see how this technique can be used for my > application, since the restriction of M being an integer introduces > a quantization of the allowed fundamental frequencies. I do intend > to keep the FIR filter lengths within reasonable limits.Q: Why are FIR filters needed? Do you need good phase response?> Have I missed anything here? Is it possible to implement comb filters > according to P&M's section 4.5.5 with M non-integer? Are there other > ways of implementing comb filters that I don't know of?Q: Why not just use 2nd order IIR notch filters? See rb-j's code at: http://www.dspguru.com/sw/lib/biquad.c It doesn't do the overharmonics, but that should be pretty easy to figure out. Ciao, Peter K.
Reply by ●December 1, 20042004-12-01
in article f56893ae.0412010412.f910ba5@posting.google.com, Rune Allnor at allnor@tele.ntnu.no wrote on 12/01/2004 07:12:> Hi all. > > I have got involved with this signal detection and characterization > problem where we have reason to expect that the useful signal is > hidden inside of strong noise. Both the target signal and the > masking signal is expected to comprise spectral lines + overharmonics. > > My naive approach to a DSP solution is to use a variety of comb filters > to extract the various lines + overharmonics from the data. The whole > approach is inspired by figure 4.57, page 349, in Proakis & Manolakis > (P&M), 3rd ed. > > What I have in mind, is to design an interactive GUI where I plot a > spectrogram of the raw data and use some sort of cursor to designate > the fundamental frequency of the signal, and then use this frequency > as input to design some sort of comb (or notch) filter. > > My problem is that I don't really see how to do that. Section 4.5.5 in > P&M shows how to design comb filters by using a baseband FIR filter > as a prototype,could be either a baseband (i presume you mean LPF) FIR *or* IIR. by just substituing z^-N in for z^-1 and you can see where the natural periodicity of any digital filter (period = 2*pi in normalized frequency) gets scaled to be periodic at 2*pi/N. N has to be an integer. if you need to tune your comb filter better than that, you have to interpolate (fractional sample delay) to effectively get non-integer N.> and then interpolate the coefficients by a number M of > zeros, thus generating repeated spectra inside the frequency band. > Somehow, I don't really see how this technique can be used for my > application, since the restriction of M being an integer introduces > a quantization of the allowed fundamental frequencies. I do intend > to keep the FIR filter lengths within reasonable limits. > > Another possible method would be to generate narrow-band bandpass > filters at the fundamental and overharmonics. This leaves much better > control, and would work in a worst-case scenario, but for some reason > I am not very happy with this approach.what are you trying to do? are you trying to notch out a periodic signal? (comb filters are well suited for that.) are you trying to isolate individual harmonics? in article 3fca8095.0412011152.5997f1b1@posting.google.com, Peter Kootsookos at p.kootsookos@iolfree.ie wrote on 12/01/2004 14:52:> > Q: Why not just use 2nd order IIR notch filters? > > See rb-j's code at: > > http://www.dspguru.com/sw/lib/biquad.ci didn't write that code (don't wanna take credit for someone else's work), but it looks like it will work. someone needs to add case: APF to it. r b-j
Reply by ●December 1, 20042004-12-01
allnor@tele.ntnu.no (Rune Allnor) wrote in message news:<f56893ae.0412010412.f910ba5@posting.google.com>...> Hi all. >. . snip .> > My problem is that I don't really see how to do that. Section 4.5.5 in > P&M shows how to design comb filters by using a baseband FIR filter > as a prototype, and then interpolate the coefficients by a number M of > zeros, thus generating repeated spectra inside the frequency band. > Somehow, I don't really see how this technique can be used for my > application, since the restriction of M being an integer introduces > a quantization of the allowed fundamental frequencies. I do intend > to keep the FIR filter lengths within reasonable limits.Rune, In not sure about this but isn't the comb filter response equivalent to time averaging over a fixed length of time corresponding to the period of the fundamental? That being the case, you should be able to implement this sort of this for non-integer periods using interpolation. MAybe an application for Eriks SRC? (http://www.mega-nerd.com/SRC/) Regards, Paavo Jumppanen Author of HarBal Harmonic Balancer http://www.har-bal.com
Reply by ●December 2, 20042004-12-02
Hi Rune. Rune> Hi all. I have got involved with this signal detection and Rune> characterization problem where we have reason to expect that the Rune> useful signal is hidden inside of strong noise. Both the target Rune> signal and the masking signal is expected to comprise spectral Rune> lines + overharmonics. Rune> My naive approach to a DSP solution is to use a variety of comb Rune> filters to extract the various lines + overharmonics from the Rune> data. The whole approach is inspired by figure 4.57, page 349, Rune> in Proakis & Manolakis (P&M), 3rd ed. Rune> What I have in mind, is to design an interactive GUI where I Rune> plot a spectrogram of the raw data and use some sort of cursor Rune> to designate the fundamental frequency of the signal, and then Rune> use this frequency as input to design some sort of comb (or Rune> notch) filter. Rune> Have I missed anything here? Is it possible to implement comb Rune> filters according to P&M's section 4.5.5 with M non-integer? Are Rune> there other ways of implementing comb filters that I don't know Rune> of? Rune> Any help and comments are highly appreciated. I don't have this particular book, but I remember A. Nehorai writing some papers on speech enhancement (in speech you also have a harmonic structure) using adaptive comb filtering back in the early 80s. Maybe this would be interesting for you? -- /Mads
Reply by ●December 2, 20042004-12-02
Rune, is there any specific reason why you would want your comb filter to be FIR? Why not use an interpolated delay line to build your filter? -- Stephan M. Bernsee http://www.dspdimension.com
Reply by ●December 2, 20042004-12-02
I think this is exaclty what it is, and it can nicely be done using a ring buffer of the length that represents the fundamental. I am using a filter like: filtered_sample = current_sample - ring_buffer[i]; ring_buffer[i] = ring_buffer[i] * 0.9 + current_sample * 0.1; i++; i %= ring_buffer_length; The 0.9 and 0.1 can be tuned to modify the bandwidth of each notch. Disadvantage: Your sampling rate must be a multiple of the desired fundamental. Andre Paavo Jumppanen wrote:> Rune, > > In not sure about this but isn't the comb filter response equivalent > to time averaging over a fixed length of time corresponding to the > period of the fundamental? That being the case, you should be able to > implement this sort of this for non-integer periods using > interpolation. MAybe an application for Eriks SRC? > (http://www.mega-nerd.com/SRC/) > > Regards, > > > Paavo Jumppanen > Author of HarBal Harmonic Balancer > http://www.har-bal.com-- Please change no_spam to a.lodwig when replying via email!
Reply by ●December 2, 20042004-12-02
r b-j wrote:> i didn't write that code (don't wanna take credit for someone > else's work), but it looks like it will work. someone needs > to add case: APF to it.Oops! My bad. Apologies for reading too quickly. Ciao, Peter K.
Reply by ●December 2, 20042004-12-02
robert bristow-johnson <rbj@audioimagination.com> wrote in message news:<BDD394AF.2779%rbj@audioimagination.com>...> in article f56893ae.0412010412.f910ba5@posting.google.com, Rune Allnor at > allnor@tele.ntnu.no wrote on 12/01/2004 07:12: > > > Hi all. > > > > I have got involved with this signal detection and characterization > > problem where we have reason to expect that the useful signal is > > hidden inside of strong noise. Both the target signal and the > > masking signal is expected to comprise spectral lines + overharmonics. > > > > My naive approach to a DSP solution is to use a variety of comb filters > > to extract the various lines + overharmonics from the data. The whole > > approach is inspired by figure 4.57, page 349, in Proakis & Manolakis > > (P&M), 3rd ed. > > > > What I have in mind, is to design an interactive GUI where I plot a > > spectrogram of the raw data and use some sort of cursor to designate > > the fundamental frequency of the signal, and then use this frequency > > as input to design some sort of comb (or notch) filter. > > > > My problem is that I don't really see how to do that. Section 4.5.5 in > > P&M shows how to design comb filters by using a baseband FIR filter > > as a prototype, > > could be either a baseband (i presume you mean LPF)Yep> FIR *or* IIR. by just > substituing z^-N in for z^-1 and you can see where the natural periodicity > of any digital filter (period = 2*pi in normalized frequency) gets scaled to > be periodic at 2*pi/N. N has to be an integer. if you need to tune your > comb filter better than that, you have to interpolate (fractional sample > delay) to effectively get non-integer N.Right. Once you mention it, they speak about general H(z) but show the implementations for FIR.> > and then interpolate the coefficients by a number M of > > zeros, thus generating repeated spectra inside the frequency band. > > Somehow, I don't really see how this technique can be used for my > > application, since the restriction of M being an integer introduces > > a quantization of the allowed fundamental frequencies. I do intend > > to keep the FIR filter lengths within reasonable limits. > > > > Another possible method would be to generate narrow-band bandpass > > filters at the fundamental and overharmonics. This leaves much better > > control, and would work in a worst-case scenario, but for some reason > > I am not very happy with this approach. > > what are you trying to do? are you trying to notch out a periodic signal? > (comb filters are well suited for that.) are you trying to isolate > individual harmonics?Well, the main objective is eventually to monitor the mechanical condition of some piece of equipment. To the best of my knowledge, no one have tried to measure vibrations of these objects for such purposes, so we don't really know what the signals will look like. My first approach for an analysis will be to test for harmonics, isolate strong signals, detect weak signals, isolate useful signals and reject not useful signals. Comb filters or notch filters would come in very handy for such purposes. Rune> in article 3fca8095.0412011152.5997f1b1@posting.google.com, Peter Kootsookos > at p.kootsookos@iolfree.ie wrote on 12/01/2004 14:52: > > > > > Q: Why not just use 2nd order IIR notch filters? > > > > See rb-j's code at: > > > > http://www.dspguru.com/sw/lib/biquad.c > > i didn't write that code (don't wanna take credit for someone else's work), > but it looks like it will work. someone needs to add case: APF to it. > > > r b-j
Reply by ●December 2, 20042004-12-02
Rune Allnor wrote: ...> Well, the main objective is eventually to monitor the mechanical > condition of some piece of equipment. To the best of my knowledge, > no one have tried to measure vibrations of these objects for such > purposes, so we don't really know what the signals will look like. > My first approach for an analysis will be to test for harmonics, > isolate strong signals, detect weak signals, isolate useful signals > and reject not useful signals. Comb filters or notch filters would > come in very handy for such purposes.That appears to be similar to what you might find at http://www.google.com/search?q=vibration+signature+analysis At the sewerage plant, we no longer pull machinery apart for inspection and preventive maintenance. Equipment manufacturers permit us to ignore their maintenance schedules without voiding any warranties. Instead, we run regular maintenance checks by vibration signature analysis, and find impending breakdowns long before operation is affected. We keep a stock of spare bearings and seals, but on one occasion continued to operate a "bad" unit for over a week before a replacement became available. The damaged part showed unacceptable wear, but wasn't close to actual failure. In 15 years, only one motor failed while running. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������






