Quantcast
Channel: MATLAB Central Newsreader Recent Posts
Viewing all articles
Browse latest Browse all 19628

Re: Why the number of points doesn't influence IFFT?

$
0
0
"Antigoni " <projects_in_web@yahoo.gr> wrote in message <khnp43$cv2$1@newscl01ah.mathworks.com>...
> Hi all!
>
> Suppose you have an equation f(w,x) which involves frequency (w) and space (x) variables and it is solved for various values of these variables between specific ranges. After the solution, I come up with a 2D matrix whose rows represent frequency and columns represent space. I apply an inverse Fourier transform to this matrix using IFFT, in order to construct a matrix in time (rows) and space (columns).
> My problem starts when I'm trying to increase the number of points used in frequency dimension. To be more specific, I run two different cases:
>
> Case A: I solve f(w,x) for 256 points in w and 512 points in x. The range of w is between (-2.5e6 , 2.5e6) Hz, which means that I use a frequency step of df=19607.843. The solution seems ok and when I do the IFFT, everything seems fine. Now I want to increase the points...
>
> Case B: So, I increase the points in frequency and I solve f(w,x) for 2048 points in w and 512 points in x (are kept constant). The range of w remains the same, although the frequency step is reduced to df=2442.599. The solution in [frequency,space] domain is correct - the number of points is increased along frequency dimension. This means that when I look at a complete period of my signal I have more points along the signal than I had in case A. However, when I apply the IFFT, it seems llike it zooms out the result, keeping the number of points constant along a complete period.
>
> How can I keep the range constant and increase the accuracy of the output signal from ifft?
> Any related answer is welcome.

The time/frequency fft relates a time function on

t = dt*(0:N-1) = 0:dt:T-dt, dt = 1/Fs, T = N*dt (the period)

with the transform on

f = df*(0:N-1) = 0:df:Fs-df, df = 1/T = Fs/N

Now if Fs remains constant while N is increased and df is decreased:

dt = 1/Fs remains constant but T = N*dt =1/df increases.

If you want to increase time resolution, you have to increase the maximum frequency
of fftshift(fft(x)) which is Fs/2.

If you do not have higher frequency measurements, you can always zero pad and get an interpolation of the time function. Make sure half of the zero padding is below -Fs/2 and the other half is above +Fs/2 .

Hope this helps

Greg

Viewing all articles
Browse latest Browse all 19628

Trending Articles


FLASHBACK WITH SIRASA FM AT GALGAMUWA 2022


Mp3 Download: Mdu - Mazola


Imitation gun was fired at motorist in Leicester road-rage incident


Ndebele names


MCKINNEY EMALINE “EMMA” OF WES...


Okra & Motia — The Workshop (Prod by Hammer)


Skint TV teen to be sentenced


Moondru Mudichu 19-09-2017 – Polimer tv Serial


YOSVANI JAMES Arrested by Miami-Dade County Corrections on Jan 10, 2017


Stories • Goddess Stepmom