I've got some progress on it.
$ ./benchmark_tx.py -f 450e6 --tx-amplitude=0.02 --tx-gain 30 -S 10
And looking its spectrum,
Before running benchmark_tx.py
After running benchmark_tx.py,
I could get a distinct frequency component around 450 MHz.
After that, I ran benchmark_rx.py
$ benchmark_rx.py -f 450e6 --rx-gain=50 -S 10
(I modified receive_path.py to have threshold with -80 dB to filter out others)
And I got a following result.
(Sorry that this is an image that captured text because (pktno, ) = unpack('!H', payload[0:2]) throws an error and I could not type such ugly characters with my keyboard)
error: unpack requires a string argument of length 2
As you can see, benchmark_rx.py receives something. but it seems that it fails to check CRC.
And I'm curious that the reason unpack() function throwing errors is because payload contains corrupted data and this also causes CRC check failure
This means that I did wrong in either trasmitting or receiving.
1. Still signal is clipped (but, I guess not, --tx-amplitude=0.02)
2. Threshold value is mistaken (threshold = -80 [dB])
3. sample per symbol (-S 10)
4. --tx-gain, --rx-gain might be wrong.
5. or something I am missing.
Please give your suggestions. I am almost close to the goal.
And thank you for all of you in advance
2011/11/20 Tom Rondeau
<address@hidden>
FYI,
this is a fft scope WIHTOU TX (uhd_fft.py -f 450e6 -A TX/RX)
and this is the fft scope WITH TX (benchmark_tx.py -f 450e6 -A TX/RX)
as you can see, gain increased when TX is turned on.
Songsong,
That signal looks horrible. I'm pretty sure you're clipping on either the transmitter or receiver. Notice that the signal level is -10 dBm! The skirts only go down to -60 dBm, too, so you have some serious nonlinearities occurring there. Try backing off the power on the transmitted signal (--tx-amp=) and see how that does.
Tom
--
Seokseong Jeon, PhD Candidate
Communication & Networks Lab
IT Convergence Engineering (ITCE), POSTECH, Korea
+82 10 8338 1229, gee.songsong at gmail . com