Help with 2x2 MIMO on MATLAB/Simulink

Discussions related to embedded firmware, driver, and user mode application software development
Post Reply
Jose.Amador95
Posts: 6
Joined: Thu Jun 11, 2020 3:42 pm

Help with 2x2 MIMO on MATLAB/Simulink

Post by Jose.Amador95 »

Hi! I'm coding a Simulink block for the BladeRF that supports the 2x2 MIMO scheme based on Nuand's System objects. My problem is that the 2-channel receiver seems to have a different sampling rate as Nuand's system object. What I have done is to modify the bladeRF class constructor for it to disable the channel selection, so both TXs and RXs activate just before calling the start function in any direction. I also changed the sync_config arguments to support the corresponding layout. Finally, I modified both transmit and receive functions to support an Nx2 matrix with the samples and the respective interleaving process (as described in the API documentation). For this last one I have increased the size of the s16 buffer to 2 * 2 * samples * int16 for it to hold both real and complex components of the samples for both channels. Is there anything I have to consider to implement the MIMO scheme properly? More specifically, in the sampling rate configuration.

Here is the code for the modified class constructor, XCVR and Simulink block.
https://1drv.ms/u/s!Ao2ZExoIY2L6h6cxQWA ... Q?e=3cZoUt
Jose.Amador95
Posts: 6
Joined: Thu Jun 11, 2020 3:42 pm

Re: Help with 2x2 MIMO on MATLAB/Simulink

Post by Jose.Amador95 »

UPDATE!
I did solve the issue I was having, I was incorrectly interleaving the TX samples, but now it's working fine! If anyone would like to test the files in MATLAB/Simulink, the OneDrive link is still available. I plan to include my code into the base system object and make a pull request to Nuand's repo or publish it as an add-on within MATLAB. At the moment, the code is not very elegant but delivers most (if not all) features the original one had.

Any comment will be well received!
Jose.Amador95
Posts: 6
Joined: Thu Jun 11, 2020 3:42 pm

Re: Help with 2x2 MIMO on MATLAB/Simulink

Post by Jose.Amador95 »

I solved my issue and posted the results of my Beamforming system in a Github repo containing the MATLAB scripts for interfacing with the BladeRF and the Simulink models for the BF system.

https://github.com/JoseAmador95/UoS_Beamforming
Post Reply