📄 egrc1xnr.m
字号:
% M file for EGRC 1xNr
function ber_m1_EGRC1xNr=EGRC1xNr(snr,Nr)
Nt=1;
Nr=Nr;
no_bit_sym=1;
no_it_x_SNR=10000;
%iter=0;
tot_err_m1=0;
% while tot_err_m1<soglia
% iter=iter+1;
for i=1:no_it_x_SNR
%DATA
X=(2*round(rand(Nt,1))-1);
%Channel
H=rey(Nr,Nt);
%Noise
sig=sqrt(0.5/(10^(snr/10)));
n=sig*(randn(Nr,Nt)+j*randn(Nr,Nt));
%Received Signal
R=H*X+n;
%Combiner
s0=0;
for n=1:Nr
s0=(conj(H(n,1))*R(n,1))/(abs(H(n,1)))+s0;
end
% if(real(s0)>0)
% decoded=1;
% else
% decoded=-1;
% end
S=[s0];
dh=[1 -1];
d11=((dh(1)-real(S(1)))^2+(imag(S(1)))^2);
d12=((dh(2)-real(S(1)))^2+(imag(S(1)))^2);
D1=[d11 d12];
for k=1:2
X1_dec(k)=((abs(dh(k)))^2)*sum(sum((abs(H)).^2)-1)+D1(k);
end
%Decision
[sceltal,posizione1]=min(X1_dec);
decoded=[dh(posizione1)];
err_m1=sum(round(X')~=round(decoded));
tot_err_m1=err_m1+tot_err_m1;
end
%end
ber_m1_EGRC1xNr=tot_err_m1/(no_it_x_SNR)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -