目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

在无线通信系统中,从发射端发射的信号,经过直射、反射、散射等路径到达接收端。在ofdm系统中,为了获取更好的性能,需要进行信道估计获取信道的状态信息。ofdm技术虽然可以通过添加循环前缀的方式抑制多径效应产生的符号间干扰,但是却对高速移动产生的多普勒效应极其敏感。典型的信道估计方法包括最小二乘法和最小均方误差法,然而在系统发射端和接收端的相对移动速度较快时,这两种方法性能受限,而且忽略了高速移动时无线信道在时延-多普勒域上的稀疏性。对于高速移动的快时变信道导频位置处的信道响应,可以采用基扩展模型对信道进行建模,将复杂的快时变信道的参数估计简化为对少量的基函数系数的估计,并且可以基于快时变信道的稀疏性,使用压缩感知技术估计基函数系数。最后根据导频位置的信道响应通过插值法得到数据位置的信道响应。但是,由于高速移动中多普勒效应产生的子载波间干扰,会使数据位置的信道响应描述不准确,从而影响系统性能。

人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

生物神经网络主要是指人脑的神经网络,它是人工神经网络的技术原型。人脑是人类思维的物质基础,思维的功能定位在大脑皮层,后者含有大约10^11个神经元,每个神经元又通过神经突触与大约103个其它神经元相连,形成一个高度复杂高度灵活的动态网络。作为一门学科,生物神经网络主要研究人脑神经网络的结构、功能及其工作机制,意在探索人脑思维和智能活动的规律。人工神经网络是生物神经网络在某种简化意义下的技术复现,作为一门学科,它的主要任务是根据生物神经网络的原理和实际应用的需要建造实用的人工神经网络模型,设计相应的学习算法,模拟人脑的某种智能活动,然后在技术上实现出来用以解决实际问题。因此,生物神经网络主要研究智能的机理;人工神经网络主要研究智能机理的实现,两者相辅相成。

常用的信道估计算法比如LS/ML估计,LMMSE估计都可以用,只是形式上有点变化。值得一提的是,在某种程度上其信道估计比平衰落信道中的窄带MIMO要容易。因为导频在空域的正交使得我们仅需要将多对收发天线考虑成多个单对收发天线即可,也就是说可以将MIMO系统变为SISO系统来分析。系统模型的接收端原理图如图所示。即各个接收天线收到相应的OFDM符号后,先进行时频同步处理,然后去掉相应的CP,接着进行OFDM解调(FFT),最后根据信道估计的结果进行检测解码,恢复出接收比特流。

BP神经网络是一种具有一个输入层,一个或多个隐含层和一个输出层的多层网络。隐含层和输出层上的每个神经元都对应一个激发函数和一个阈值。每一层上的神经元都通过权重与其相邻层上的神经元相互连接。对于输入层上的神经元其阈值为零,其输出等于输入。图2为单隐含层的BP神经网络的一般结构。BP神经网络隐含层和输出层上的某神经元的输出由下式确定:

BP算法所采用的学习过程(即权值调整过程)由信息的前向传播和误差的反向传播组成。在前向传播过程中,每一层神经元的状态只影响到下一层神经元网络。如果输出层不能得到期望输出,就是实际输出值与期望输出值之间有误差,那么转入反向传播过程,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,逐次地向输入层传播去进行计算,再经过前向传播过程,这两个过程的反复运用,使得误差信号最小。BP神经网络的隐节点采用输入模式与权向量的内积作为激活函数的自变量,而激活函数采用Sigmoid函数。各调参数对BP网络的输出具有同等地位的影响,因此BP神经网络是对非线性映射的全局逼近

RBF网络是一种三层前向网络,由输入到输出的映射是非线性的,而隐含层空间到输出空间的映射是线性的,从而大大加快了学习速度并避免局部极小问题。RBF网络结构如下图1所示。

    RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间,这样就可以将输入矢量直接映射到隐空间,而不需要通过权连接。当RBF的中心点确定以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。其中,隐含层的作用是把向量从低维度的p映射到高维度的h,这样低维度线性不可分的情况到高维度就可以变得线性可分了,主要就是核函数的思想。这样,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。网络的权就可由线性方程组直接解出,从而大大加快学习速度并避免局部极小问题。RBF神经网络的隐节点采用输入模式与中心向量的距离(如欧式距离)作为函数的自变量,并使用径向基函数(如Gaussian函数)作为激活函数。神经元的输入离径向基函数中心越远,神经元的激活程度就越低(高斯函数)。RBF网络的输出与部分调参数有关,譬如,一个wij值只影响一个yi的输出(参考上面第二章网络输出),RBF神经网络因此具有“局部映射”特性。

