Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2010-03-06, 16:56   #1
greensim
普通会员
 
注册日期: 2008-10-06
年龄: 25
帖子: 53
声望力: 18
greensim 正向着好的方向发展
默认 【原创】有偏卡尔曼滤波器Matlab源码

有偏卡尔曼滤波器可以用来消除无线定位中的非视距误差,首次使用有偏卡尔曼滤波器的参考文献是下面两篇论文
[1]刘琚,李静.一种在非视距环境中的TDOA/AOA混合定位方法[J].通信学报,2005,26(5):63-67.
[2]Bao Long Le, K. Ahmed, H. Tsuji. Mobile location estimator with NLOS mitigation using Kalman filtering[C]. IEEE Wireless Communications and Networking, 2003, 3:1969-1973.
GreenSim团队实现了有偏卡尔曼滤波器的通用MATLAB源码,并进行了仿真验证,如附图所示,此源码为GreenSim团队原创,转载请注明。

function [X,Flag]=BiasedKalmanFilter(x,X0,P0,Phi,Gamma,Q,H,R,SIGMAD,SIGMA_NLOS)
%% 用于校正NLOS误差的有偏卡尔曼滤波器
% GreenSim团队原创作品,转载请注明
% 欢迎访问GreenSim——算法仿真团队→http://blog.sina.com.cn/greensim
%% 本程序加入了非视距检测模块,对于NLOS使用有偏卡尔曼滤波,对于LOS使用标准卡尔曼滤波
%% 输入参数列表
% x 输入距离观测值序列,1×N的行向量
% X0 预测序列的初始值,1×2的列向量,包括距离和径向速度两个分量
% P0 预测误差矩阵的初始值,2×2的矩阵
% Phi 状态转移矩阵,2×2的矩阵
% Gamma 噪声输入矩阵,2×1的矩阵
% Q 输入噪声协方差矩阵,1×1的矩阵
% H 观测矩阵,1×2的向量
% R 观测噪声协方差矩阵,1×1的矩阵
%% 输出参数列表
% X 预测输出值
% Flag NLOS标记,为1表示LOS,为0表示非视距

%%
N=length(x);
X=zeros(1,N);
X(1)=X0(1);
Flag=ones(N,1);
for i=2:N
if i>15%因为检测区间为15个样本
YB=x((i-15):(i));%待检测的样本
%YB=x((i-15):(i))-X((i-15):(i));改成这个以后,无论怎么调整参数都不收敛
YBstd=std(YB);
else
YBstd=0;
end
if YBstd>3*sqrt(SIGMAD)%如果局部样本标准差大于三倍(可改)观测误差的标准差,则判断为NLOS
Flag(i)=0;
%设置调整参数
lambda=1.4;
%由状态方程得到的预测值
X1=Phi*X0;
%计算上述预测的协方差矩阵
P1=Phi*P0*(Phi')+Gamma*Q*(Gamma');
%计算滤波增益(加权系数)
K=P1*(H')*inv(Q*P1*(H')+lambda*R);
%计算观察值
Y=x(i)+lambda*R;
%加权得到滤波输出值
X2=X1+K*(Y-S*X1-SIGMA_NLOS);
else
%由状态方程得到的预测值
X1=Phi*X0;
%计算上述预测的协方差矩阵
P1=Phi*P0*(Phi')+Gamma*Q*(Gamma');
%计算滤波增益(加权系数)
K=P1*(H')*inv(P*P1*(H')+R);
%计算观察值
Y=x(i)+R;
%加权得到滤波输出值
X2=X1+K*(Y-H*X1);
end
%记录和更新
P2=([1,0;0,1]-K*H)*P1;
X(i)=X2(1);
X0=X2;
P0=P2;
end
上传的图像
文件类型: jpg 006附图1.jpg (44.3 KB, 3 次查看)
__________________
算法设计、代写程序,欢迎访问GreenSim团队主页→
http://blog.sina.com.cn/greensim
greensim 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 09:27


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.