DSPRelated.com
Forums

Relation between No of points of FFT and sampling frequency?

Started by amrish February 1, 2007
Hi Friends,

I am new to this. My questions is very basic. How do i decide that i need
to use 1024 point FFT or 2048 point FFT or N point FFT for a system.

I am working on a project, where my sampling frequency is 80mhz and i need
to decide how many point FFT to be use?

What are the parameters i need to take into considerations to decide the
No. of points in FFT?

Can anyone please help me out.

Amrish.


The value for N depends on what you are trying to do.  Why are you
taking an FFT?

If you are trying to analyze a signal, the size of your FFT will
dictate the frequency resolution and one's ability to distinguish
neighboring tones.

Freq. Resolution = Fs/N

If you are trying to filter in the frequency domain, the size of your
FFT will be dictated by the length of the filter.
If you are trying to process Multi-Carrier modulated signals, your FFT
will be some multiple of a fundamental length dictated by the
communication system.

FFT has many purposes and the reasons for choosing N will depend on
why you are using an FFT in the first place.

-V

> >The value for N depends on what you are trying to do. Why are you >taking an FFT? > >If you are trying to analyze a signal, the size of your FFT will >dictate the frequency resolution and one's ability to distinguish >neighboring tones. > >Freq. Resolution = Fs/N > >If you are trying to filter in the frequency domain, the size of your >FFT will be dictated by the length of the filter. >If you are trying to process Multi-Carrier modulated signals, your FFT >will be some multiple of a fundamental length dictated by the >communication system. > >FFT has many purposes and the reasons for choosing N will depend on >why you are using an FFT in the first place. > >-V
Thanks for you reply. Here are few more details. I m trying to remove noise for my signal, i may be using a bandpass filter with apprx 700 tap and passband of 1mhz - 1.3 mhz. This is tentative design. But still but i need to decide upon filter and no of points in FFT. Project recommendation for FFT is 8192 point, so freq resolution is 80ms/8192 = 9.7 khz, but i dont know whether i should go with this freq resolution. If i have to achieve a 9 khz bandwidth, wht is the filter is should use, something greater than 700 tap.?
You will have to experiment with the filter size to see what meets
your objective.

In your case, the frequency resolution is immaterial. You need to
understand the underlying analog transformations that are occuring
when you filter, etc in the digital domain. DSP is never seperate from
what's really being done to the corresponding signal in the analog
domain. Even though your filter has N taps, it represents a unique
analog filter response with cutoff frequency, band rejection levels,
phase and amplitude response at ALL frequencies, not just those that
fall on the FFT frequency bins.

I suggest using a tool like Matlab's filter design tool to see what
sorts of filter responses you can generate. Design requirements (such
as cutoff steepness) will dictate the length (i.e. number of taps) of
a filter. For computation and memory considerations, you want the
least number of taps possible and still meet your filter response
objectives.

-V

amrish wrote:
>> The value for N depends on what you are trying to do. Why are you >> taking an FFT? >> >> If you are trying to analyze a signal, the size of your FFT will >> dictate the frequency resolution and one's ability to distinguish >> neighboring tones. >> >> Freq. Resolution = Fs/N >> >> If you are trying to filter in the frequency domain, the size of your >> FFT will be dictated by the length of the filter. >> If you are trying to process Multi-Carrier modulated signals, your FFT >> will be some multiple of a fundamental length dictated by the >> communication system. >> >> FFT has many purposes and the reasons for choosing N will depend on >> why you are using an FFT in the first place. >> >> -V > > Thanks for you reply. Here are few more details. > > I m trying to remove noise for my signal, i may be using a bandpass filter > with apprx 700 tap and passband of 1mhz - 1.3 mhz. This is tentative > design. But still but i need to decide upon filter and no of points in > FFT. > > Project recommendation for FFT is 8192 point, so freq resolution is > 80ms/8192 = 9.7 khz, but i dont know whether i should go with this freq > resolution. > > If i have to achieve a 9 khz bandwidth, wht is the filter is should use, > something greater than 700 tap.?
You don't need an FFT to filter. After you design your filter, an FFT with overlap-add or overlap-save may be an efficient way to implement it, but that's another matter. The number of filter taps is not directly related to bandwidth. Rather, the number depends heavily on the steepness of the rolloff and the passband attenuation. High values of those filter parameters probably won't contribute much to noise suppression; try a few examples and compare them. 700 taps is your tentative design. Where does that number come from? From what you wrote, I suppose that "tentative" means "wild guess". Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

