🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.dsp
Article #1224

Re: Fourier Transform, Ringing

#1224
From: David Kastrup
Date: Sat, 26 Sep 1992 08:56
62 lines
3518 bytes
kr0u+@andrew.cmu.edu (Kevin William Ryan) writes:

>patel@sparky.drad.umn.edu
>>       I need some help in terms of some ideas or pointers
>>       to literature. The problem is as follows:
>>       I have two signals (complex) which are Fourier transform
>>       of an object of interest. Call them x1 and x2. x1 contains
>>       only low frequencies where as x2 has low+high frequencies.
>>       However, x2 is corrupted by additive noise (can be appro-
>>       ximated by white Gaussian)
>>
>>       This problem can be simulated as follows:
>>       Take a 64 point DFT of a time signal(could be
>>       complex or real). Then x1 corresponds to 16
>>       points of this DFT centered around the dc value
>>       and x2 corresponds to the full 64 point DFT
>>       with additive noise.
>>
>>       I would like to reconstruct my object object from
>>       this two sets of data. If I use x1 and zero pad it, I
>>       get ringing in my reconstructed signal near sharp
>>       peaks. To avoid this ringing, I want to somehow use the
>>       hig frequency data that I have (signal x2). I am trying
>>       out somethings like filtering the x2 signal and adding
>>       etc etc. I need some pointers to any work done in this
>>       directions or if anybody has a good solution to this
>>       even some ad hoc solution will do.

>    All right, here's an ad hoc solution for you...

>    If X1 is the true uncorrupted low frequencies of your signal and X2 is
>the Fourier of the entire signal plus noise, you can find out what your
>noise is (approximately) by:

>        (X2 * lowpass) - X1 = model of noise

>    If the noise (as you seem to be saying) is white noise you now have
>an average level of the noise, and can subtract that from X2 to give a
>better estimate of te signal (Xs). If the noise is Gaussian in frequency
>space you again have a model of the amplitude of the noise and can (with
>a little more difficulty, to be sure) estimate it's size elsewhere.

>    To do this (warning, this is off the top of my head) you should
>reduce X2 by the average magnitude of the noise model.

>    This is, however, dependent on the amplitude of X1 being identical
>with the amplitude of X2 - no scaling.

>    Given a good model of the noise magnitude, I would subtract it from
>X2, substitute X1 for the low frequency components of X2, and use that as
>the model for your signal Xs.
Uh oh. You forgot that although gaussian noise has pretty constant
amplitude, its phase is COMPLETELY random and might in ANY way
disturb the signal.

Thje best approach, if you really take the lower data to approximate
the error, is to use x1 where it is nonzero (NO error at all),
and to use S/(S+N) as a factor elsewhere, where N is the estimated
noise ENERGY in the spectre, and S is the expected signal energy.

This will cause the lowest noise energy (Wiener filter), but requires
that you have a model of your data's energy spectre.
Technical Details
Message-ID: <dak.717497762@kaa>
Path: arc1-ca.pugleaf.net!sparky!uunet!wupost!darwin.sura.net!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!kaa!dak
References: <IekbtQy00WB4Axg2Qt@andrew.cmu.edu>

Show Full Headers
Complete Article Headers
Newsgroups: comp.dsp,sci.image.processing
Path: arc1-ca.pugleaf.net!sparky!uunet!wupost!darwin.sura.net!Sirius.dfn.de!Urmel.Informatik.RWTH-Aachen.DE!kaa!dak
From: dak@kaa.informatik.rwth-aachen.de (David Kastrup)
Subject: Re: Fourier Transform, Ringing
Message-ID: <dak.717497762@kaa>
Sender: news@Urmel.Informatik.RWTH-Aachen.DE (Newsfiles Owner)
Nntp-Posting-Host: kaa
Organization: Rechnerbetrieb Informatik  /  RWTH Aachen
References: <IekbtQy00WB4Axg2Qt@andrew.cmu.edu>
Date: 26 Sep 92 08:56:02 GMT
Lines: 62