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.
how to remove such kind of noise
Started by ●January 2, 2008
Reply by ●January 3, 20082008-01-03
"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
Reply by ●January 3, 20082008-01-03
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
Reply by ●January 3, 20082008-01-03
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. �����������������������������������������������������������������������
Reply by ●January 3, 20082008-01-03
"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. > > JerryYes, 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
Reply by ●January 3, 20082008-01-03
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 ...
Reply by ●January 3, 20082008-01-03
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
Reply by ●January 4, 20082008-01-04
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. > > HardyI 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 -