circuito_decision.m
来自「matlab在通信原理中的应用」· M 代码 · 共 46 行
M
46 行
function y = Circuito_Decision(u)
i=0; band=0;
while i<=50
if isempty(find_system(gcs,'Name','Decision'))==1
i=i+1;
if isempty(find_system(gcs,'Name',['Decision',int2str(i)]))==1
else
Blks=([gcs,'/','Decision',int2str(i)]);
snr_in_dB=str2num(get_param(Blks,'Potencia'));
break
end
else
Blks=([gcs,'/','Decision']);
snr_in_dB=str2num(get_param(Blks,'Potencia'));
break
end
end
SNR=exp((snr_in_dB)*(log(10)/10));
sigma=(1/sqrt(2*SNR));
%==============================================
% Punto de decision
% Id = I(0)+I(1)/2
Id=(max(u(:,:))+min(u(:,:)))/2;
%---------------------------------------------
[a b]=size(u);
j=1;
r=zeros(1,b);
y=zeros(1,b);
%output=zeros(1,b);
while j<=b
if u(1,j)<Id
r(1,j) = 0+gngauss(sigma);
else
r(1,j) = 1+gngauss(sigma);
end
if r(1,j) < 0.5
r(1,j) =0;
else
r(1,j) =1;
end
j=j+1;
end
y=r;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?