How to use comm.SphereDecoding for a custom channel?
Hi,
Currently, I am learning about MIMO systems. I want to use the comm.SphereDecoding function to decode a signal that has passed through a channel with a given channel matrix, H.
Everything I did was the same as the documentation, only I didn’t use the comm.MIMOChannel function:
%%
% Pass the modulated data through the MIMO fading channel and add AWGN.
% [fadedSig,pathGains] = mimo(modData); % comm.MIMOChannel
% rxSig = awgnChan(fadedSig);
% Generate random channel matrix H
Nt = 2; % Number of transmit antennas
Nr = 2; % Number of receive antennas
H = randn(Nr, Nt) + 1i * randn(Nr, Nt);
rxSig = H*modData;
%% Decode
% decodedData = sphDec(rxSig,squeeze(pathGains));
decodedData = sphDec(rxSig, ???); % WHAT VALUE SHOULD I PUT IN "???"
My question is what value should I put in "???". I tried putting H in but got the error:
Error using comm.SphereDecoder/validateInputsImpl (line 217)
The number of receive antennas of CHAN [: Nt Nr] must be the same as the number of receive antennas of RXSYMBOLS [:
Nr].
Any answers are appreciated. Thanks.Hi,
Currently, I am learning about MIMO systems. I want to use the comm.SphereDecoding function to decode a signal that has passed through a channel with a given channel matrix, H.
Everything I did was the same as the documentation, only I didn’t use the comm.MIMOChannel function:
%%
% Pass the modulated data through the MIMO fading channel and add AWGN.
% [fadedSig,pathGains] = mimo(modData); % comm.MIMOChannel
% rxSig = awgnChan(fadedSig);
% Generate random channel matrix H
Nt = 2; % Number of transmit antennas
Nr = 2; % Number of receive antennas
H = randn(Nr, Nt) + 1i * randn(Nr, Nt);
rxSig = H*modData;
%% Decode
% decodedData = sphDec(rxSig,squeeze(pathGains));
decodedData = sphDec(rxSig, ???); % WHAT VALUE SHOULD I PUT IN "???"
My question is what value should I put in "???". I tried putting H in but got the error:
Error using comm.SphereDecoder/validateInputsImpl (line 217)
The number of receive antennas of CHAN [: Nt Nr] must be the same as the number of receive antennas of RXSYMBOLS [:
Nr].
Any answers are appreciated. Thanks. Hi,
Currently, I am learning about MIMO systems. I want to use the comm.SphereDecoding function to decode a signal that has passed through a channel with a given channel matrix, H.
Everything I did was the same as the documentation, only I didn’t use the comm.MIMOChannel function:
%%
% Pass the modulated data through the MIMO fading channel and add AWGN.
% [fadedSig,pathGains] = mimo(modData); % comm.MIMOChannel
% rxSig = awgnChan(fadedSig);
% Generate random channel matrix H
Nt = 2; % Number of transmit antennas
Nr = 2; % Number of receive antennas
H = randn(Nr, Nt) + 1i * randn(Nr, Nt);
rxSig = H*modData;
%% Decode
% decodedData = sphDec(rxSig,squeeze(pathGains));
decodedData = sphDec(rxSig, ???); % WHAT VALUE SHOULD I PUT IN "???"
My question is what value should I put in "???". I tried putting H in but got the error:
Error using comm.SphereDecoder/validateInputsImpl (line 217)
The number of receive antennas of CHAN [: Nt Nr] must be the same as the number of receive antennas of RXSYMBOLS [:
Nr].
Any answers are appreciated. Thanks. sphere-decoding, mimo MATLAB Answers — New Questions