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. _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
