Before to explain my problem I give some technical information about my
hardaware. I’m using USRPs v1 and the boards integrated are XCVR2450
Transceivers.
I’m using the script usrp_spectrum_sense.py in a USRP to detect a signal
in
a ISM channel. To have a signal expressed in db I did this simple
operation
to the received signal:
I can control the signal transmitted in the ISM channel; so, I know
exactly
the time when there is a signal to be detected in the channel. During
the
first hours the USRP detects the signal giving me a value of around 40
db
but after some hours such a detected signal decreases up to roughly 10
db
and it does not change anymore regardless of the signal transmitted in
the
ISM channel. Only if I kill the process running the
usrp_spectrum_sense.py
script and execute it again, the USRP starts to detect again the 40 db
value. The signal to be detected in the ISM channel is always the same.
Can
anyone tell me which is the problem?
Oh, you were talking about the daughterboard itself. No guarantees
there,
but the schematics are all available. I think there was a recent
discussion about this on the list. What I was saying specifically, was
that there is no AGC in the USRP motherboards/FPGA. Daughterboards are
separate, but in general, I don;t think they have AGC. The WBX and some
others, for instance, use fixed gain amplifiers with a variable
attenuator
to control power.
Try to print the samples received. Check if after some moment the
samples
start to repeat.
I had some problems with that when I implemented my energy and waveform
detection blocks (based on the title you used in the post, probably you
know
what they are). After some debugging, I figured that that problem was
with
the value I was returning in the work function.