首页 > 其他分享 >基于DNN网络的信道估计matlab仿真,仿真输出信道估计值的mse指标

基于DNN网络的信道估计matlab仿真,仿真输出信道估计值的mse指标

时间:2023-05-29 23:15:08浏览次数:56  
标签:仿真 din end DNN 信道 SNR dout net

1.算法仿真效果

matlab2022a仿真结果如下:

 

 

 

 

2.算法涉及理论知识概要

       在信道变化迅速的系统中,通常依靠频域的导频子载波进行信道估计。导频子载波按照特定的规则插入到时频两维资源中。导频子载波处的信道响应可以通过最小二乘法(least-square,ls)和线性最小均方误差法(linearminimummeansquareerror,lmmse)进行估计,其他子载波处的信道响应则通过插值得到。基于判决反馈的盲信道估计方法将判决后的数据反馈至信道估计器进行去除调制信息操作,从而得到信道响应结果。基于相位的估计算法利用dqpsk调制信号幅度恒定相位为的整数倍的特性,利用接收信号相位在乘4、模2π、除以4的操作后,所有星座点都将变换到正实轴上(相位为0,幅度为1),这一操作相当于去除了dqpsk的调制信息,无需对信号进行判决。

 

        近几年,人工智能尤其是深度学习在无线通信物理层中也得到了广泛的应用。深度学习(Deep Learning, DL),由Hinton等人于2006年提出,是机器学习(MachineLearning, ML)的一个新领域。深度学习被引入机器学习使其更接近于最初的目标----人工智能(AI,Artificial Intelligence)。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字、图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语言和图像识别方面取得的效果,远远超过先前相关技术。它在搜索技术、数据挖掘、机器学习、机器翻译、自然语言处理、多媒体学习、语音、推荐和个性化技术,以及其它相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。

        在所用的结构中使用DNN的原因是,DNN是唯一可以在任何类型(有监督的和无监督的)任何地方(星座整形器,信道估计器和检测器)应用的机器学习算法。例如,即使支持向量机(它是有监督的二进制分类器),尽管其检测性能良好,但也不能应用于星座整形器或信道估计器等其他部分(因为这两个部分是无监督的。DNN是光学通信中使用最广泛的深度学习技术,并且是传统方法的适当替代方法。DNN的复杂度低,响应速度快。它可以建模复杂的多维非线性关系。由于这些优点,在FSO中应用DNN进行星座整形,信道估计和检测可以显着降低复杂性,成本,等待时间和处理,同时保持系统性能。

 

          深度神经网络的内部神经网络有3层,第一层输入,最后一层输出,其余中间都是隐藏层,层与层之间全连接。在局部的小模型来讲和感知机是一样的,都是线性关系+激活函数,即

 

Layer 1:                                                                Layer 2:

 

Z[1] = W[1]·X + b[1]                                            Z[2] = W[2]·A[1] + b[2]

A[1] = σ(Z[1])                                                      A[2] = σ(Z[2])

 

X其实就是A[0],所以不难看出:

 

Layer i:

Z[i] = W[i]·A[i-1] + b[i]

A[i] = σ(Z[i])

 

(注:σ是sigmoid函数)

 

因此不管我们神经网络有几层,都是将上面过程的重复

 

 

 

3.MATLAB核心程序

 

for i = 1:length(SNRS);
    i
    L   = 3;
    SNR = SNRS(i);
    P=[1+1i,1-1i,2-1i,1+2i]';
 
    for i=1:20000
        hh     = randn(3,1)+1i*randn(3,1);
        yy     = comsystem(P,L,hh,SNR);
        
        h(:,i) = hh;
        y(:,i) = yy;
    end
    n         = size(y,2);
    indim     = size(y,1);
    outdim    = size(h,1);
    
    inputdim  = indim*2;
    outputdim = outdim*2;
    
    realy     = real(y);
    imagy     = imag(y);
    
    yy        = zeros(inputdim,n);
    
    yy(1:2:inputdim-1,:) = realy;
    yy(2:2:inputdim,:)   = imagy;
 
    realh     = real(h);
    imagh     = imag(h);
    
    hh        = zeros(outputdim,n);
    
    hh(1:2:outputdim-1,:) = realh;
    hh(2:2:outputdim,:)   = imagh;
    
    %Normalization
    din      = min(yy')';
    Tdin     = max(yy')';
    trainYY  = yy;
 
    for i = 1:n
        tmp          = yy(:,i);
        tmp          = (tmp-din)./(Tdin-din);
        trainYY(:,i) = tmp;
    end
    
    dout   = min(hh')';
    Tdout  = max(hh')';
    
    trainHH = hh;
    for i = 1:n
        tmp          = hh(:,i);
        tmp          = (tmp-dout)./(Tdout-dout);
        trainHH(:,i) = tmp;
    end
    
    
    pr      = zeros(inputdim,2);
    pr(:,1) = 0;
    pr(:,2) = 1;
    hiden   = 18;
    
    
    
    net = newff(pr,[hiden,outputdim],{'logsig','purelin'},'trainlm');
    net.trainParam.lr=0.01;
    net.trainParam.goal=1e-5;
    net.trainParam.epochs=40;
    net=train(net,trainYY,trainHH);
    
    if SNR==1
       save dat\DNN_SNR1.mat net din Tdin dout Tdout
    end
    if SNR==2
       save dat\DNN_SNR2.mat net din Tdin dout Tdout
    end
    if SNR==3
       save dat\DNN_SNR3.mat net din Tdin dout Tdout
    end
    if SNR==4
       save dat\DNN_SNR4.mat net din Tdin dout Tdout
    end
    if SNR==5
       save dat\DNN_SNR5.mat net din Tdin dout Tdout
    end
    if SNR==6
       save dat\DNN_SNR6.mat net din Tdin dout Tdout
    end
    if SNR==7
       save dat\DNN_SNR7.mat net din Tdin dout Tdout
    end
    if SNR==8
       save dat\DNN_SNR8.mat net din Tdin dout Tdout
    end
    if SNR==9
       save dat\DNN_SNR9.mat net din Tdin dout Tdout
    end
    if SNR==10
       save dat\DNN_SNR10.mat net din Tdin dout Tdout
    end
    
    if SNR==11
       save dat\DNN_SNR11.mat net din Tdin dout Tdout
    end
    if SNR==12
       save dat\DNN_SNR12.mat net din Tdin dout Tdout
    end
    if SNR==13
       save dat\DNN_SNR13.mat net din Tdin dout Tdout
    end
    if SNR==14
       save dat\DNN_SNR14.mat net din Tdin dout Tdout
    end
    if SNR==15
       save dat\DNN_SNR15.mat net din Tdin dout Tdout
    end
    if SNR==16
       save dat\DNN_SNR16.mat net din Tdin dout Tdout
    end
    if SNR==17
       save dat\DNN_SNR17.mat net din Tdin dout Tdout
    end
    if SNR==18
       save dat\DNN_SNR18.mat net din Tdin dout Tdout
    end
    if SNR==19
       save dat\DNN_SNR19.mat net din Tdin dout Tdout
    end
    if SNR==20
       save dat\DNN_SNR20.mat net din Tdin dout Tdout
    end
end

 

  

 

标签:仿真,din,end,DNN,信道,SNR,dout,net
From: https://www.cnblogs.com/51matlab/p/17441955.html

相关文章

  • 基于DNN网络的信道估计matlab仿真,仿真输出信道估计值的mse指标
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要在信道变化迅速的系统中,通常依靠频域的导频子载波进行信道估计。导频子载波按照特定的规则插入到时频两维资源中。导频子载波处的信道响应可以通过最小二乘法(least-square,ls)和线性最小均方误差法(linearminimumm......
  • m基于钱搜索算法的BCH编译码matlab仿真,仿真输出误码率曲线和编码增益曲线
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要 BCH编译码是一种纠错能力强,构造简单的信道编译码。BCH编译码的生成多项式可以由如下的式子表示:  ①BCH码是一种纠错码、线性分组码、循环码。 ②需要传输信息位数:k ③纠错能力:t ④总码长......
  • m基于Berlekamp-Massey钱搜索算法的BCH译码误码率matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下: 2.算法涉及理论知识概要      BCH编译码是一种纠错能力强,构造简单的信道编译码。BCH编译码的生成多项式可以由如下的式子表示: ①BCH码是一种纠错码、线性分组码、循环码。 ②需要传输信息位数:k ③纠错能力:t ④总......
  • DNN-HMM和GMM-HMM的简单区别
    GMM-HMM:给定MFCC特征X时,计算每一个状态产生x的概率p(x|a)、p(x|b)....,然后最大的概率就是其对应的状态DNN-HMM:给定MFCC特征X时,直接计算x属于每一个状态的概率p(s|x),最大值就是对应的状态。p(a)是训练集中每个状态出现的概率。 ......
  • 工艺角和蒙特卡洛仿真
     工艺角的仿真可以设置在同一个框中,其中温度的设置范围,未知参数的范围都可以在同一框中,而存在的tt_dio_iso则不做修改并且在工艺角仿真下也要添加。对于ADEL不需要再多添加其他工艺角文件,在下图中,工艺角仿真选中singlerun;在需要蒙特卡洛的时候,框选部分则改为蒙特卡洛对应选......
  • proteus仿真串口
    下载VSPD下载地址安装过程没有坑,装在D盘也没事,但是只有十四天的体验这个下载地址,懂得都懂打开VSPD点addvirtualpair,就把com1和com2连起来了打开两个串口助手,注意波特率等设置要设置一样。串口一发数据,因为串口一通过VSPD连到串口二了,因此串口二会收到数据proteus里添加虚拟......
  • m基于MATLAB的发票数字信息识别算法仿真,通过形态学处理进行字符分割,通过模板匹配实
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要形态学是图像处理中应用最为广泛的技术之一,主要用于从图像中提取对表达和描绘区域形状有意义的图像分量,使后续的识别工作能够抓住目标对象最为本质的形状特征,如边界和连通区域等。同时像细化、像素化和修剪毛刺等......
  • 基于SA模拟退火优化的TWVRP路径规划matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要模拟退火算法(simulatedannealing,SAA)来源于固体退火原理,是一种基于概率的算法。模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增......
  • 基于GWO灰狼优化的生产线工件工序调度优化matlab仿真,仿真输出优化收敛曲线和工序调度
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       灰狼优化算法(GWO),灵感来自于灰狼.GWO算法模拟了自然界灰狼的领导层级和狩猎机制.四种类型的灰狼,如α,β,δ,w被用来模拟领导阶层。此外,还实现了狩猎的三个主要步骤:寻找猎物、包围......
  • m基于ABC人工蜂群优化的无线传感器网络路由优化算法matlab仿真,对比优化前后网络寿命,
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要无线传感器网络通常使用电池电源,因此能量有限,属于一次性使用。因此,无线传感器网络在原理和应用平台上都有自己的特点:•有限的能源和存储容量传感器节点通常布置在无人值守的运行环境中,节点能量由电池提供,但在......