FFRT:固定失败率比率检验、宽巷模糊度固定及 Ratio Test

鸿蒙HarmonyOS APP开发之FFRT 开发 Function Flow编程模型是一种基于任务和数据驱动的并发编程模型,允许开发者通过任务及其依赖关系描述的方式进行应用开发。FFRT(Function Flow运行时)是支持Function Flow编程模型的软件运行时库,用于调度执行开发者基于Function Flow编程模型开发的应用。通过Function Flow编程模型和FFRT,开发者可专注于应用功能开发,由FFRT在运行时根据任务依赖状态和可用执行资源自动并发调度和执行任务。 阅读详情

本文主线:浮点模糊度 → ILS/LAMBDA 搜索 → Ratio Test → 固定失败率 → FFRT → 宽巷固定 → 风险预算与工程实现


1. 核心结论

FFRT 的全称是:

Fixed Failure-rate Ratio Test
固定失败率比率检验

这里的 Fixed 修饰的是 Failure-rate:

固定或受控的是失败率目标
不是“固定解”中的固定

FFRT 不是新的整数搜索算法,而是一种整数候选接受检验。

使用 FFRT 前,待固定参数必须满足两个前提:

  1. 它是可整数估计的模糊度函数;
  2. 其整数基准中的相位、码和钟差偏差已经消除或正确吸收。
ILS/LAMBDA
→ 搜索最佳和次优整数候选

Ratio Test
→ 比较两个候选的加权距离

FFRT
→ 根据允许失败率和当前模型强度
   自适应确定Ratio Test临界值

FFRT 中的“失败”是:

错误的整数候选通过检验并被接受。

以下情况不属于固定失败:

  • Ratio Test 未通过;
  • 系统保持浮点解;
  • 本历元暂不尝试固定。

通过

不通过

浮点模糊度和协方差

ILS或LAMBDA搜索

最佳整数候选

次优整数候选

计算Ratio统计量

评估模型强度

允许失败率

生成FFRT临界值

Ratio通过吗

接受整数并条件更新

保持浮点解


2. FFRT 针对什么问题

传统软件常使用固定 Ratio 阈值。

但模糊度模型强度会随下列因素变化:

  • 卫星数量和几何;
  • 模糊度维数;
  • 观测时间;
  • 码、相位噪声;
  • 多路径和周跳;
  • 基线长度;
  • 电离层、对流层残差;
  • 多系统、多频观测;
  • 外部约束;
  • 轨道、钟差和偏差产品质量。

固定阈值可能产生两类相反问题:

模型很强
→ 阈值过严
→ 正确候选被拒绝
→ 固定率下降

模型很弱
→ 阈值过松
→ 错误候选被接受
→ 错误固定风险失控

FFRT 解决的是:

如何让 Ratio 临界值随模型强度变化,在控制错误固定概率的同时,尽可能提高固定率。


第一部分:浮点解、整数搜索与固定解

3. GNSS 混合整数模型

线性化 GNSS 观测模型可写为:

y=Aa+Bb+ε\boxed{ \mathbf y = \mathbf A\mathbf a + \mathbf B\mathbf b + \boldsymbol\varepsilon }y=Aa+Bb+ε​

其中:

  • y∈Rm\mathbf y\in\mathbb R^my∈Rm:观测减计算值;
  • a∈Zn\mathbf a\in\mathbb Z^na∈Zn:整数模糊度向量;
  • b∈Rp\mathbf b\in\mathbb R^pb∈Rp:位置、大气延迟等实数参数;
  • A∈Rm×n\mathbf A\in\mathbb R^{m\times n}A∈Rm×n:模糊度设计矩阵;
  • B∈Rm×p\mathbf B\in\mathbb R^{m\times p}B∈Rm×p:实数参数设计矩阵;
  • ε\boldsymbol\varepsilonε:观测误差;
  • Qyy=Cov⁡(ε)\mathbf Q_{yy}=\operatorname{Cov}(\boldsymbol\varepsilon)Qyy​=Cov(ε):观测协方差;
  • m,n,pm,n,pm,n,p:观测数、整数参数数和实数参数数。

定义:

H=[AB],x=[ab]\mathbf H = \begin{bmatrix} \mathbf A&\mathbf B \end{bmatrix}, \qquad \mathbf x = \begin{bmatrix} \mathbf a\\ \mathbf b \end{bmatrix}H=[A​B​],x=[ab​]

在模型满秩且 Qyy\mathbf Q_{yy}Qyy​ 正定时,浮点最小二乘解为:

x^=(HTQyy−1H)−1HTQyy−1y\boxed{ \hat{\mathbf x} = \left( \mathbf H^{\mathrm T} \mathbf Q_{yy}^{-1} \mathbf H \right)^{-1} \mathbf H^{\mathrm T} \mathbf Q_{yy}^{-1} \mathbf y }x^=(HTQyy−1​H)−1HTQyy−1​y​

