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.
Help with Transciever
- rtucker
- Posts: 77
- Joined: Sun Jan 25, 2015 10:38 am
Re: Help with Transciever
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
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
Systems Engineer, Nuand LLC
Rochester, NY, USA
#WontBeErased
-
- Posts: 3
- Joined: Tue Nov 13, 2018 9:04 am
Re: Help with Transciever
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!
If I put two flowgraphs in the file, would that have the same effect?
Thank you for the quick reply!
-
- Posts: 201
- Joined: Thu Jun 18, 2015 6:10 pm
Re: Help with Transciever
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.
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.
Nuand, LLC.
-
- Posts: 3
- Joined: Tue Nov 13, 2018 9:04 am
Re: Help with Transciever
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.
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.
-
- Posts: 201
- Joined: Thu Jun 18, 2015 6:10 pm
Re: Help with Transciever
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
https://github.com/bglod/bladeRF/tree/d ... ython/txrx
Electrical Engineer
Nuand, LLC.
Nuand, LLC.