Hello all,
I am relatively new to digital signal processing and software defined radio. I recently purchased a HackRF one to experiment with. After going through Mike Ossmann's great video tutorial series, I decided that I wanted to play around with calculating my own frequency transform given raw IQ timeseries samples. I've played around with the FFT in the kilohertz range but never in the gigahertz range. I am trying to write an FFT algorithm to process the 2.4 GHz ISM band.
From my understanding of the FFT, one needs to choose the upper frequency bound that they choose to observe and collect twice the number of samples. However, this does not seem to make sense when I observe GNU radio plot the FFT. According to my calculations, the sample rate of the hack RF would require almost 11 minutes of data before being able to calculate an accurate FFT snapshot. How then can GNU radio produce its FFT snapshots almost instantaneously?
I talked to an engineer friend of mine who said that this is largely dependent on the data acquisition hardware. He mentioned that hardware requires the use of intermediate frequencies in order to generate measurements corresponding to the gigahertz range. And as a result of using intermediate frequencies, there is an associated instantaneous bandwidth. This is where things get fuzzy for me. I understood from school that the Nyquist criterion is relative to the maximum frequency expected to be observed. However, I understood from my friend that the Nyquist criterion is applied to the instantaneous bandwidth in order to determine the minimum number of samples required. That's a huge difference between 2.4 GHz and 20 MHz of instantaneous bandwidth for the hack RF.
As a software developer, I want to learn how to calculate spectra given the IQ timeseries data input from the hack RF. Currently, it does not make sense. If I use the 2.4 GHz frequency as my Nyquist criterion, the FFT will be huge and high in time complexity. If I use the 20 MHz frequency as my Nyquist criterion, the FFT will be relatively small and low in time complexity, but I'm not sure what that really means. Is the spectrum somehow shifted? Is there another transform involved? Or is my friend just plain wrong?
I'm looking for ideas and examples. Any help would be much appreciated.
Thank you very much,
TJ
I am relatively new to digital signal processing and software defined radio. I recently purchased a HackRF one to experiment with. After going through Mike Ossmann's great video tutorial series, I decided that I wanted to play around with calculating my own frequency transform given raw IQ timeseries samples. I've played around with the FFT in the kilohertz range but never in the gigahertz range. I am trying to write an FFT algorithm to process the 2.4 GHz ISM band.
From my understanding of the FFT, one needs to choose the upper frequency bound that they choose to observe and collect twice the number of samples. However, this does not seem to make sense when I observe GNU radio plot the FFT. According to my calculations, the sample rate of the hack RF would require almost 11 minutes of data before being able to calculate an accurate FFT snapshot. How then can GNU radio produce its FFT snapshots almost instantaneously?
I talked to an engineer friend of mine who said that this is largely dependent on the data acquisition hardware. He mentioned that hardware requires the use of intermediate frequencies in order to generate measurements corresponding to the gigahertz range. And as a result of using intermediate frequencies, there is an associated instantaneous bandwidth. This is where things get fuzzy for me. I understood from school that the Nyquist criterion is relative to the maximum frequency expected to be observed. However, I understood from my friend that the Nyquist criterion is applied to the instantaneous bandwidth in order to determine the minimum number of samples required. That's a huge difference between 2.4 GHz and 20 MHz of instantaneous bandwidth for the hack RF.
As a software developer, I want to learn how to calculate spectra given the IQ timeseries data input from the hack RF. Currently, it does not make sense. If I use the 2.4 GHz frequency as my Nyquist criterion, the FFT will be huge and high in time complexity. If I use the 20 MHz frequency as my Nyquist criterion, the FFT will be relatively small and low in time complexity, but I'm not sure what that really means. Is the spectrum somehow shifted? Is there another transform involved? Or is my friend just plain wrong?
I'm looking for ideas and examples. Any help would be much appreciated.
Thank you very much,
TJ