其协方差为:

Qx^x^=(HTQyy−1H)−1\boxed{ \mathbf Q_{\hat x\hat x} = \left( \mathbf H^{\mathrm T} \mathbf Q_{yy}^{-1} \mathbf H \right)^{-1} }Qx^x^​=(HTQyy−1​H)−1​

分块表示:

x^=[a^b^],Qx^x^=[Qa^a^Qa^b^Qb^a^Qb^b^]\hat{\mathbf x} = \begin{bmatrix} \hat{\mathbf a}\\ \hat{\mathbf b} \end{bmatrix}, \qquad \mathbf Q_{\hat x\hat x} = \begin{bmatrix} \mathbf Q_{\hat a\hat a} & \mathbf Q_{\hat a\hat b}\\ \mathbf Q_{\hat b\hat a} & \mathbf Q_{\hat b\hat b} \end{bmatrix}x^=[a^b^​],Qx^x^​=[Qa^a^​Qb^a^​​Qa^b^​Qb^b^​​]

其中:

  • a^∈Rn\hat{\mathbf a}\in\mathbb R^na^∈Rn:浮点模糊度;
  • Qa^a^\mathbf Q_{\hat a\hat a}Qa^a^​:浮点模糊度协方差。

实际程序宜使用 QR、Cholesky 等稳定方法求解,不宜显式计算普通矩阵逆。

3.1 FFRT 固定的必须是“可整数估计函数”

“整数线性组合”不一定等于“可整数估计函数”。

在秩亏模型中,模糊度基准可能发生下列变化,而观测模型保持不变:

