Full Duplex using Matlab
Posted: Thu Feb 26, 2015 10:29 am
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
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