I am executing the following code to realize 2X2 MIMO using comm.MIMOchannel system object. In the last line the variables chan_out and chan_out1 are having different outputs even though the instructions are same. Please help me rectifying the error
3 views (last 30 days)
Show older comments
Nt=2;Nr=2;
inpt=randi([0 1],Nt,3);
hchan = comm.MIMOChannel(...
'SpatialCorrelation',false, ...
'NumTransmitAntennas',Nt, ...
'NumReceiveAntennas',Nr);
chan_out=step(hchan,inpt');
chan_out1=step(hchan,inpt');
0 Comments
Accepted Answer
Walter Roberson
on 2 Nov 2016
You are applying step() to the same system both times. After you step() the first time, its state changes so the next step() produces different output.
3 Comments
Walter Roberson
on 2 Nov 2016
Nt = 2; Nr = 2;
inpt = randi([0 1],Nt,3);
hchan = comm.MIMOChannel(...
'SpatialCorrelation',false, ...
'NumTransmitAntennas',Nt, ...
'NumReceiveAntennas',Nr);
chan_out = step(hchan, inpt');
reset(hchan)
chan_out1 = step(hchan, inpt');
It is unlike that you want to do this. step is defined as:
"Call step to filter the input signal through a MIMO multipath fading channel according to the properties of comm.MIMOChannel. The behavior of step is specific to each object in the toolbox."
The channel is intended to update after each step; the result of applying step() one sample (per channel) at a time should be the same as if you passed in an array of samples.
MIMOChannels use random number generation. To be sure you get the same result each time, you also need to deal with the random number seed. Please read https://www.mathworks.com/help/comm/ref/comm.mimochannel.reset.html
More Answers (1)
thirumalraj karthikeyan
on 26 Oct 2017
i have use this code...its very use full but i have problem in ...Nt = 4; Nr = 4;...any ideas to moreover this problem
1 Comment
See Also
Categories
Find more on Filter Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!