2.仿真效果预览

matlab2022a仿真结果如下:

3.MATLAB核心程序


for tt = 1:Stimestt%产生二进制随即序列X                           = func_signal_gen(N_number,Carriers);%QPSK调制[X1,X_initial]              = func_QPSK(X,N_number);%导频[pilot,training_symbols]    = func_pilot(symbols_per_carrier,Np,interval,Carriers);%串并X2                          = reshape(X1,symbols_per_carrier,Carriers);%插入导频[X3,signal]                 = func_pilot_insert(X2,pilot,Carriers,Np,training_symbols);%IFFTIFFT_modulation             = zeros(symbols_per_carrier,IFFT_len);IFFT_modulation(:,carriers) = X3;X4                          = ifft(IFFT_modulation,IFFT_len,2);%加循环前缀X6                          = func_cp(X4,symbols_per_carrier,IFFT_len,Cps);%并串X7                          = reshape(X6.',1,symbols_per_carrier*(IFFT_len+Cps));%信道Tx_data                     = func_multipath_channel(X7,Carriers,IF_multi);%高斯白噪声Error_ber  = [];Error_mse  = [];for snr_db = SNR
%         RandStream.setDefaultStream(RandStream('mt19937ar','seed',tt));rng(tt) code_power  = 0;code_power  = [norm(Tx_data)]^2/(length(Tx_data));bit_power   = code_power/bits_symbol; noise_power = 10*log10((bit_power/(10^(snr_db/20))));noise       = wgn(1,length(Tx_data),noise_power,'complex');%最后接收到的信号Y7          = Tx_data + noise;%串并变换Y6          = reshape(Y7,IFFT_len+Cps,symbols_per_carrier).';%去保护间隔Y5          = func_cp_del(Y6,symbols_per_carrier,IFFT_len,Cps);%FFT,傅立叶变换Y4          = fft(Y5,IFFT_len,2);Y3          = Y4(:,carriers);%进行信道估计if sel == 1%实部[HLs_real,Y2_real] = func_RBF_channel_est(real(Y3),signal,pilot,symbols_per_carrier,Np,real(training_symbols),Carriers,interval);%虚部[HLs_imag,Y2_imag] = func_RBF_channel_est(imag(Y3),signal,pilot,symbols_per_carrier,Np,imag(training_symbols),Carriers,interval);end        if sel == 2%实部[HLs_real,Y2_real] = func_BP_channel_est(real(Y3),signal,pilot,symbols_per_carrier,Np,real(training_symbols),Carriers,interval);%虚部[HLs_imag,Y2_imag] = func_BP_channel_est(imag(Y3),signal,pilot,symbols_per_carrier,Np,imag(training_symbols),Carriers,interval);endY1_real     = Y2_real./repmat(HLs_real,1,Carriers); Y1_imag     = Y2_imag./repmat(HLs_imag,1,Carriers);   Y1          = Y1_real + sqrt(-1)*Y1_imag;YY1         = reshape(Y1,N_number/bits_symbol,1);%QPSK解调[y_real1,y_image1,y_re1,y_im1] = func_deqpsk(YY1);r01 = [];r11 = [];for k=1:length(y_re1);r11 = [r11,[y_re1(k),y_im1(k)]];enddif_bit1        = (X_initial - r11); ber_snr1=0;for k=1:N_number;if dif_bit1(k)~=0;ber_snr1=ber_snr1+1;endendError_ber = [Error_ber,ber_snr1];Error_mse = [Error_mse,mse(X_initial - r11)]; endBERs(:,tt) = Error_ber./N_number;MSEs(:,tt) = Error_mse;
endBer_avg = mean(BERs,2);
MSE_avg = mean(MSEs,2);
05_013_m

4.完整MATLAB

V

m基于RBF神经网络和BP神经网络的信道估计误码率matlab仿真相关推荐

  1. m基于机器学习MLP的OFDM信道估计误码率matlab仿真,对比LS和MMSE两种信道估计算法

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 信道估计器是接收机一个很重要的组成部分.在OFDM系统中,信道估计器的设计上要有两个问题:一是导频信 ...

  2. 基于LS最小二乘法的OFDM信道估计误码率matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 ofdm基本结构如下所示: 信道估计是使用接收信号表现出来的各种状态来对信道的特性进行估计的过程.信 ...

  3. m基于rbf神经网络和遗传算法优化的MIMO-OFDM系统信道估计算法matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 MIMO-OFDM的信道估计:时,频,空三个域都要考虑,尤其是在空域,不同天线发射的导频序列 ...

  4. 基于64QAM调制解调的LDPC编译码算法误码率matlab仿真

    目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 LDPC译码从译码算法的实现角度可以将译码类型分为硬判决译码和软判决译码两种类型.其中,硬判决译码方 ...

  5. 基于RBF和BP神经网络的信道估计算法的仿真与分析

    使用神经网络进行信道估计构架 整个仿真系统的结构如上所示. 这里,我们主要是通过对导频序列和已知的导频序列进行神经网络训练,得到一个神经网络,对输入的新号进行实时的预测和估计.最后得到所要的接受信号. ...

  6. 基于bp的神经网络算法,bp神经网络是什么算法

    BP人工神经网络方法 (一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统.理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势. 人 ...

  7. matlab 植物生长算法,基于模拟植物生长的BP神经网络学习算法研究

    第29卷第3期 2 8年6月 JOURNAL OF DALIAN UNIVERSITY VOL29 N住3 Jun. 2 8 基于模拟植物生长的BP神经网络学习算法研究李彤*,于江波,温钰 (大连大学 ...

  8. 【遗传优化BP网络】基于自适应遗传算法的BP神经网络的股票预测MATLAB仿真

    1.软件版本 MATLAB2021a 2.本算法理论知识 通过MATLAB对BP神经网络,基于遗传优化的BP神经网络,基于改进遗传优化的BP神经网络以及基于改进遗传优化的组合BP神经网络等多种算法的股 ...

  9. 基于S函数的BP神经网络PID控制器及simulink仿真

    基于S函数的BP神经网络PID控制器及simulink仿真 文章目录 文章来源和摘要 S函数的编写格式和运行步骤 simulink模型结构 S函数模型初始化部分代码理解 S函数模型更新部分 S函数模型 ...

最新文章

  1. 如何定义一个自己的可复用的JS文件
  2. git-工作区与暂存区
  3. 线上redis一般安在linux_Redis企业级应用-Linux安装搭建一个完整的linxu线上服务(上)...
  4. 吴恩达对话LeCun:神经网络跌宕四十年
  5. 上下求索——基于双向推理的多跳知识库问答技术
  6. Spark源码学习1.6——Executor.scala
  7. transform-origin用于设置变换原点
  8. TSP-遗传算法求解
  9. Arcgis中的空间数据拓扑理论及规则
  10. 一阶电路实验报告心得_实验九实验报告(二)--一阶动态电路的响应测试
  11. python回复qq消息,python自动化实现自动回复QQ消息
  12. 判断是否为 retina屏幕
  13. Android 实现图片倒影效果
  14. VLDB 2022最佳研究论文:克服通信挑战,新框架SANCUS实现GNN高效训练
  15. 系统集成项目管理工程师(软考中级)—— 第十七章 项目沟通和干系人管理 笔记分享
  16. 应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案
  17. 南澳州政府拒绝更换DOS病历软件:称为患者安全着想
  18. usb3.0 ssd 测试软件,对比评测告诉你USB3.0+SSD能否干掉HDD
  19. 宋鸿兵 《货币战争》风暴制造者
  20. 「数据库选型」抛弃MongoDB,拥抱PostgreSQL,工作更轻松

热门文章

  1. 对话李志飞:出门问问最早将于2019年底考虑上市
  2. 云台和吊舱 最基本的拍摄吊舱由专业的摄像设备和高精度的增稳云台构成。
  3. MySQL查询不同年份母亲节_历年母亲节谷歌doodle有什么不同 google母亲节logo变化史...
  4. 人工智能常用评估指标
  5. python-字典及其三种定义方法
  6. 优酷K1 YK-K1 开机主动访问的域名
  7. 炒鸡简单的javaScript的call和apply方法
  8. 2012年度IT博客大赛50强报道:陈勇
  9. IT培训——职业教育帮你更快成功
  10. 信息学奥赛一本通(C++版)第二部分 基础算法 第二章 数据排序