问题 | RAIM + LSTM 你怎么看???

=====================================================
github:https://github.com/MichaelBeechan
CSDN:https://blog.csdn.net/u011344545

=====================================================

RAIM + LSTM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import LSTM, Dense

# RAIM-LSTM 融合模型
class RAIM_LSTM(tf.keras.Model):
    def __init__(self, input_dim, hidden_units):
        super(RAIM_LSTM, self).__init__()
        self.lstm = LSTM(hidden_units, return_sequences=False)
        self.dense = Dense(1, activation='sigmoid')  # 输出阈值缩放因子
    
    def call(self, inputs):
        # 输入形状: (batch_size, time_steps, input_dim)
        h = self.lstm(inputs)
        scale_factor = self.dense(h)  # 动态缩放因子∈[0.5, 1.5]
        return scale_factor

# RAIM-LSTM 完整流程
def raim_lstm_detection(z_sequence, H_sequence, model, T_base):
    """
    :param z_sequence: 时序伪距观测 (k+1, n)
    :param H_sequence: 时序几何矩阵 (k+1, n, 4)
    :param model: 预训练RAIM-LSTM模型
    :param T_base: 基础卡方阈值
    :return: 故障告警标志, 动态阈值
    """
    # 计算奇偶矢量序列
    p_sequence = []
    for t in range(len(z_sequence)):
        H = H_sequence[t]
        P = np.linalg.pinv(H.T @ H) @ H.T  # 奇偶空间矩阵
        p = P @ z_sequence[t]
        p_sequence.append(p)
    p_sequence = np.array(p_sequence)
    
    # 提取特征:奇偶矢量范数 + 几何因子
    features = np.concatenate([
        np.linalg.norm(p_sequence, axis=1).reshape(-1,1),
        np.sqrt(np.trace(H_sequence @ H_sequence.T, axis1=1, axis2=2))
    ], axis=1)
    
    # LSTM预测动态阈值
    scale = model.predict(features[np.newaxis, ...])
    T_dynamic = T_base * (0.5 + scale[0][0])  # 缩放至[0.5*T_base, 1.5*T_base]
    
    # 当前时刻检测
    T_SSE = np.linalg.norm(p_sequence[-1])**2
    alarm = T_SSE > T_dynamic
    return alarm, T_dynamic

# 训练示例
model = RAIM_LSTM(input_dim=2, hidden_units=32)
model.compile(optimizer='adam', loss='mse')
# 假设已生成训练数据(特征序列+标签)
# model.fit(X_train, y_train, epochs=50)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单北斗SLAMer

代码有情,打赏有爱!谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值