Full Duplex using Matlab

Discussions related to embedded firmware, driver, and user mode application software development
Post Reply
artqny
Posts: 1
Joined: Wed Feb 25, 2015 9:44 am

Full Duplex using Matlab

Post by artqny »

Hello,
I would like to use the nuand to characterize a power amplifier system. My goal is to transmit a vector of data into the system and simultaneously receive the data as it comes out of the system, then use Matlab to compute the PA's distortion and precondition the input signal, and repeat. (Ultimately I would like to implement the equalization scheme on the FPGA, but still developing the algorithm in Matlab.) As a first step, I want to start interfacing with the nuand configured for loopback and full duplex, just to make sure I can TX and RX a given data vector. However, software is not my background, and I am unsure how to link everything together.

Say I have bladerf_dev(handle, 'RX',...) and bladerf_dev(handle,'TX',...) in Matlab. I want to use both at the same time. Is there already a function to do that? (say, bladerf_dev(handle,'TXandRX',...)) If not, my first thought was to use Parallel Computing Toolbox to run both functions, but that would cause the problem of the device being busy with one and unable to do the other. So should I Mex a function that has a TX thread and RX thread? Has anyone done something like this and would be able to share their code? Any suggestions welcome.

Best regards,
Kat
jynik
Posts: 455
Joined: Thu Jun 06, 2013 8:15 pm

Re: Full Duplex using Matlab

Post by jynik »

I think the best course of action here is to fix/improve/overhaul the underlying bladeRF MATLAB support code to cache device handles, similar to what was done with the gr-osmosdr bladeRF support. I briefly explained what I mean here, in this post.

Not sure when Rob's schedule will allow for working on the above; if someone wants to take a stab at it, I could probably offer some guidance WRT how the gr-osmosdr code addresses the exact same challenge, as well as doing some testing.
Post Reply