discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] White Noise detection and elimination


From: Robert James
Subject: Re: [Discuss-gnuradio] White Noise detection and elimination
Date: Mon, 18 Nov 2013 10:23:23 -0500

I believe the correct term for what I'm trying to find is PSD, which,
as far as I can tell (eg from here
http://www.mathworks.com/help/signal/ug/psd-estimate-using-fft.html ),
is well estimated using the FFT.

On 11/18/13, Robert James <address@hidden> wrote:
> Thanks.  Here's my understanding of FFT - please let me know where my
> mistake is:
>
> FFT gives you the power at every freq - eg 10 Hz is at power 0.1mW
> 100Hz is at 0.03 mW etc.  I'm not sure how it's represented, but
> that's essentially the information it has.
>
> We can easily multiply by a constant - that's a simple LTI , mapping
> impulse -> 2 * impulse
>
> What I want to do is not an LTI.  In the case above, if I found that
> every freq had power of at least 0.03mW, I'd assume there's a white
> noise component at that power across the spectrum, "subtract" it out,
> yielding 10 Hz power at 0.07mW, 100Hz at 0mW, etc., and then IFFT.
>
> I'm eager to learn what's wrong with my concept, especially from the
> experts here.
>
> Even if it is *completely* wrong, I'd like to know the format of the
> FFT output vector, so I can experiment myself.  What is the format?
>
> On 11/18/13, Martin Braun (CEL) <address@hidden> wrote:
>> On Mon, Nov 18, 2013 at 08:29:02AM -0500, Robert James wrote:
>>> I'm working on a series of blocks to measure the level of white noise
>>> and attentuate it.  (Yes, I know there are better ways of doing this,
>>> like a Wiener filter - my goal here is to experiment and learn.)
>>>
>>> Model: Assume white noise is present in equal power at all frequencies.
>>>
>>> Plan:
>>> Signal --> FFT --> [Find min power val over entire freq vector] -->
>>> [Subtract that min val from all freq] --> IFFT --> Output
>>>
>>> Two questions:
>>>
>>> 1. Will this work?
>>
>> I doubt it will do what you want it to.
>> What do you mean, 'subtract that min val from all freq'? How do you
>> subtract a power value from a complex amplitude?
>>
>>> 2. What format does the FFT output vector use? I imagine to find the
>>> min power at any freq I need to write my own block - hopefully I can
>>> do this in Python.  Code to do that in Python is trivial, but I can't
>>> find the FFT output vector format documented.  Likewise for "Subtract"
>>> - I mean this as a mathematical subtraction, *not* attenuation
>>> (multiply), which would attentuate the signal just as much.  So if the
>>> FFT output vector is in a logarithmic format, I need to first turn it
>>> into a linear format before subtracting.
>>
>> I'm not sure you understand what the FFT does. Output is complex values.
>>
>> A power spectrum density could be displayed logarithmically, but that's
>> *not* an FFT.
>>
>> I'm not sure what you're attempting, but it looks like you want to
>>
>> - find frequencies with power
>> - design a filter that attenuates the rest
>> - filter your (time-domain) signal.
>>
>> MB
>>
>> --
>> Karlsruhe Institute of Technology (KIT)
>> Communications Engineering Lab (CEL)
>>
>> Dipl.-Ing. Martin Braun
>> Research Associate
>>
>> Kaiserstraße 12
>> Building 05.01
>> 76131 Karlsruhe
>>
>> Phone: +49 721 608-43790
>> Fax: +49 721 608-46071
>> www.cel.kit.edu
>>
>> KIT -- University of the State of Baden-Württemberg and
>> National Laboratory of the Helmholtz Association
>>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]