Hi,

I am using RFX2400 + USRP + SUSI.

In one line what I want to do…I want to find signal amplitude at a

given

frequency. Or other wise I want to find the signal level at any

frequency

just as graphically shown by fft_sink (the peak of the signal).

For this I started with usrp_spectrum_sense.py. With the freq. step of

3M it

is continuesly scanning the spectrum. For any center frequency it

returnes

vector “m” with a length equal to fft_size. My perception (Please

correct me

if I am wrong) was that I will get this vector m at different desired

center

frequencies and then for each frequency I will get max(m.data) which

will

give me the peak value around that center frequency. Theoretically it

looked

very simple but when I implemented it I found strange results which I am

going to discuss one by one in the following:

1-When I run usrp_spectrum_sense.py without any changes the max values

were

in the order e.g [7141325.0, 12567175168.0, 12465465344.0…] which are

extremely big for fft size 512 (This is the only change which I did in

original code , but doesnt matter even for other fft values it remains

in

the same order).

2-Then I did a little change in the code. Rather than original freq

step,

min_cen_freq etc idea, I defined 6 channels as follows [2.41e9, 2.42e9,

2.43e9, 2.44e9, 2.45e9…] and I sanned only these center frequencies

and

the max(m.data) were in the order as follows [36.9894752502,

65.4092178345,

43.0024604797, …]. I am surprised why these are extreamly small as

compared to first results???

3-Then I merged this code with another code where I was using txpath and

rxpath with topblock, with rxpath I used as follows:

self.connect(self.u, gr.stream_to_vector, gr.fft_vcc,

gr.complex_to_mag_squared, gr.nlog10_ff, gr.bin_statistics_f)

self.connect(self.u, gr.fir_filter_ccf, gr.quadrature_demod_cf,

gr.simple_correlator, gr.vector_sink_b)

and the results were in the order [8.3423, 14.76875, 25.1657,

7.789723…]…even smaller values than above both…can

someone please explain WHY?

It would be acceptable if it would be giving the peak value in this way,

doesnt matter if it would be small or large…at least it would help me

to

decide where is the peak and which peak is smaller than the other. But

unfortunately the results are meaningless. For example I started one

narrowband FSK system at 2.4606 GHz my code which I mentioned above in

[2]

give following results (while reading these results please keep in mind

that

as seen from the spectrum analyzer there is only one system as I

mentioned

at 2.4606GHz, remaing entire 2.4GHz ISM band is free, but the results

dont

show this):

NEW FREQ-------------- 2410560000.0

max(m.data): 55.9439315796 (I dont have any thing here, I can see from

spectrum analyzer)

NEW FREQ-------------- 2420064000.0

max(m.data): 19.0843219757 (nothing here)

NEW FREQ-------------- 2430432000.0

max(m.data): 51.505443573 (nothing here)

NEW FREQ-------------- 2440800000.0

max(m.data): 49.089176178 (nothing here)

NEW FREQ-------------- 2450304000.0

max(m.data): 36.2235908508 (nothing here)

NEW FREQ-------------- 2460672000.0

max(m.data): 65.4090957642 (An FSK system here)

NEW FREQ-------------- 2410560000.0

max(m.data): 59.4409942627 (nothing here)

NEW FREQ-------------- 2420064000.0

max(m.data): 18.2838001251 (nothing here)

NEW FREQ-------------- 2430432000.0

max(m.data): 51.4855537415 (nothing here)

NEW FREQ-------------- 2440800000.0

max(m.data): 49.1326179504 (nothing here)

NEW FREQ-------------- 2450304000.0

max(m.data): 36.7711868286 (nothing here)

NEW FREQ-------------- 2460672000.0

max(m.data): 64.7095947266 (FSK here)

NEW FREQ-------------- 2410560000.0

max(m.data): 65.3698883057 (nothing here)

NEW FREQ-------------- 2420064000.0

max(m.data): 18.146987915 (nothing here)

NEW FREQ-------------- 2430432000.0

max(m.data): 51.4791488647 (nothing here)

NEW FREQ-------------- 2440800000.0

max(m.data): 49.112991333 (nothing here)

NEW FREQ-------------- 2450304000.0

max(m.data): 37.0178260803 (nothing here)

NEW FREQ-------------- 2460672000.0

max(m.data): 64.8787078857 (FSK here)

By having a look at these results you can see that these are meaningless

because I have only one 864khz system working at 2.4606GHz and at all

other

frequencies I have nothing and by spectrum analyzer I can see that I

have a

peak at 2.4606GHz with -60dBm peak…but above results give high values

at

other frequencies even. Except 2.4606 at all other frequencies the

results

should be the same (doesnt matter what would be the absolute value) and

smaller than of 2.4606GHz (because only system is working at 2.4606

GHz)???

Please first of all let me know my idea was correct or not which I

presented

in the begining.

Secondally please let me know why these results are so meaningless.

Thirdly please explain what m.data have? and what relation it have with

decimation rate set by the software and fft? I have following idea about

it:

Assume fft = 32

the center freq. is 2.45GHz and

decimation_rate = 16

Then m.data would be of length 32 and will these 32 values will be

corresponding to 32 different freq. separated by ??? around above given

center frequency.

Is above concept correct and what will be the amount in ???.

Please give me some suggestions. I am really tired and this problem have

seriously threatens my job!!!

Looking for some responces

## Best Regards

View this message in context:

http://www.nabble.com/fft-realated-problems-tp20308034p20308034.html

Sent from the GnuRadio mailing list archive at Nabble.com.