⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 generador_ruidogngauss.m

📁 Matlab实现SONET/SDH光通信系统simulink仿真程序源代码
💻 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 + -