下载此文档

【MATLAB代做-FPGA代做】SAGE算法实现.doc


文档分类:通信/电子 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
代码设计说明
一、代码设计说明
EM算法结构如下所示:
SAGE算法结构如下所示:
这里主要以SAGE的基本结构进行算法仿真。整个MATLAB的算法的流程如下所示:
第1步:参数初始化;
第2步:产生发送信号,主要函数是产生论文中的s函数;
第3步:开始SAGE算法循环,转入第4步;
第4步:信号分解;
第5步:延迟估计;
第6步:到达角估计;延迟参数使用前面更新后的值,其余参数使用前一次的迭代值;
第7步:离开角估计;延迟参数和到达角使用前面更新后的值,其余参数使用前一次的迭代值;
第8步:频偏估计;延迟参数、离开角和到达角使用前面更新后的值,其余参数使用前一次的迭代值;
第9步:幅度估计;延迟参数、离开角、频偏和到达角使用前面更新后的值,其余参数使用前一次的迭代值;
第10步:返回第3步,使用更新好的参数再次迭代循环;
其中发送端的基本结构主要根据论文中的图10来实现,图10的基本结构如下所示:
这个表示的就是多条路径通过信道之后的接收信号,实际中,我们也是对上面的信号y进行在接收端的参数估计的。

即实际的输出信号就是上图所示的信号。
所以,对于本系统的发送端的测试信号,即s函数的设计。

此模块对应的函数为:
下面开始主体的循环过程(具体和论文中的相同):
在该函数中,我们先给需要求解的参数矢量一个初始值。在这里,用全零初始化,即设需要估计的参数值全为0。然后按照之前设定的次序,一个个的来计算所求的参数值。
首先是时延的估计,设定50个循环。这里的50不是指某一个特定的时间量,它没有单位,指的是多少个时间单元。求最大值的时候,用了一个MATLAB自带的函数max函数。经过实际的运算,发现经过该函数运算之后,最大值的点往往不是单一的,这个可能是时间分割的时候精度不够的关系。所以,在众多最大值的点中,我们要选取一个实际最大值来进行下一步运算,如果选错了,下面一切都无从谈起。经过运算推导,我发现在第一步纠结当中,最大值的点应该为所有最大值中最后出现的那个位置。将这个位置代入,即可以在第一轮的迭代中算出时延的估计值。
计算完时延之后,再继续计算到达角。和时延运算类似,这个最大值点也有几处,有效计算的那一点也是最后一个最大值处。因为到达角和离

【MATLAB代做-FPGA代做】SAGE算法实现 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人119060444
  • 文件大小607 KB
  • 时间2021-03-29