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

📄 addnoise.m

📁 本程序实现matlab中的信号添加noise,环境是802.11a
💻 M
字号:
function[x]=addnoise(traniseq,SNR,leng,rate,energy_index)
%本函数给时域序列按照给定的信噪比给序列加上噪声,并在前面加上白噪声序列;
%traniseq:数据序列
%SNR:信噪比
%leng:白噪声序列长度
if( energy_index==1)
    switch (rate)
    case 6
       
        kmod=1;          %%Modulation-dependent normalization factor Kmod
    case 9
        
        kmod=1;
    case 12
       
        kmod=1/sqrt(2);
    case 18
       
        kmod=1/sqrt(2);
    case 24
       
        kmod=1/sqrt(10);
    case 36
        
        kmod=1/sqrt(10);
       
    case 48
       
        kmod=1/sqrt(42);
    case 54
        
        kmod=1/sqrt(42);
        
end  
    else 
      kmod=1;  
end   


 traniseq_length=length(traniseq);% 序列长度

 Rgaosi=randn(1,traniseq_length);
 Igaosi=randn(1,traniseq_length);
 Gaosinoi=Rgaosi+i*Igaosi;       %定义复高思噪声向量
             
 Gaosinoi=(sqrt(10^(-SNR/10)*kmod)*(sqrt(2)/2)*Gaosinoi); %给噪声加上相应的信噪比,注意:此处把功率归一化因子kmod补偿进去了
            
  Ntraniseq=sqrt(64)*traniseq+Gaosinoi;   %加噪声后的接收信号
 if (leng~=0)
  WRgaosi=randn(1,leng);
  WIgaosi=randn(1,leng);
  WGaosinoi=WRgaosi+i*WIgaosi; %定义白高斯噪声 
  WGaosinoi=(sqrt(10^(-SNR/10)*kmod)*(sqrt(2)/2)*WGaosinoi);%给噪声加上相应的信噪比,注意:此处把功率归一化因子kmod补偿进去了
  
  
   x=[WGaosinoi  Ntraniseq];%合并后产生输出
else
    x=Ntraniseq;
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -