欢迎来到本博客❤️❤️❤️
博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码实现
文献来源,然后复现之:
移动通信产业一直以惊人的速度迅猛发展,已成为带动全球经济发展的主要高科技产业之一,并对人类生活及社会发展产生巨大影响。在移动通信中,发送端和接收端之间通过电磁波来传输信号,我们可以想象两者之间有一些看不见的电磁通路,并把这些电磁通路称为无线信道。无线信道与周围的环境密切相关,不同环境下的无线信道具有一些差异化的特征。如何发现并提取这些特征并将其应用于优化无线网络,是当前的一个研究热点。类比人类指纹,我们将上述无线信道的差异化的特征称为无线信道“指纹”。无线信道“指纹”特征建模,就是在先验模型和测试数据的基础上,提取不同场景或不同区域内无线信道的差异化的特征,进而分析归纳出“指纹”的“数学模型”,并给出清晰准确的“数学描述”。
>> main
测试数据的识别结果:
c =
1 0 0
该数据和场景1匹配
测试数据的识别结果:
c =
0 1 0
该数据和场景2匹配
第一组待测数据与各场景总相对误差分别为:0.86,12.25,15.37
第一组待测数据最接近的场景为:场景1
第二组待测数据与各场景总相对误差分别为:4.60,0.90,1.91
第二组待测数据最接近的场景为:场景2
基于问题,我们建立了无线信道参数“指纹”提取算法和“指纹”评价指标模型。对矩阵奇异值分解 算法和 ESPRIT 算法提取的参数进行了分析,这两种算法提取的参数能够很好地区别不同的场景。所以实 际操作中,只用矩阵奇异值分解算法联合 ESPRIT 算法提取参数即可。 BP 神经元网络算法可以很好的识别场景及样本模式,所以这里采用这种模式识别算法是行之有效的。 我们建立的微元试探法能很好地对连续信道区域进行划分并且模型评价函数也能发挥出很好的评价作 用。
部分代码:
function [ partvec,partn,err,erryindex] = part_self( S,tol,k )
% Inupts:
% S : 样本矩阵
% tol : 终止标准(一个很小的数)
% k : 最小步数(多少行),最小单位是1米对应118行
% Outputs:
% partvec: 分割节点向量(分割处行号所组成的向量)
% partn : 分割所得的场景数(分割成了几个场景)partn=Length(partvec)
% err : 相对误差向量
% erryindex: 分割处相对误差的下标
partvec=1;
count=k;
Sp=S([1:count],:);
feavec=feature_self(Sp);
count=count+k;
[row,col]=size(S);
n=floor(row/k)-2;
erryindex=[];
for i=1:n
feavec_old=feavec;
Sp=S([partvec(end):count],:); % 加上新一段
feavec=feature_self(Sp);
err(i,1)=sum(abs(feavec-feavec_old)./abs(feavec_old));
if (err(i,1)>tol)
partvec=[partvec;count-k+1]; %误差大就添加新的分割点
Sp=S([partvec(end):count],:);
feavec=feature_self(Sp);
erryindex=[erryindex;i];
end
count=count+k;
end
partn=length(partvec);
[1]王瑞星,刘斌,杜健鹏,李明.基于两种算法的无线信道“指纹”特征识别[J].通信技术,2016,49(10):1271-1279.