Help with Transciever

Having issues with the site, hardware, source code, or any other issues?

Moderator: robert.ghilduta

Post Reply
timolary
Posts: 3
Joined: Tue Nov 13, 2018 9:04 am

Help with Transciever

Post by timolary » Tue Nov 13, 2018 9:11 am

I am currently using a bladerf 2.0 in my research where I am characterizing a chip designed by a professor of mine. I have two scripts in python at the moment where I can transmit and receive separately. However, I would like to use both antennas (RX/TX) on the bladerf at the same time.

I would be receiving at twice my transmitted frequency, essentially I am trying to measure the second harmonic of my transmitted signal after it goes through the chip.

Is this possible? Could I do this in one script? Or will I need two separate SDR?

Thank you in advance.

User avatar
rtucker
Posts: 77
Joined: Sun Jan 25, 2015 10:38 am

Re: Help with Transciever

Post by rtucker » Tue Nov 13, 2018 7:20 pm

Greetings,

Yep, full-duplex operation is possible with the hardware and underlying library, and should (in theory) be possible with the Python bindings, although I haven't tried this yet. You'd want to alternate between sync_rx and sync_tx, keeping the TX buffers as full as possible and the RX buffers as empty as possible.

Let us know if you have any further questions, and also let us know how it works out!

Thanks :)
Rey Tucker (she/her)
Systems Engineer, Nuand LLC
Rochester, NY, USA

#WontBeErased

timolary
Posts: 3
Joined: Tue Nov 13, 2018 9:04 am

Re: Help with Transciever

Post by timolary » Wed Nov 14, 2018 7:50 am

Would this be possible using GNU Radio? That is how I have been getting my basic python code and I have been altering it from there using osmocom sources.

If I put two flowgraphs in the file, would that have the same effect?

Thank you for the quick reply!

bglod
Posts: 201
Joined: Thu Jun 18, 2015 6:10 pm

Re: Help with Transciever

Post by bglod » Wed Nov 14, 2018 2:27 pm

I can't speak for the GNU Radio stuff, but I have successfully done full duplex with the Python bindings using two thread pools, each containing 1 process. One thread pool for RX, one for TX. Then I would submit RX and TX tasks to the appropriate thread pool, wait for completion, and read the result. This is certainly not the only way to do it, but it worked quite well for my application.

I'll have to clean up the code and push it to our examples directory in the bladeRF GitHub repo, but it may take some time before I get to it.
Electrical Engineer
Nuand, LLC.

timolary
Posts: 3
Joined: Tue Nov 13, 2018 9:04 am

Re: Help with Transciever

Post by timolary » Thu Nov 15, 2018 12:26 pm

There is a thread about full duplex in GNU radio from a while back, but I do not thing this will work since I am receiving at twice the frequency I am transmitting at. I am also altering the python code from GNU radio to sweep through a range of frequencies.
What should I look up to learn more about this thread pools and python bindings? Python is still new to me but I will try my best to learn this.

bglod
Posts: 201
Joined: Thu Jun 18, 2015 6:10 pm

Re: Help with Transciever

Post by bglod » Fri Nov 30, 2018 6:55 pm

I sanitized my example a little bit and pushed it to my fork of bladeRF. Please try it out and let me know how it works out for you or if you have any questions. If I hear good things, I'll merge it to master!

https://github.com/bglod/bladeRF/tree/d ... ython/txrx
Electrical Engineer
Nuand, LLC.

Post Reply