Great answer. I wish I could upvote it! There should be a GNU Radio Stack
Exchange type thing.

Rich

On Tue, Aug 23, 2016 at 3:07 PM, Andy Walls <[email protected]>
wrote:

> On Tue, 2016-08-23 at 12:00 -0400, [email protected]
> wrote:
> > Message: 7
> > Date: Mon, 22 Aug 2016 18:14:29 -0700 (MST)
> > From: Paul Creaser <[email protected]>
> >
> > I've just started studying methods used to detect and then filter
> out/remove
> > cyclic noise from known signals.
> >
> > I have a signal of 256 samples which repeats itself. I take this signal,
> > attenuate it and add noise at a specific band (frequency band), for
> example
> > 50 Hz Sine Wave. In the simplest case this is none varying. However in
> the
> > future it will vary slowly over time.
>
> I'm not quite sure what you mean by "cyclic noise", but the example you
> give is 50 Hz (or 60 Hz) hum, so a narrowband interference.
>
>
> > What I would like to do is find the power level of the additive cyclic
> noise
> > (, which should be the difference between the two signals) and where in
> the
> > frequency spectrum this noise exists. Using this information, I would
> hope
> > to use weighting to recover the original signal.
>
> If the noise is always out of the channel of your signal of interest,
> then a bandpass filter will do the job and your done.
>
> If the noise is in the channel of your signal of interest, then it
> sounds like what you really want in the end is an adaptive equalizer or
> filter.
>
> If you're not afraid of a lot of work:
> Just dive into implementing a Least Mean Squares (LMS) adaptive
> filter.
>
> You can either make it Data-Aided (DA), adapting the filter when it
> detects and operates on a known preamble; or Decision Directed (DD),
> adapting the filter every time it makes a decision about what a data bit
> should be.
>
> I prefer using a Data-Aided LMS adaptive filter, as I often work with
> signals that have known preambles.
>
> Such a system would look something like:
>
> received samples source -> channel filter -> automatic gain control ->
> correlator to detect and mark the preamble -> LMS DA adaptive filter
> -> ...
>
> Translating that to example GNURadio blocks:
>
> USRP Source -> Freq Xlating FIR Filter -> Feed Forward AGC ->
> Correlation Estimator -> (Your custom LMS DA filter block) -> ...
>
>
> > *Steps*
> >
> > 1 I take the original and modified signal and rescale the modified
> signal to
> > match the original.
> >
> > At the moment I use a very naive approach which is to take the absolute
> sum
> > of the 256 samples for both signals and from this calculate a simple
> scale
> > factor. I think this should be OK where I have narrow band noise, but it
> may
> > fail badly in other cases where the noise levels are high.
> >
> > 2 Next I take the FFT of the two signals (256 samples).
> >
> > 3 Calculate the noise
> >
> > Using the difference between the FFTs, I then calculate the noise power.
> >
> > *Two questions?*
> >
> > 1 The rescaling method is very basic, using absolute accumulated sums.
> Does
> > GNU radio have any blocks, which could perform this auto-scaling more
> > effectively?
>
> GNURadio has several AGC blocks.  They all have their quirks.  Pick one
> an try to make it work.
>
>
> > 2 Using the basic difference between the FFT's, such as the absolute
> > magnitude difference, should provide a starting point for calculating the
> > noise power. Again is this naive?
>
> Noise power and noise density have specific meanings which I don't think
> match what you're thinking about here.  AFAICT, you want to know the
> power of an in-channel narrowband interference (so that you can
> ultimately filter it out).
>
> Looking at FFT's will give you a feel for the situation, but it's kind
> of a blunt instrument, if you plan of filtering by direct FFT bin
> scaling or excision.
>
> It really sounds like what you want is an adaptive equalizer (aka
> adaptive filter).
>
> There's lots of existing literature on equalizers.
> This lecture is still a little too advanced for most folks, but it has
> the basic concepts covered clearer than most others I could find on
> Google:
> http://www.eecg.toronto.edu/~johns/nobots/courses/ece1392/
> equalization2.pdf
>
>
> Section 14.6 of this book describes the LMS algorithm:
> https://www.amazon.com/Mathematical-Methods-Algorithms-Signal-Processing/
> dp/0201361868
>
> And here is a PDF copy I spotted on the internet (click at your own
> risk):
> https://www.u-cursos.cl/usuario/834c0e46b93fd72fd8408c492af56f
> 8d/mi_blog/r/4%29_Todd_Moon_Mathematical_Methods_and_
> Algorithms_for_Signal_Processing.pdf
>
> -Andy
>
>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> [email protected]
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to