Dear All,

A few weeks ago I was involved in a discussion about calculating the

cycle

time of an unknown system present in the area by sensing the spectrum

with

the help of RFX2400+USRP1 system. For details you may like to have a

look on

previous mails on this thread.

As Firas suggested to choose a decimation factor with respect to duty

cycle

of the cyclic system. I implemented it in this way but I am facing two

problems:

1- I am using following formula to calculate the cycle time:

if

ADC_rate = 64MHz, D=decimation rate, fft_size, count= total no. of

fft_scans

where signal is not present

Then following would give me the value of cycle time:

[1/(ADC_rate/D)]*fft_size*count*1e3 —> where [1/(ADC_rate/D)] simply

gives

the time resolution or time gap between two points in fft bin. 1e3 for

conversion in ms.

with D=128, fft_size=512, I scanned the spectrum for more than one times

and

stored the results in an array, then I choose maximum occerence in that

array as ‘count’ in above formula e.g.

for 200ms cycle time my array look like [27, 200, 27, 27, 27, 27, 276,

27],

here count = 27, other values are actually some errors

for 100ms cycle time my array look like [13, 13, 87, 13, 13, 13, 13,

167],

here count = 13, other values are actually some errors

for 50ms cycle time my array look like [6, 6, 6, 6, 6, 6, 6, 6], here

count

= 6.

From this array with multiple scans I was able to see that some cyclic

behaviour is correctly detected. BUT when I put all values in above

mentioned formula then I found that to get exact value of cycle time I

must

multiply my answer with a ‘factor’ ranging from 7-8 (some times 7.25, or

7.4, or 7.5 etc). But this ‘factor’ is not a fixed value and variation

in

its value depend on the cycle time. So final formula becomes

[1/(ADC_rate/D)]*fft_size*count * factor *1.e3 —> The value of

factor is

changing on following pattern:

for 200ms cycle time factor ~ 7.25 would give me exact answer

for 150ms cycle time factor ~ 7.35 would give me exact answer

for 100ms cycle time factor ~ 7.5 would give me exact answer

for 50ms cycle time factor ~ 8 would give me exact answer

I cant understand what this factor is and where it is comming from. Is

there

any processing in USRP which I am forgetting? Can someone help me to

figureout this factor.

2-My second problem is that, I am able to detect cycle time for any duty

cycle with the help of 128, and 256 decimation rates , but with any

other

decimation rate my answers are quite random and I cant get a cyclic

answer

in my above mentioned array. Or simply you can say as it was looking

from

theretical side that for any specific decimation rate I should get a

cyclic

answer but the only thing which would change was the no. of detected and

undetected scans. But its not happening in this way. e.g with any other

decimation rate except 128, 256, I am getting answer like follows:

for 200ms cycle time my array look like [20, 2, 187, 17, 87, 65, 13,

167],

which dont provide me any clue. Similarly for any other cycle time I am

getting random values.

Is there any thing wrong with selection of decimation rate? can some one

help me to figure out where I am doing wrong.

Thanks and Best Regards

–

View this message in context:

http://www.nabble.com/Cycle-time-detection-for-an-unknown-cyclic-radio-system-tp23706892p23706892.html

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