How do I implement a script using system objects?

2 views (last 30 days)
Ryan
Ryan on 6 Sep 2025
Answered: NVSL on 9 Sep 2025
Hello, I am new to Simulink so please go easy on me. I am trying to implement this particular example using system objects from the related toolboxes.
I have tried using different transmitters available but it does not seem to work. Any idea to create the Tx/Rx arras and set their locations? Thanks.

Answers (1)

NVSL
NVSL on 9 Sep 2025
Hey Ryan,
I noticed you're working on implementing the example of "Integrating Sensing and Communication" and are having some trouble creating Tx/Rx arrays and setting their locations.
You can create Tx/Rx antenna arrays as ULA system objects using the "phased.ULA" function. You can find the documentation for this here:
By default, the elements are placed along the y-axis, centered at the origin, with the spacing you specify. However, if you want to change the location or orientation, you'll need to specify that when you use the array in a scenario.
In the example mentioned in your question, the propagation channel between the transmitter and receiver is modeled using "phased.ScatteringMIMOChannel" as shown below:
channel = phased.ScatteringMIMOChannel('CarrierFrequency', carrierFrequency, 'TransmitArray', txArray,...
'TransmitArrayPosition', txPosition, 'ReceiveArray', rxArray, 'ReceiveArrayPosition', rxPosition,...
'TransmitArrayOrientationAxes',txOrientationAxis, 'ReceiveArrayOrientationAxes', rxOrientationAxis,...
'SampleRate', sampleRate, 'SimulateDirectPath', true, 'ScattererSpecificationSource', 'Input Port');
To update the location of the Tx and Rx arrays, you can use the Name-Value arguments "TransmitArrayPosition" and "ReceiveArrayPosition" with the new locations. This way, you can use the updated positions during simulation, depending on your scenario.
Hope this helps!

Products


Release

R2025a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!