针对传统iBeacon 指纹定位技术中接收信号强度值( RSSI) 波动较大、指纹库聚类复杂、存在较大跳变性定位误差等问题,提出一种基于排序特征匹配和距离加权的蓝牙定位算法。在离线阶段,该算法先对RSSI 进行加权滑动窗处理,然后根据RSSI 向量大小生成排序特征码等值,并与位置坐标等信息组成指纹信息,形成指纹库; 在在线定位阶段,根据排序特征向量指纹匹配定位算法和基于距离的最优加权K 最邻近法( WKNN) 实现室内行人定位。在定位仿真实验中,该算法可以自动根据特征码进行聚类,从而降低了聚类的复杂度,能实现最大误差在0. 952 m 内的室内行人定位精度。