📄 generador_ruidogngauss.m
字号:
function y = Generador_RuidoGngauss(u)
if isempty(find_system(gcs,'Name','Regenerator'))~=1
Blksss=([gcs,'/','Regenerator']);
snr_in_dB=str2num(get_param(Blksss,'SNR'));
[a,b]=size(u);
V=zeros(a,b);
Id=(max(u(:,:))+min(u(:,:)))/2;
SNR=exp((snr_in_dB)*(log(10)/10));
sigma=(1/sqrt(2*SNR));
for i=1:b
if (u(1,i)<Id);
V(1,i)=1+gngauss(sigma);
else
V(1,i)=0+gngauss(sigma);
end
end
y=V(:,:);
end
if isempty(find_system(gcs,'Name','Regenerator1'))~=1
Blks1=([gcs,'/','Regenerator1']);
snr_in_dB1=str2num(get_param(Blks1,'SNR'));
[a,b]=size(u);
V1=zeros(a,b);
Id1=(max(u(:,:))+min(u(:,:)))/2;
SNR1=exp((snr_in_dB1)*(log(10)/10));
sigma1=(1/sqrt(2*SNR1));
for i=1:b
if (u(1,i)<Id1);
V1(1,i)=1+gngauss(sigma1);
else
V1(1,i)=0+gngauss(sigma1);
end
end
y=V1;
end
if isempty(find_system(gcs,'Name','Regenerator2'))~=1
Blks2=([gcs,'/','Regenerator2']);
snr_in_dB2=str2num(get_param(Blks2,'SNR'));
[a,b]=size(u);
V2=zeros(a,b);
Id2=(max(u(:,:))+min(u(:,:)))/2;
SNR2=exp((snr_in_dB2)*(log(10)/10));
sigma2=(1/sqrt(2*SNR2));
for i=1:b
if (u(1,i)<Id2);
V2(1,i)=1+gngauss(sigma2);
else
V2(1,i)=0+gngauss(sigma2);
end
end
y=V2;
end
if isempty(find_system(gcs,'Name','Regenerator3'))~=1
Blks3=([gcs,'/','Regenerator3']);
snr_in_dB3=str2num(get_param(Blks3,'SNR'));
[a,b]=size(u);
V3=zeros(a,b);
Id3=(max(u(:,:))+min(u(:,:)))/2;
SNR3=exp((snr_in_dB3)*(log(10)/10));
sigma3=(1/sqrt(2*SNR3));
for i=1:b
if (u(1,i)<Id3);
V3(1,i)=1+gngauss(sigma3);
else
V3(1,i)=0+gngauss(sigma3);
end
end
y=V3;
end
if isempty(find_system(gcs,'Name','Regenerator4'))~=1
Blks4=([gcs,'/','Regenerator4']);
snr_in_dB4=str2num(get_param(Blks4,'SNR'));
[a,b]=size(u);
V4=zeros(a,b);
Id4=(max(u(:,:))+min(u(:,:)))/2;
SNR4=exp((snr_in_dB4)*(log(10)/10));
sigma4=(1/sqrt(2*SNR4));
for i=1:b
if (u(1,i)<Id4);
V4(1,i)=1+gngauss(sigma4);
else
V4(1,i)=0+gngauss(sigma4);
end
end
y=V4;
end
if isempty(find_system(gcs,'Name','Regenerator5'))~=1
Blks5=([gcs,'/','Regenerator5']);
snr_in_dB5=str2num(get_param(Blks5,'SNR'));
[a,b]=size(u);
V5=zeros(a,b);
Id5=(max(u(:,:))+min(u(:,:)))/2;
SNR5=exp((snr_in_dB5)*(log(10)/10));
sigma5=(1/sqrt(2*SNR5));
for i=1:b
if (u(1,i)<Id5);
V5(1,i)=1+gngauss(sigma5);
else
V5(1,i)=0+gngauss(sigma5);
end
end
y=V5;
end
if isempty(find_system(gcs,'Name','Regenerator6'))~=1
Blks6=([gcs,'/','Regenerator6']);
snr_in_dB6=str2num(get_param(Blks6,'SNR'));
[a,b]=size(u);
V6=zeros(a,b);
Id6=(max(u(:,:))+min(u(:,:)))/2;
SNR6=exp((snr_in_dB6)*(log(10)/10));
sigma6=(1/sqrt(2*SNR6));
for i=1:b
if (u(1,i)<Id6);
V6(1,i)=1+gngauss(sigma6);
else
V6(1,i)=0+gngauss(sigma6);
end
end
y=V6;
end
if isempty(find_system(gcs,'Name','Regenerator7'))~=1
Blks7=([gcs,'/','Regenerator7']);
snr_in_dB7=str2num(get_param(Blks7,'SNR'));
[a,b]=size(u);
V7=zeros(a,b);
Id7=(max(u(:,:))+min(u(:,:)))/2;
SNR7=exp((snr_in_dB7)*(log(10)/10));
sigma7=(1/sqrt(2*SNR7));
for i=1:b
if (u(1,i)<Id7);
V7(1,i)=1+gngauss(sigma7);
else
V7(1,i)=0+gngauss(sigma7);
end
end
y=V7;
end
if isempty(find_system(gcs,'Name','Regenerator8'))~=1
Blks8=([gcs,'/','Regenerator8']);
snr_in_dB8=str2num(get_param(Blks8,'SNR'));
[a,b]=size(u);
V8=zeros(a,b);
Id8=(max(u(:,:))+min(u(:,:)))/2;
SNR8=exp((snr_in_dB8)*(log(10)/10));
sigma8=(1/sqrt(2*SNR8));
for i=1:b
if (u(1,i)<Id8);
V8(1,i)=1+gngauss(sigma8);
else
V8(1,i)=0+gngauss(sigma8);
end
end
y=V8;
end
if isempty(find_system(gcs,'Name','Regenerator9'))~=1
Blks9=([gcs,'/','Regenerator9']);
snr_in_dB9=str2num(get_param(Blks9,'SNR'));
[a,b]=size(u);
V9=zeros(a,b);
Id9=(max(u(:,:))+min(u(:,:)))/2;
SNR9=exp((snr_in_dB9)*(log(10)/10));
sigma9=(1/sqrt(2*SNR9));
for i=1:b
if (u(1,i)<Id9);
V9(1,i)=1+gngauss(sigma9);
else
V9(1,i)=0+gngauss(sigma9);
end
end
y=V9;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -