From: M.E.L. on
I've taken the Fourier transform of some data and now need to apply a frequency domain filter. I have three sharp peaks and want to isolate one of them with a filtering window. Any suggestions on how I might go about doing this?

Thanks!
From: Wayne King on
"M.E.L. " <schrodingers.lyon(a)gmail.com> wrote in message <hrq0l9$gfm$1(a)fred.mathworks.com>...
> I've taken the Fourier transform of some data and now need to apply a frequency domain filter. I have three sharp peaks and want to isolate one of them with a filtering window. Any suggestions on how I might go about doing this?
>
> Thanks!

Hi, when you say you have a "filtering window"...can you be more specific? The typical workflow is to design a filter, obtain the coefficients of that filter (the coefficients of the constant-coefficient difference equation) and apply it to the data with filter().

See

>>doc filter

Are you saying that you have the frequency response of your filter (as a complex-valued function of frequency)? If you can include a little MATLAB code that always helps people to see what you're doing.

Wayne
From: ImageAnalyst on
On May 4, 4:39 pm, "M.E.L. " <schrodingers.l...(a)gmail.com> wrote:
> I've taken the Fourier transform of some data and now need to apply a frequency domain filter.  I have three sharp peaks and want to isolate one of them with a filtering window.  Any suggestions on how I might go about doing this?
>
> Thanks!
------------------------------------------------------------------
Are you asking how you FIND the 3 peaks?
Or (knowing where they are already) how you zero them out to remove
periodic "noise" in your original signal?

Is it a 1D signal, or a 2D image?
Maybe you can use findpeaks() in the signal processing toolbox if it's
a 1D signal, or find some peak detectors on the File Exchange.

Otherwise if it's a 2D signal maybe you can use some kind of a median
filter that only kicks in if the central point in the window is bigger
than the average of the surrounding pixels by some threshold amount.
From: M.E.L. on
My apologies, my first message wasn't clear at all. What I'm trying to do is analyze an interferogram to find the phase. The literature suggests the following:

(1) Take 2-D FFT of an image
(2) one gets 3 lobes at carrier frequency and other two shifted at f-f0
and f+f0.
(3) Select one lobe (the "filtering window") and set other coefficients zero.
(4) Bring the selected lobe to the center of the spectrum
(5) Take inverse transform and then find out phase and unwrap it.

I'm stuck at step 3. I understand WHAT I need to do, but I don't know HOW to do it in Matlab. Hope that makes sense!