(CoreLocationから入手可能)iBeacon測距プロセスからの距離を計算します。私も加重平均を使ってみましたが、望みの結果は得られません。私は信号からノイズを除去するためのカルマンフィルタの使用を説明link出くわします。私はまた、フィルタを実装したswift frameworkを見つけました。私の質問は、iBeaconからの滑らかな距離を得るためにカルマンフィルターロジックを適用する方法です。私は現在、以下のコードを使用して距離を計算していますが、カルマンフィルタをどのように適用するかはわかりません。iOSのスウィフト:代わりに、それはあまりにも多くの変動値を与えるiBeaconからiPhoneの円滑行く距離を提供していないRSSI
func calculateNewDistance(txCalibratedPower: Int, rssi: Int) -> Double{
if rssi == 0{
return -1
}
let ratio = Double(exactly:rssi)!/Double(txCalibratedPower)
if ratio < 1.0{
return pow(10.0, ratio)
}else{
let accuracy = 0.89976 * pow(ratio, 7.7095) + 0.111
return accuracy
}
}
はここtxCalibratedPowerレンジング場合、didRangeBeacons各コールバックは[ビーコン]オブジェクトの配列を含み、各要素は、RSSIパラメータbeacon.rssiを有する-74