DSPRelated.com
Forums

how to remove such kind of noise

Started by Tinwai January 2, 2008
Hi. If x(m) = s(m) + n(m), where n(m) is a noise whose power spectrum
has random magnitudes at a certain frequency and its harmonies (zero-
valued otherwise). I.e. N(f) != 0 only at k*fo (say, fo = 60Hz, k = 1,
2, 3, ...). How can I remove such kind of noise? Thank you.
"Tinwai" <wangthth@gmail.com> wrote in message 
news:6c011d3b-0ef0-4d44-973f-8550018af03c@s12g2000prg.googlegroups.com...
> Hi. If x(m) = s(m) + n(m), where n(m) is a noise whose power spectrum > has random magnitudes at a certain frequency and its harmonies (zero- > valued otherwise). I.e. N(f) != 0 only at k*fo (say, fo = 60Hz, k = 1, > 2, 3, ...). How can I remove such kind of noise? Thank you.
It's interesting that you didn't say anything about s(m) as related to n(m). So, assuming that they don't overlap in spectral content then you might use a comb notch filter to remove n(m). You still have to decide a few things: - the bandwidth of n(m) to be removed as it can't have random magnitudes and zero bandwidth. - the time response of the filter - somewhat related to the bandwidth but also related to your requirements. If the bandwidth is large then the time response might be OK. But, if the bandwidth of n(m) is assumed to be small then you might be tempted to design a narrow filter which will have poor transient response. See: iircomb in Matlab for example. Fred
On Jan 3, 3:23 pm, Tinwai <wangt...@gmail.com> wrote:
> Hi. If x(m) = s(m) + n(m), where n(m) is a noise whose power spectrum > has random magnitudes at a certain frequency and its harmonies (zero- > valued otherwise). I.e. N(f) != 0 only at k*fo (say, fo = 60Hz, k = 1, > 2, 3, ...). How can I remove such kind of noise? Thank you.
A filter of the form 1-z^-n or 1+z^-n where n is an integer which will depend at what freq your fundamental is. This n zeros equally spaced around the unit circle and n poles at zero (ignore those). Hardy
Tinwai wrote:
> Hi. If x(m) = s(m) + n(m), where n(m) is a noise whose power spectrum > has random magnitudes at a certain frequency and its harmonies (zero- > valued otherwise). I.e. N(f) != 0 only at k*fo (say, fo = 60Hz, k = 1, > 2, 3, ...). How can I remove such kind of noise? Thank you.
Bear in mind that all of the significant harmonics need to be at frequencies less than half the sample rate. 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;
"Jerry Avins" <jya@ieee.org> wrote in message 
news:aI-dnQO0lsFJ4-HanZ2dnUVZ_ozinZ2d@rcn.net...
> Tinwai wrote: >> Hi. If x(m) = s(m) + n(m), where n(m) is a noise whose power spectrum >> has random magnitudes at a certain frequency and its harmonies (zero- >> valued otherwise). I.e. N(f) != 0 only at k*fo (say, fo = 60Hz, k = 1, >> 2, 3, ...). How can I remove such kind of noise? Thank you. > > Bear in mind that all of the significant harmonics need to be at > frequencies less than half the sample rate. > > Jerry
Yes, and not to be confused with the delays between filter coefficients/taps in some filter structures - where the delays may be multiples of the sampling interval in order to get repeated/periodic frequency response. Fred
On 3 Jan., 06:42, HardySpicer <gyansor...@gmail.com> wrote:
> On Jan 3, 3:23 pm, Tinwai <wangt...@gmail.com> wrote: > > > Hi. If x(m) = s(m) + n(m), where n(m) is a noise whose power spectrum > > has random magnitudes at a certain frequency and its harmonies (zero- > > valued otherwise). I.e. N(f) != 0 only at k*fo (say, fo = 60Hz, k = 1, > > 2, 3, ...). How can I remove such kind of noise? Thank you. > > A filter of the form > > 1-z^-n > > or > > 1+z^-n > > where n is an integer which will depend at what freq your fundamental > is. This n zeros equally spaced around the unit circle and n poles at > zero (ignore those).
But you don't know whether the harmonics k*f0 are spaced equally around the unit circle ...
On Jan 3, 9:13 pm, Andor <andor.bari...@gmail.com> wrote:
> On 3 Jan., 06:42, HardySpicer <gyansor...@gmail.com> wrote: > > > > > On Jan 3, 3:23 pm, Tinwai <wangt...@gmail.com> wrote: > > > > Hi. If x(m) = s(m) + n(m), where n(m) is a noise whose power spectrum > > > has random magnitudes at a certain frequency and its harmonies (zero- > > > valued otherwise). I.e. N(f) != 0 only at k*fo (say, fo = 60Hz, k = 1, > > > 2, 3, ...). How can I remove such kind of noise? Thank you. > > > A filter of the form > > > 1-z^-n > > > or > > > 1+z^-n > > > where n is an integer which will depend at what freq your fundamental > > is. This n zeros equally spaced around the unit circle and n poles at > > zero (ignore those). > > But you don't know whether the harmonics k*f0 are spaced equally > around the unit circle ...
Ok then you will need to do some long division to divide out the zeros you don't want and multiply by the new ones. Hardy
On 3 Jan., 23:36, HardySpicer <gyansor...@gmail.com> wrote:
> On Jan 3, 9:13 pm, Andor <andor.bari...@gmail.com> wrote: > > > > > > > On 3 Jan., 06:42, HardySpicer <gyansor...@gmail.com> wrote: > > > > On Jan 3, 3:23 pm, Tinwai <wangt...@gmail.com> wrote: > > > > > Hi. If x(m) = s(m) + n(m), where n(m) is a noise whose power spectrum > > > > has random magnitudes at a certain frequency and its harmonies (zero- > > > > valued otherwise). I.e. N(f) != 0 only at k*fo (say, fo = 60Hz, k = 1, > > > > 2, 3, ...). How can I remove such kind of noise? Thank you. > > > > A filter of the form > > > > 1-z^-n > > > > or > > > > 1+z^-n > > > > where n is an integer which will depend at what freq your fundamental > > > is. This n zeros equally spaced around the unit circle and n poles at > > > zero (ignore those). > > > But you don't know whether the harmonics k*f0 are spaced equally > > around the unit circle ... > > Ok then you will need to do some long division to divide out the zeros > you don't want and multiply by the new ones. > > Hardy
I guess the real question is whether f0 is known. If so, the problem is a trivial exercise in filter design. If not, it becomes a tedious exercise in adaptive filter usage, whose success depends on the autocorrelation of s(m). Regards, Andor - Zitierten Text ausblenden -
> > - Zitierten Text anzeigen -