a′=a+Ck\boxed{ \mathbf a' = \mathbf a + \mathbf C\mathbf k }a′=a+Ck​

其中:

  • C\mathbf CC:模糊度基准或秩亏方向矩阵;
  • k∈Zq\mathbf k\in\mathbb Z^qk∈Zq:任意整数基准变化;
  • qqq:秩亏维数。

设希望固定的模糊度函数为:

aI=DTa\boxed{ \mathbf a_I = \mathbf D^{\mathrm T}\mathbf a }aI​=DTa​

其中:

  • D\mathbf DD:整数系数矩阵;
  • aI\mathbf a_IaI​:候选整数函数。

要使 aI\mathbf a_IaI​ 不随模糊度基准改变,至少应满足:

DTC=0\boxed{ \mathbf D^{\mathrm T}\mathbf C = \mathbf0 }DTC=0​

因为:

DTa′=DTa+DTCk=DTa\mathbf D^{\mathrm T}\mathbf a' = \mathbf D^{\mathrm T}\mathbf a + \mathbf D^{\mathrm T}\mathbf C\mathbf k = \mathbf D^{\mathrm T}\mathbf aDTa′=DTa+DTCk=DTa

这保证了函数对秩亏基准变化不敏感。

但这仍不意味着整数可估性已经自动成立。还需要保证:

  • 该函数在实数模型中可估;
  • 其整数值覆盖完整的整数格,而不是只覆盖某个整数子格;
  • 所选整数基准与模型的 S-basis 或基准约束一致。

在常见有限维整数模型中,一个直观检查是:

所选独立整数函数能否与其余整数基准共同补成一个整数幺模变换。

因此,仅有:

D∈Zn×r\mathbf D\in\mathbb Z^{n\times r}D∈Zn×r

并不足以证明 DTa\mathbf D^{\mathrm T}\mathbf aDTa 可安全进行整数固定。

典型可整数估计函数包括:

  • 同系统、同频率短基线 RTK 的双差模糊度;
  • 已恢复整数基准的 PPP-AR 星间单差模糊度;
  • 通过整数幺模变换构造的宽巷和窄巷参数。

以下参数不能未经处理直接套用 FFRT:

  • 吸收了卫星或接收机相位偏差的原始非差模糊度;
  • 基准未统一的跨系统模糊度;
  • 未处理频间偏差的传统 GLONASS FDMA 模糊度;
  • 不满足整数可估性条件的任意实数参数。

3.2 浮点模糊度必须近似无偏

FFRT 的经典标定通常假设:

a^I∼N(aI,QII)\boxed{ \hat{\mathbf a}_I \sim \mathcal N \left( \mathbf a_I, \mathbf Q_{II} \right) }a^I​∼N(aI​,QII​)​

若实际存在未建模偏差:

a^I∼N(aI+βI,QII)\boxed{ \hat{\mathbf a}_I \sim \mathcal N \left( \mathbf a_I+\boldsymbol\beta_I, \mathbf Q_{II} \right) }a^I​∼N(aI​+βI​,QII​)​

其中:

  • βI\boldsymbol\beta_IβI​:模糊度偏差;
  • QII\mathbf Q_{II}QII​:可整数估计模糊度的协方差。

当:

βI≠0\boldsymbol\beta_I\ne\mathbf0βI​=0

时,即使 Ratio 较好,按零偏模型标定的失败率也可能失效。

因此:

FFRT 只能控制“所假设概率模型下”的错误固定风险,不能弥补未改正的系统偏差。


4. ILS 与 LAMBDA

整数最小二乘 ILS 估计为:

aˇ1=arg⁡min⁡z∈ZnJ(z)\boxed{ \check{\mathbf a}_1 = \arg\min_{\mathbf z\in\mathbb Z^n} J(\mathbf z) }aˇ1​=argz∈Znmin​J(z)​

其中:

J(z)=(a^−z)TQa^a^−1(a^−z)\boxed{ J(\mathbf z) = \left( \hat{\mathbf a}-\mathbf z \right)^{\mathrm T} \mathbf Q_{\hat a\hat a}^{-1} \left( \hat{\mathbf a}-\mathbf z \right) }J(z)=(a^−z)TQa^a^−1​(a^−z)​

符号含义:

  • z\mathbf zz:任意整数候选;
  • J(z)J(\mathbf z)J(z):候选到浮点模糊度的加权平方距离;
  • aˇ1\check{\mathbf a}_1aˇ1​:最佳整数候选。

次优候选为:

aˇ2=arg⁡min⁡z∈Zn, z≠aˇ1J(z)\boxed{ \check{\mathbf a}_2 = \arg\min_{ \mathbf z\in\mathbb Z^n,\, \mathbf z\ne\check{\mathbf a}_1 } J(\mathbf z) }aˇ2​=argz∈Zn,z=aˇ1​min​J(z)​

定义:

J1=J(aˇ1),J2=J(aˇ2)J_1=J(\check{\mathbf a}_1), \qquad J_2=J(\check{\mathbf a}_2)J1​=J(aˇ1​),J2​=J(aˇ2​)

因此:

0≤J1≤J20\le J_1\le J_20≤J1​≤J2​

LAMBDA/MLAMBDA 主要完成:

  1. 整数保持的模糊度去相关;
  2. 最佳候选搜索;
  3. 次优候选搜索。

FFRT 不替代 LAMBDA。FFRT 使用整数搜索得到的 J1J_1J1​ 和 J2J_2J2​。


5. 整数变换为什么不能改变 Ratio

设采用整数幺模变换:

z=ZTa\boxed{ \mathbf z = \mathbf Z^{\mathrm T}\mathbf a }z=ZTa​

其中:

  • Z\mathbf ZZ:可逆整数矩阵;
  • ∣det⁡(Z)∣=1\vert{}\det(\mathbf Z)\vert{}=1∣det(Z)∣=1;
  • z∈Zn\mathbf z\in\mathbb Z^nz∈Zn:变换后的整数模糊度。

浮点值和协方差变为:

z^=ZTa^\hat{\mathbf z} = \mathbf Z^{\mathrm T}\hat{\mathbf a}z^=ZTa^

Qz^z^=ZTQa^a^Z\mathbf Q_{\hat z\hat z} = \mathbf Z^{\mathrm T} \mathbf Q_{\hat a\hat a} \mathbf ZQz^z^​=ZTQa^a^​Z

对一一对应的候选:

zc=ZTac\mathbf z_c = \mathbf Z^{\mathrm T}\mathbf a_czc​=ZTac​

有:

∥z^−zc∥Qz^z^2=∥a^−ac∥Qa^a^2\boxed{ \left\| \hat{\mathbf z}-\mathbf z_c \right\|_{\mathbf Q_{\hat z\hat z}}^2 = \left\| \hat{\mathbf a}-\mathbf a_c \right\|_{\mathbf Q_{\hat a\hat a}}^2 }∥z^−zc​∥Q

OpenHarmony实战开发-如何通过Function Flow编程模型和FFRT实现并行编程。 Function Flow编程模型是一种基于任务和数据驱动的并发编程模型,允许开发者通过任务及其依赖关系描述的方式进行应用开发。FFRT(Function Flow运行时)是支持Function Flow编程模型的软件运行时库,用于调度执行开发者基于Function Flow编程模型开发的应用。通过Function Flow编程模型和FFRT,开发者可专注于应用功能开发,由FFRT在运行时根据任务依赖状态和可用执行资源自动并发调度和执行任务。 阅读详情

相关推荐

5个4000比特大状态置换算法的设计与分析

下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。

HuangJinLong2的博客 358

权限管控服务目前服务于并发编程框架FFRT,为特定的线程提供调用底层Qos和RTG接口的能力

权限管控服务目前服务于并发编程框架FFRT,为特定的线程提供调用底层Qos和RTG接口的能力。服务接收全局资源调度管控子系统中的帧感知调度插件发送的场景信息,为系统服务uid与前台app的uid赋予调用底层对应接口的权限。同时将多级Qos的配置信息下发到内核,为而为并发编程框架FFRT提供支撑。

Intel MKL库常用模块的C语言实现

文章目录1. 随机数生成1.1 等概率的01分布 viRngUniform1.2 (复)高斯分布 vsRngGaussian2. 向量-向量运算2.1 向量数乘与加法 cblas_caxpby2.2 向量内积 cblas_cdotu_sub2.3 向量范数 cblas_scnrm23. 矩阵-向量运算3.1 矩阵存储方案3.2 矩阵-向量乘法 cblas_cgemv4. 矩阵-矩阵运算4.1 矩阵...

月半 月半的博客 4652

5G协议栈逆向工程:基于开源模拟器的核心网信令分析实战

本文详细介绍了基于开源模拟器Free5GC和UERANSIM的5G协议栈逆向工程实战,涵盖核心网信令分析、环境搭建、认证协议解析及安全漏洞验证。通过NGAP/NAS信令交互解密和异常流量注入测试,帮助研究人员深入理解5G网络安全机制,并提供实用的安全加固建议。

weixin_29250573的博客 676

VS2019配置Qt5.14.2开发环境全流程(含MSVC2017 64-bit选择指南)

本文详细介绍了在VS2019中配置Qt5.14.2开发环境的完整流程,特别针对MSVC2017 64-bit编译器的选择提供了专业建议。从环境准备、Qt安装配置到VS2019集成设置,逐步指导开发者完成开发环境的搭建,并提供了常见问题的解决方案和高级优化技巧,帮助开发者高效进行Qt开发。

weixin_29243279的博客 514

Unity 2022.3.3 LTS + Visual Studio 2022:手把手教你复刻《吸血鬼幸存者》核心战斗(附完整项目源码)

本文详细介绍了如何使用Unity 2022.3.3 LTS和Visual Studio 2022从零构建《吸血鬼幸存者》式战斗系统。通过图文开发教程,涵盖对象池优化、ECS架构雏形、2D物理碰撞控制等关键技术,帮助开发者高效复刻这款热门游戏的自动攻击与海量刷怪机制。

weixin_30721077的博客 458

Scissor算法实战:利用bulkRNA表型数据精准定位单细胞亚群

本文详细介绍了Scissor算法的实战应用,该算法通过整合bulkRNA-seq的丰富表型信息与单细胞数据,精准识别与特定临床结局(如不良预后)相关的单细胞亚群。文章深入解析了算法三步走的核心思想,并提供了适配Seurat v5的完整代码解决方案,帮助研究者从海量数据中提炼具有生物学和临床价值的洞见。

ww90123的博客 254

基于STM32的最简易蓝牙遥控小车

基于STM32的蓝牙遥控小车,基于HAL库编写代码,具有移动功能,读者可自行添加其他扩展功能。按下状态的对应关系:2前进,4左转,5停止,6右转,8后退,松开状态都是5,都选择16进制。首先按照小车的图纸把小车的机械部分装好。做这个小车的成本在200元左右,包括焊接设备,杜邦线等。

weixin_43469377的博客 1万+

杰理SDK入门教程(二):USB升级程序

开发板升级操作指南 摘要:本文介绍了开发板程序升级的两种方式(常规升级和串口升级),重点说明了常规升级的操作步骤: 拨码设置:提供4种拨码方式(不拨/1档/2档/3档),对应不同指示灯状态和按键要求 硬件连接:强制升级工具需正确连接电脑和开发板(注意USB接口方向) 升级流程:根据拨码状态操作按键,观察指示灯变化(红灯常亮绿灯灭表示进入升级模式) 执行升级:运行SDK中的download.bat完成升级 文中还包含拨码开关说明、指示灯状态对照表以及升级原理说明,帮助用户理解升级过程。升级成功后在设备管理器可

qq_42014563的博客 1120

Access查询中的Dlookup函数的妙用

在Microsoft Access中,处理和分析数据的过程中,常常会遇到需要根据条件从其他记录中提取特定数据的情况。这时候,Dlookup函数就成了开发者和数据分析师的得力助手。今天我们将通过一个具体的实例,详细探讨如何利用Dlookup函数来解决复杂的查询问题。

m0_62153576的博客 295

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 网络通信入门:NTRIP、RTCM、TCP 概念澄清, NtripSource、NtripServer、NtripCaster、NtripClient 关系梳理
下一篇: dandelion:全国 GNSS 基准站虚拟专网部署教程
云卷云苏~
博客等级 码龄2年 35粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

云卷云苏~

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值