WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2009-Mar-04 06:04:28

bandit
Member
Registered: 2008-Aug-28
Posts: 5

Frequency spectrum

Hi,

In our work we need to see the spectrum from antenna on some specific 10 MHz band. We are not interested on any any kind of data or information that is in the air. Only the energy on some specific frequency is important. If we are listening the channel 10 (center frequency = 2457 MHz) we want to see spectrum on range 2452 - 2462 MHz. 64 points from that range is enough for our purposes.

I have understood that the I and Q ADC are running on 40 Mhz and so is also for example FFT in PHY. We have taken the I and Q lines from the radio bridge to our custom pcore. In our pcore the model is following:

- First we downsample the time domain signals (I and Q) by 4
- Those samples are stored in dual port RAMs (depth = 64) using counter that is also running on 10 MHz (=Explicit period is 4)
- Samples are read from the register using 40 Mhz counter (=Explicit period is 1)
- Samples are feed to 64-point FFT (and FFT is started)
- From the the output of FFT we take every (freq domain) I and Q sample pair and calculate a following equation: I^2 + Q^2  [= (sqrt(I^2 + Q^2))^2]
- When we have calculated 64 sample pairs we should have 64 power values from that 2452 - 2462 MHz range.

Does all this seem right? How about the FFT's output index. Does index 0 in this case represent frequency 2452 MHz and index 63 represent 2462 MHz? Or are they shifted somehow so that indexes 33-63 = 2452 - 2457 MHz and indexes 0-32 = 2457 - 2462 MHz?

We would really appreciate your help on these problems.

-B-

Last edited by bandit (2009-Mar-04 07:09:29)

Offline

 

#2 2009-Mar-04 07:12:00

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Frequency spectrum

This seems like the right way to do it. One tricky bit is choosing Rx gains. If you use static gains (no AGC), and a strong signal arrives that saturates the Rx ADCs, the I/Q will probably be corrupted (i.e. no meaningful frequency content).

The FFT output index is arranged so that:
-0 is DC
-1 is the smallest positive frequency
-31 is the largest positive frequency
-32 is the largest negative frequency
-63 is the smallest negative frequency

Also, the FFT core documentation is very thorough, and includes lots of background on the FFT architecture/implementation options, timing diagrams, parameter explanations, etc. In Sysgen, right-click on the FFT block and choose Help. Then scroll to the bottom and click the link to the Core Generator datasheet for the underlying FFT core.

Offline

 

Board footer