DSPRelated.com
Forums

FFT Size calculation.

Started by Unknown 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), please say so to help complete your problem formulation.
"Toygar" <toygar.ozturk@gmail.com> schreef in bericht 
news:1175188006.343447.280390@y80g2000hsf.googlegroups.com...
>> 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.