Why this code gives error?

1 view (last 30 days)
Sadiq Akbar
Sadiq Akbar on 16 Sep 2021
Edited: Walter Roberson on 21 Sep 2021
Nc=31; N=5; M=3; K=3; tot_len=200;
array_TX =[3.5086 0 0;2.6877 2.2553 0;0.6093 3.4553 0;-1.7543 3.0385 0;-3.2970 1.2000 0;
-3.2970 -1.2000 0;-1.7543 -3.0385 0;0.6093 -3.4553 0;2.6877 -2.2553 0];
array_RX =[0.8507 0 0;0.2629 0.8090 0;-0.6882 0.5000 0;
-0.6882 -0.5000 0;0.2629 -0.8090 0];
DOA =[270 180 70 89 158 204 208 339 167].';
DOD =[40 120 150 195 223 161 75 350];
91
recvd_data = myreceived_data(Nc,N,M,K,tot_len,array_TX,DOD,array_RX,DOA);
  2 Comments
Walter Roberson
Walter Roberson on 16 Sep 2021
myreceived_data is not a Mathworks function, but the problem is occurring inside it. We would need the code.
Sadiq Akbar
Sadiq Akbar on 16 Sep 2021
Thank you very much dear Walter Roberson for your response. The requirede function is as below:
%1-Received data
function recvd_data = myreceived_data(Nc,N_bar,N,M,K,tot_len,array_TX,DOD,array_RX,DOA)
recvd_data1 = zeros(N,tot_len*Nc);
shift_data = zeros(N_bar,tot_len*Nc,M,K);
for m = 1:M
for k = 1:K
shift_data(:,:,m,k) = circshift(data_tx_ss(:,:,m),[0,delays(m,k)]); % Shift circularly columns of matrix towards right
end
end
for m = 1:M
for k = 1:K
for t = 1:tot_len
S_TX = spv(array_TX, [DOD(k+(m-1)*K) 0]);
S_RX = spv(array_RX, [DOA(k+(m-1)*K) 0]);
recvd_data(:,Nc*(t-1)+1:Nc*t) = recvd_data1(:,Nc*(t-1)+1:Nc*t) + (beta(k+(m-1)*K,t)*S_RX).*(S_TX'*shift_data(:,Nc*(t-1)+1:Nc*t,m,k));% it is x(t) in eq.(6)
end
end
end
end % function end

Sign in to comment.

Accepted Answer

Fernando Peña
Fernando Peña on 16 Sep 2021
When calling the function, you are missing the variable N_bar.
  5 Comments
Walter Roberson
Walter Roberson on 16 Sep 2021
Edited: Walter Roberson on 21 Sep 2021
Because Array_TX is not defined by that code.
Sadiq Akbar
Sadiq Akbar on 21 Sep 2021
Yes you are rigth dear Walter Roberson. Thank you so much.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!