I’m new to gnuradio & usrp devices. I tried to update the
ucla_zigbee_phy examples “cc2420_txtest.py” and “cc2420_rxtest.py” to
work with UHD (see attachments), then I ran the codes separately on two
E100 devices but cannot get any packet from the receiver. To find out
the problem, I connected a vector sink directly to the uhd.usrp_source
in the receiver. Then I got some data but it seems nothing came from the
transmitter side, because even if I do not run the transmitter, the
values of the collected data does not change much, most of which are
smaller than 0.01.
I have been using the E100 boards and RFX2400 daughter boards, with UHD
image 003.002.001.
The options for the usrp devices are:
center frequency: 2.475 GHz
sample rate: 200 000
Now I got confused by what happened, could someone have a look at my
codes and give me a tip about what might be the problem?
much, most of which are smaller than 0.01.
Thanks in advance,
Terry
I don’t know about the ZigBee codes specifically, but UHD-based “flows”
have data that are scaled to {-1.0, 1.0}, and if the ZigBee code
is expecting more “traditional” ranges {-32k, 32k}, it would likely
get confused.
You should confirm reception using just uhd_fft.py, just as a
first-order sanity check to see that there’s some spectral content
there.
Once you’ve confirmed that, then you can start debugging the
(complicated, probably) ZigBee stuff.
Thanks a lot for your reply Marcus! The thing is, I have been running
the gnuradio on E100 and there is no graphical support, so I was
wondering if there is another way to conform reception? Or should I run
the gnuradio on the PC and get data from E100? Thanks.
Thanks a lot for your reply Marcus! The thing is, I have been running
the gnuradio on E100 and there is no graphical support, so I was
wondering if there is another way to conform reception? Or should I run
the gnuradio on the PC and get data from E100? Thanks.
I guess you have a few options:
You could build gnuradio w/ qtgui or wxgui support
Capture data and replay it on a x86 PC
Or the coolest option (because I am proud of my handiwork): To get a
quick live DFT, the uhd examples ascii art dft may be easiest. ASCII Art FFT with USRP and UHD - YouTube
I tried the option 2) and 3), but didn’t get the expected result. What I
did was transmitting some packet data which had been modulated (O-QPSK
method) from one E100 device, then observed the spectral property of the
received data from the other E100 device. However, nothing “special” was
shown on the spectrum diagram (provided by rx_ascii_art_dft.py or
uhd_fft.py).
Then I returned to the basics - using the tx_waveforms (uhd example) to
send out SINE wave, then observed the spectrum from the other device. I
still used two methods: one is the live DFT by rx_ascii_art_dft.py, the
other is first collecting data using the rx_samples_to_file and then
reading the data into uhd_fft.py (replace the uhd source by file
source). What I expected to see was two tones at 2415.8MHz and 2416.2MHz
on the spectrum, but nothing showed up at these two frequencies.
Thanks for your tips, Josh! I really like the third option, it’s so
cool!
On one E100, I ran the rx_ascii_art_dft.py program:
./rx_ascii_art_dft --freq 2475000000 --gain 30 --rate 8000000
–frame-rate 15 --ref-lvl -50 --dyn-rng 70
I got high level signals at about 2.472 GHz on the spectrum.
Then on the other E100, I ran the transmitter on 2.475 GHz and -15dB
gain, which started to send out demodulated data. But there is no
obvious change of the spectrum. Does it mean that the receiver didn’t
get any useful data from the transmitter? Or I didn’t set the devices
right at some point?
Thanks,
Terry
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.