Jerry Avins wrote:


> > 700 taps is your tentative design. Where does that number come from? > From what you wrote, I suppose that "tentative" means "wild guess".
I would say that the FIR filter with more then 100 taps usually indicates an inefficient approach to the design. There should be a better way. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Vladimir Vassilevsky wrote:
> > > Jerry Avins wrote: > > >> >> 700 taps is your tentative design. Where does that number come from? >> From what you wrote, I suppose that "tentative" means "wild guess". > > I would say that the FIR filter with more then 100 taps usually > indicates an inefficient approach to the design. There should be a > better way.
This will be an inefficient FIR. The normalized passband runs from .0125 to .01625. An IIR would be a better choice if the effect on phase can be tolerated. An FIR needs about 600 (ouch!) taps. Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
U3BlY3MgbGlrZSB0aG9zZSBTQ1JFQU0gZm9yIGEgbXVsdGlyYXRlIEJQIGltcGxlbWVudGF0aW9u
LCB3aGljaCBjYW4KZ2l2ZSBib3RoIGxvdyBjb21wdXRhdGlvbiByYXRlIGFuZCBoaWdoIHBlcmZv
cm1hbmNlLgoKRGlyawoKPiA+IEplcnJ5IEF2aW5zIHdyb3RlOgo+CjxjbGlwcGVkPgo+Cj4gVGhp
cyB3aWxsIGJlIGFuIGluZWZmaWNpZW50IEZJUi4gVGhlIG5vcm1hbGl6ZWQgcGFzc2JhbmQgcnVu
cyBmcm9tIC4wMTI1Cj4gdG8gLjAxNjI1LiBBbiBJSVIgd291bGQgYmUgYSBiZXR0ZXIgY2hvaWNl
IGlmIHRoZSBlZmZlY3Qgb24gcGhhc2UgY2FuIGJlCj4gdG9sZXJhdGVkLiBBbiBGSVIgbmVlZHMg
YWJvdXQgNjAwIChvdWNoISkgdGFwcy4KPgo+IEplcnJ5Cj4gLS0KPiBFbmdpbmVlcmluZyBpcyB0
aGUgYXJ0IG9mIG1ha2luZyB3aGF0IHlvdSB3YW50IGZyb20gdGhpbmdzIHlvdSBjYW4gZ2V0Lgo+
IK+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+v
r6+vr6+vr6+vr6+vr6+vCgo=

dbell wrote:
> Specs like those SCREAM for a multirate BP implementation, which can > give both low computation rate and high performance.
I have made a DSP program that uses banks of FIR filters that has some FIRs that go up to hundreds of thousands ot taps, IIRC, so I find this whole discussion pretty interesting, but I wonder what it applies to. What my program does with FIRs is basically slice the input signal into narrow bands, and so my filter bank is made of narrow bandpass filters. Is there any way I could reduce the size of the FIRs I use with anything that has been mentionned in this discussion?
On Feb 4, 2:40 am, "Michel Rouzic" <Michel0...@yahoo.fr> wrote:
> dbell wrote: > > Specs like those SCREAM for a multirate BP implementation, which can > > give both low computation rate and high performance. > > I have made a DSP program that uses banks of FIR filters that has some > FIRs that go up to hundreds of thousands ot taps, IIRC, so I find this > whole discussion pretty interesting, but I wonder what it applies to. > What my program does with FIRs is basically slice the input signal > into narrow bands, and so my filter bank is made of narrow bandpass > filters. Is there any way I could reduce the size of the FIRs I use > with anything that has been mentionned in this discussion?
Is your goal to avoid the computational load or to reduce the length of the reponse? Dirk