# FFT Size calculation.

Started by March 29, 2007
```Hi,

I have the following problem that I am trying to address. Lets say we
take 64 numbers and apply FFT of size 64. Then we concatenate 100 of
these 64 numbers, and perform D/A conversion. This signal is digitized
at a rate other than the original sampling rate, say we have
oversampling of 3/2. Then per FFT we have 96 samples. And further
assume that I know I have 96 samples per FFT (but I dont know about
3/2). How can I find the original FFT size of 64? I am only interested
in the size.

Please note that, the original signal could have FFT size of 32 and
oversampling of 6/2.

Regards,
Toygar.

```
```On Mar 29, 11:54 am, toygar.ozt...@gmail.com wrote:
> Hi,
>
> I have the following problem that I am trying to address. Lets say we
> take 64 numbers and apply FFT of size 64. Then we concatenate 100 of
> these 64 numbers, and perform D/A conversion. This signal is digitized
> at a rate other than the original sampling rate, say we have
> oversampling of 3/2. Then per FFT we have 96 samples. And further
> assume that I know I have 96 samples per FFT (but I dont know about
> 3/2). How can I find the original FFT size of 64? I am only interested
> in the size.
>
> Please note that, the original signal could have FFT size of 32 and
> oversampling of 6/2.
>
> Regards,
> Toygar.

What are you trying to do? I'm not sure why you would want to output
the concatenated FFT results to a D/A converter. In any event, if this
is really what you're wanting to do, then your problem is one of
synchronizing to the FFT result stream as you look at the analog
output. If you have a frequency bin that shouldn't contain much
information (and you can therefore live with invalidating its
contents), and is present no matter what the oversampling rate is,
then you could add a value to that bin as a "sync pulse" in the signal
that you're outputting to the D/A converter. For instance, if your FFT
input has no DC component, then you could add a DC bias that is large
in comparison to the rest of the frequency components before
performing the FFT; this will give you a large peak at bin zero. You
could then use the peak to lock onto the data stream.

Jason

```
```> What are you trying to do? I'm not sure why you would want to output
> the concatenated FFT results to a D/A converter. In any event, if this
> is really what you're wanting to do, then your problem is one of
> synchronizing to the FFT result stream as you look at the analog
> output. If you have a frequency bin that shouldn't contain much
> information (and you can therefore live with invalidating its
> contents), and is present no matter what the oversampling rate is,
> then you could add a value to that bin as a "sync pulse" in the signal
> that you're outputting to the D/A converter. For instance, if your FFT
> input has no DC component, then you could add a DC bias that is large
> in comparison to the rest of the frequency components before
> performing the FFT; this will give you a large peak at bin zero. You
> could then use the peak to lock onto the data stream.

Hi Jason, thank you for your repy.
In fact, I am not trying to synchronize. I just need to find the FFT
size. The signal can have (after D/A conversion) frequency offset. In
this case, the DC term will appear at a wrong position. I just need to
find the FFT size.

Toygar.

```
```
>
> I have the following problem that I am trying to address. Lets say we
> take 64 numbers and apply FFT of size 64. Then we concatenate 100 of
> these 64 numbers, and perform D/A conversion. This signal is digitized
> at a rate other than the original sampling rate, say we have
> oversampling of 3/2. Then per FFT we have 96 samples. And further
> assume that I know I have 96 samples per FFT (but I dont know about
> 3/2). How can I find the original FFT size of 64? I am only interested
> in the size.
>
> Please note that, the original signal could have FFT size of 32 and
> oversampling of 6/2.
>

Intuitively I think that without any further knowledge of your signals you
can not find out the FFT size.

I think you could create the same signal from concatenating fft's of length
32 or from conctenating fft's of length 64. Obviously the starting signals
will be different, but that is irrelevant. but if you can create the same
signal with the 2 methods, this would prove that you cant do what you want
to do.

```
```> Intuitively I think that without any further knowledge of your signals you
> can not find out the FFT size.
>
> I think you could create the same signal from concatenating fft's of length
> 32 or from conctenating fft's of length 64. Obviously the starting signals
> will be different, but that is irrelevant. but if you can create the same
> signal with the 2 methods, this would prove that you cant do what you want
> to do.

This is not correct. For example, if you look at the spectrum, 64 FFT
will cover the a wider spectrum. This can be used, but I am looking
for something in time domain.

Regards,
Toygar

```
```toygar.ozturk@gmail.com wrote:
> I have the following problem that I am trying to address. Lets say we
> take 64 numbers and apply FFT of size 64. Then we concatenate 100 of
> these 64 numbers, and perform D/A conversion. This signal is digitized
> at a rate other than the original sampling rate, say we have
> oversampling of 3/2. Then per FFT we have 96 samples. And further
> assume that I know I have 96 samples per FFT (but I dont know about
> 3/2). How can I find the original FFT size of 64? I am only interested
> in the size.

This is quite simple (assuming that the result of the original FFT is
not degenerated).
Take a sufficiently large number of samples (let's say 1024) with your
A/D, apply a window function and do a FFT of that. The FFT will show the
discrete spectrum of the repeated input signal. The distance between the
peaks in the frequency response is the periodicity of the input signal
in the time domain. This has nothing to do with your initial FFT. It
results simply from the periodicity of your signal. So if you know the
original sampling rate of the D/A you can calculate the number of
repeated samples.
Of course, if you repeat 64 samples they may have a smaller periodicity.
That is the degeneration I mentioned above.

> Please note that, the original signal could have FFT size of 32 and
> oversampling of 6/2.

What has the oversampling factor to do with the sampling rate of the
original signal?

However, assuming that the sampled signal has some energy over the whole
Bandwidth you may estaminate the original sampling frequency from the
Nyquist cut off frequency in the spectrum. Of course, if your signal
does not contain that high frequencies, your estamination may return a
too small value. However, this makes no difference since your signal
will be completely identical, whether your D/A operated at higher rate
or not. So whatever you do with your result next, it will not make any
difference wth respect to your test signal.
Taking some constraints into account, like the number of repeated
samples mut be a power of two, your estaminations might be quite good.

Marcel
```
```guys,
please direct it to the post which i made long long back.
Remember i engaged in a lengthy battle with all these great experts :)

http://www.dsprelated.com/showmessage/61072/1.php

thanks and regards
PARTICLEREDDY

On Mar 30, 3:07 am, Marcel M=FCller <news.5.ma...@spamgourmet.org>
wrote:
> toygar.ozt...@gmail.com wrote:
> > I have the following problem that I am trying to address. Lets say we
> > take 64 numbers and apply FFT of size 64. Then we concatenate 100 of
> > these 64 numbers, and perform D/A conversion. This signal is digitized
> > at a rate other than the original sampling rate, say we have
> > oversampling of 3/2. Then per FFT we have 96 samples. And further
> > assume that I know I have 96 samples per FFT (but I dont know about
> > 3/2). How can I find the original FFT size of 64? I am only interested
> > in the size.
>
> This is quite simple (assuming that the result of the original FFT is
> not degenerated).
> Take a sufficiently large number of samples (let's say 1024) with your
> A/D, apply a window function and do a FFT of that. The FFT will show the
> discrete spectrum of the repeated input signal. The distance between the
> peaks in the frequency response is the periodicity of the input signal
> in the time domain. This has nothing to do with your initial FFT. It
> results simply from the periodicity of your signal. So if you know the
> original sampling rate of the D/A you can calculate the number of
> repeated samples.
> Of course, if you repeat 64 samples they may have a smaller periodicity.
> That is the degeneration I mentioned above.
>
> > Please note that, the original signal could have FFT size of 32 and
> > oversampling of 6/2.
>
> What has the oversampling factor to do with the sampling rate of the
> original signal?
>
> However, assuming that the sampled signal has some energy over the whole
> Bandwidth you may estaminate the original sampling frequency from the
> Nyquist cut off frequency in the spectrum. Of course, if your signal
> does not contain that high frequencies, your estamination may return a
> too small value. However, this makes no difference since your signal
> will be completely identical, whether your D/A operated at higher rate
> or not. So whatever you do with your result next, it will not make any
> difference wth respect to your test signal.
> Taking some constraints into account, like the number of repeated
> samples mut be a power of two, your estaminations might be quite good.
>
> Marcel

```
```On Mar 29, 10:06 am, "Toygar" <toygar.ozt...@gmail.com> wrote:
> > Intuitively I think that without any further knowledge of your signals you
> > can not find out the FFT size.
>
> > I think you could create the same signal from concatenating fft's of length
> > 32 or from conctenating fft's of length 64. Obviously the starting signals
> > will be different, but that is irrelevant. but if you can create the same
> > signal with the 2 methods, this would prove that you cant do what you want
> > to do.
>
> This is not correct. For example, if you look at the spectrum, 64 FFT
> will cover the a wider spectrum.

No.  Although the output from an FFT of length 64 could cover a wider
spectrum than that of a shorter length, this is not necessarily true
for all
arbitrary input vectors.  There could be all zeros in all the high
frequency
bins of the input vector to the 64 FFT.  How could you tell this apart
from
the output of a shorter FFT?

Unless you somehow know that there can't be all zeros in all the high
frequency bins.  If so (or some other bin combination is illegal),
say so to help complete your problem formulation.

```
```"Toygar" <toygar.ozturk@gmail.com> schreef in bericht
>> Intuitively I think that without any further knowledge of your signals
>> you
>> can not find out the FFT size.
>>
>> I think you could create the same signal from concatenating fft's of
>> length
>> 32 or from conctenating fft's of length 64. Obviously the starting
>> signals
>> will be different, but that is irrelevant. but if you can create the same
>> signal with the 2 methods, this would prove that you cant do what you
>> want
>> to do.
>
> This is not correct. For example, if you look at the spectrum, 64 FFT
> will cover the a wider spectrum. This can be used, but I am looking
> for something in time domain.
>
oh no ?

Imagine a signal that is 0 everywhere.
Take fft's of 32 and concat, take fft's of 64 and concat.

How are you going to differentiate between these 2?

I am still convinced that without any further knowledge on the original
signal, this problem can not be solved.

```