102-RTKLIB中的相位解缠

【相位解缠】一维信号相位解包裹原理及其演示实例 如图1所示是灰度级为256的相位图,对于相位图中的每一个像素点,它的光强与其相应的相位是有联系的。结合式(1)可知,用于相位计算的反正切值函数的主值位于区间(−π,π]或[0,2π)之间。图1 相位图[1]将折叠在[−π,π]之间的相位值还原成其真实相位值的过程称为相位展开的过程,也称为的过程。由ϕ(i,j)为各点的相位值。是:相邻两像素的相位主值进行比较,如果其相位差超出[−π,π]范围,则将后面像素对应的相位值加上或减去。......... 阅读详情

这是一篇未解决问题的博文

rtklib手册中的相位解缠公式:
在这里插入图片描述
首先ErE_rEr​就很不明白,不知道为什么程序中要那样求解。
另外对于EsE^sEs,大小与前面卫星pco改正求得的各方向单位矢量大小相等,方向相反,猜测是pco中是坐标单位矢量,这里是转换矩阵,但是这里的EsE^sEs中xy的求解还是通过卫星的姿态进行求解的,具体没有细究,因为跟找到的资料对比还是没看明白。卫星的姿态相关计算可以参考下面几篇文章:
[1] 张宝成,欧吉坤,袁运斌,钟世明.GPS卫星姿态异常及其对精密单点定位估值的影响[J].科学通报,2010,55(Z2):2612-2618.
[2] 范曹明,王胜利,欧吉坤.GPS/BDS卫星姿态异常对PPP相位缠绕的影响及其改正模型[J].测绘学报,2016,45(10):1165-1170+1209.
[3] KOUBA J. A Simplified Yaw-attitude Model for Eclipsing GPS Satellites[J]. GPS Solutions, 2009, 13(1):1-12.

另外,euse_u^seus​和erse_r^sers​用的是同一个值,即ecef下接收机-卫星坐标的单位矢量,这个其实都一样,反正都是卫星到接收机天线方向的单位矢量。
大概就这些搞不透彻的。另外贴一下,

/* phase windup model --------------------------------------------------------*/
static int model_phw(gtime_t time, int sat, const char *type, int opt,
                     const double *rs, const double *rr, double *phw)
{
    double exs[3],eys[3],ek[3],exr[3],eyr[3],eks[3],ekr[3],E[9];
    double dr[3],ds[3],drs[3],r[3],pos[3],cosp,ph;
    int i;
    
    if (opt<=0) return 1; /* no phase windup */
    
    /* satellite yaw attitude model */
	/* E.8.12星固系的参数 */
    if (!sat_yaw(time,sat,type,opt,rs,exs,eys)) return 0;
    
    /* unit vector satellite to receiver */
    for (i=0;i<3;i++) r[i]=rr[i]-rs[i];
    if (!normv3(r,ek)) return 0;
    
    /* unit vectors of receiver antenna */
	/* E.8.11中的参数 */
    ecef2pos(rr,pos);
    xyz2enu(pos,E);
    exr[0]= E[1]; exr[1]= E[4]; exr[2]= E[7]; /* x = north */
    eyr[0]=-E[0]; eyr[1]=-E[3]; eyr[2]=-E[6]; /* y = west  */
    
    /* phase windup effect */
    cross3(ek,eys,eks); /* eks=ek×eys 即E.8.13中 eus×eys */
    cross3(ek,eyr,ekr); /* ekr=ek×eyr 即E.8.14中 ers×eyy */
    for (i=0;i<3;i++) {
        ds[i]=exs[i]-ek[i]*dot(ek,exs,3)-eks[i]; /* E.8.13 */
        dr[i]=exr[i]-ek[i]*dot(ek,exr,3)+ekr[i]; /* E.8.14 */
    }
	/* E.8.15 没有加N的部分 */
    cosp=dot(ds,dr,3)/norm(ds,3)/norm(dr,3);
    if      (cosp<-1.0) cosp=-1.0;
    else if (cosp> 1.0) cosp= 1.0;
    ph=acos(cosp)/2.0/PI;
    cross3(ds,dr,drs);
    if (dot(ek,drs,3)<0.0) ph=-ph;
    /* 防止周跳处理 */
    *phw=ph+floor(*phw-ph+0.5); /* in cycle */
    return 1;
}
/* satellite attitude model --------------------------------------------------*/
static int sat_yaw(gtime_t time, int sat, const char *type, int opt,
                   const double *rs, double *exs, double *eys)
{
    double rsun[3],ri[6],es[3],esun[3],n[3],p[3],en[3],ep[3],ex[3],E,beta,mu;
    double yaw,cosy,siny,erpv[5]={0};
    int i;
    
    sunmoonpos(gpst2utc(time),erpv,rsun,NULL,NULL);
    
    /* beta and orbit angle */
    matcpy(ri,rs,6,1);
    ri[3]-=OMGE*ri[1]; /* v1=vx-omega*ry */
    ri[4]+=OMGE*ri[0]; /* v2=vy+omega*rx , v3=vz */
    cross3(ri,ri+3,n); /* n=r×v */
    cross3(rsun,n,p); /* p=rsun×n */
    if (!normv3(rs,es)||!normv3(rsun,esun)||!normv3(n,en)||
        !normv3(p,ep)) return 0;
    beta=PI/2.0-acos(dot(esun,en,3));/* acos(-x)=pi-acos(x) */
    E=acos(dot(es,ep,3));
    mu=PI/2.0+(dot(es,esun,3)<=0?-E:E);
    if      (mu<-PI/2.0) mu+=2.0*PI;
    else if (mu>=PI/2.0) mu-=2.0*PI;
    
    /* yaw-angle of satellite */
    if (!yaw_angle(sat,type,opt,beta,mu,&yaw)) return 0;
    
    /* satellite fixed x,y-vector */
    cross3(en,es,ex);
    cosy=cos(yaw);
    siny=sin(yaw);
    for (i=0;i<3;i++) {
        exs[i]=-siny*en[i]+cosy*ex[i];
        eys[i]=-cosy*en[i]-siny*ex[i];
    }
    return 1;
}

对于程序中β\betaβ的求解,程序中的计算方法为
β=π/2−arccos[(rsat×v)⋅rsun] \beta = \pi/2 - arccos[(r_{sat} \times v ) \cdot r_{sun}] β=π/2−arccos[(rsat​×v)⋅rsun​]

而相关文档中给出的公式是
β=arccos[(v×rsat)⋅rsun]−π/2 \beta = arccos[(v \times r_{sat}) \cdot r_{sun}] - \pi/2 β=arccos[(v×rsat​)⋅rsun​]−π/2

可以证明其等价:
cos(A)=xcos(π−A)=−x cos(A) = x \\ cos(\pi-A) = -x \\ cos(A)=xcos(π−A)=−x

那么
arccos(x)=Aarccos(−x)=π−A arccos(x) = A \\ arccos(-x) = \pi-A \\ arccos(x)=Aarccos(−x)=π−A

即:
arccos(x)=π−arccos(−x) arccos(x) = \pi - arccos(-x) arccos(x)=π−arccos(−x)

卫星导航定位误差之多路径&地球自转&相位缠绕&相位中心误差&地球潮汐 一、多路径 在GNSS测量中,被测站附近的反射物所反射的卫星信号(反射波)如果进入接收机天线,就将和直接来自卫星的信号(直射波)产生干涉,从而使观测值偏离真值,产生所谓的“多路径误差”。这种由于多路径的信号传播所引起的干涉时延效应被称做多路径效应。 1、反射波对直射波/信号的影响 实际测量中,GNSS天线接收到的信号是直射波和反射波发生干涉后的组合信号。反射物可以是地面、山坡和测站附近的建筑物等。现以地面为例来加以说明。若接收天线同时收到了直接来自卫星的信号S和经地面反... 阅读详情

相关推荐

两种相位解缠新技术

除此之外,有的学者将多幅干涉图进行组合以提高聚类算法中每类像素中心截距之间的距离,有的学者将聚类分析中需要利用的像素特征信息从原来的一维截距信息扩展到了三维的截距和距离向、方位向等信息,有的学者对早期聚类算法中需要通过搜索的办法求解像素模糊度矢量这一缺点进行优化,给出了对应的闭合求解公式,同时还指出在完成聚类后可以通过类滤波的方法进一步提高解缠相位的精度,另外还可以通过设计最优基线组合的方式来提高多基线相位解缠的鲁棒性。与传统的逐像素进行的多基线相位解缠算法相比,转自 微美全息科学院 公众号。

weixin_43608857的博客 2770

相位解缠原理及传统算法

InSAR处理实际得到的相位被限制在[-],只是缠绕相位。因此我们需要进行相位解缠,恢复整周模糊数2k,从而计算正确的高程或形变相位。

qq_62898028的博客 9852

图像处理中的相位缠绕技术实战

相位缠绕技术,也称为相位卷绕技术,是一种在信号处理、通信系统、量子计算以及图像处理中广泛应用的技术。它的核心在于将信号或者数据中的相位信息进行缠绕,从而达到对特定频率或信息进行调节、筛选或者重建的目的。通过相位缠绕,可以有效地增强信号的解析度,优化数据的传输质量,或者提升图像的对比度和清晰度。在物理学和信号处理领域,相位分析是一个核心概念。它涉及测量和解析波的相位信息,即波形相对于时间或空间的起始位置。相位分析在波形信号的合成、信号传播、和信号处理中扮演着重要角色。

weixin_42168902的博客 988

RTKLIB 中的天线相位缠绕误差修正

之前一直没有细看精密定位(PPP)中的相位缠绕,不过我觉得还是应该至少从应用层面理解PPP中每项修正。因此抱着不求甚解的心情(非通信专业人士,没有仔细去研究和理解右旋极化信号、偶极等概念),只从应用的角度来看看RTKLIB是如何进行天线相位缠绕修正的。 文章目录相位缠绕概念相位缠绕误差计算方法model_phw函数参考文献 相位缠绕概念 根据各文献的引用来看,参考文献[1]是最经典的文献,但是没有找到下载,只能从其他博客和论文[2~4]得到对以下问题的一些理解。 相位缠绕是什么? 发射天线和接收天线绕极

weixin_42918498的博客 2942

相位解缠算法

该代码实现了对相位进行解缠的运算,使得相位的值能够从主值中恢复出原来的相位值

相位解缠_unwrap_相位解缠_

INSAR相位解缠算法,使用的python语言,枝切法进行相位解缠。

GPS从入门到放弃(二十三) --- 相位缠绕

GPS从入门到放弃(二十三) — 相位缠绕 相位缠绕(Phase Wind-Up)是发射端与接收端之间的相对运动导致的载波相位变化。对 GPS 系统来说,因为 GPS 卫星发送的是右旋圆极化(RHCP: Right Hand Circularly Polarized)的信号,在这种情况下,接收机或者卫星天线的旋转会导致载波相位发生改变,这个值可能达到一个载波周期,我们把这种现象叫做相位缠绕。 因为...

tyst08的专栏 9847

ChatIE:基于ChatGPT的零样本信息抽取实战指南

信息抽取是自然语言处理中的核心任务,旨在从非结构化文本中自动识别并结构化关键信息,如实体、关系及事件。传统方法依赖大量标注数据训练专用模型,流程复杂且成本高昂。随着大语言模型的发展,通过提示工程引导模型理解任务,实现了无需训练数据的零样本抽取能力,极大降低了技术门槛与应用成本。这种范式将信息抽取重构为多轮对话问题,通过分阶段提问引导模型逐步输出结构化结果,在快速原型验证、领域适配及小规模数据探索中展现出显著技术价值。本文以ChatIE项目为例,深入解析如何利用ChatGPT API,通过精心设计的提示词与两

weixin_30540691的博客 404

RTKLIB源码阅读(四)观测数据读取:RINEX、RTCM、NMEA、接收机原始数据

卫星导航定位都是通过对卫星观测以获得卫星所需的观测量来实现的,卫星发射的信号由载波测距码导航电文三部分组成,接收机通过接收处理卫星信号生成定位所需的观测量。RINEX 是的缩写。采用文本文件ASCII码存储数据。数据记录格式与接收机的制造厂商和具体型号无关,这样可以方便数据的传递,使数据尽可能多被使用。观测数据文件O导航信息文件N气象数据文件Meteorological Data File),本文主要介绍OBS和NAV文件的读取。文件结构都以节、记录、字段和列为单位逐级组织。

实践出真理,接毕设/课设项目开发指导 2863

从理论到代码:手把手教你用Matlab复现MMC的HSS阻抗模型(附避坑指南)

本文详细介绍了如何使用Matlab复现MMC的HSS阻抗模型,涵盖谐波状态空间(HSS)理论、代码实现步骤及常见问题解决方案。通过谐波线性化和序阻抗建模技术,帮助工程师准确分析MMC的阻抗特性,并提供避坑指南以解决矩阵维度错误、收敛性问题和频域转换陷阱等难点。

weixin_42561040的博客 357

用友BIP培训资料-设计采购订单新增API接口开发

14.在子实体的String pkMeas = order_hhrSlave0VOJson.getString("pk_meas");Openapi路径:nccloud/api/pu/order_hhrmanage/order_hhrMaster/addAggOrder_hhrMasterVO。实现接口的开发部署,通过openAPI的test类,实现一条数据的插入。16.进入自己的Idea打开老师发的TestOpenApi并且编译完成后如下。12.编写检测是否字段中是否含有中文的方法。

m0_68497879的博客 1544

从RTCM到RTK:深入理解MSM消息如何驱动你的无人机精准定位

本文深入解析RTCM协议中的MSM消息如何通过RTK技术实现无人机厘米级精准定位。从MSM消息的二进制结构到RTKLIB解码实战,详细探讨了其在无人机系统中的优化实践,包括传输压缩、热备链路等关键技术,最终实现水平1cm+1ppm的高精度定位。

weixin_42531494的博客 214

【OpenCV】手眼标定实战:从原理到calibrateHandEye的完整实现

本文详细解析了机器人视觉中的手眼标定原理与实战,重点介绍了如何使用OpenCV的calibrateHandEye函数实现从数据采集到结果验证的完整流程。文章深入剖析了AX=XB核心方程,区分了眼在手上与眼在手外两种配置,并提供了详细的代码示例与避坑指南,帮助开发者精准建立相机与机械臂末端的坐标转换关系,是机器人精准抓取的关键技术。

weixin_29046611的博客 508

ENVI教程:InSAR技术,相位解缠

相位解缠是对去平和滤波后的位相进行相位解缠,解决 2π 模糊的问题。

1万+

用OpenPose进行单个或多个人体姿态估计

在计算机视觉中,人体姿态估计(关键点检测)是一个很常见的问题,在体育健身、动作采集、3D试衣、舆情监测等领域具有广阔的应用前景,本文要使用的检测方法就是基于OpenPose的人体姿态估计方法。 一、OpenPose简介 OpenPose人体姿态识别项目是美国卡耐基梅隆大学(CMU)基于卷积神经网络(CNN)和监督学习(SL)并以Caffe为框架开发的开源库。可以实现人体动作、面部表情、手指运动等姿...

weixin_42709563的博客 8404

【OpenClaw从入门到精通】第20篇:OpenClaw实战—从零搭建教育自动化助教系统(作业批改+智能答疑+学情分析)【2026实测】

本文基于OpenClaw开源框架,聚焦教育行业“答疑重复、批改耗时、学情模糊”三大核心痛点,提供从环境部署到功能落地的全流程实操方案。通过整合QQ群交互、代码分析、数据可视化等技能,构建“智能答疑+作业批改+学情分析”的自动化助教系统。系统支持7×24小时群聊答疑、多语言作业自动评审、学情数据周报生成,经实测可使助教工作时间减少60%、作业批改效率提升5-10倍、学情问题识别提前5周。文中包含完整配置步骤、可直接运行的代码示例及避坑指南,兼顾新手入门与进阶实操,帮助教育工作者快速落地自动化工具,从重复劳动中

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1450

天线相位缠绕

相位缠绕的产生机制是由于GNSS信号设计为右旋圆极化,接收天线和发射天线之间的相对旋转会导致载波相位的变化。在实际应用中,为了减少相位缠绕对测量精度的影响,通常会尽量提高导航信号接收天线与发射天线之间的倾角一致性。例如,对于具有空间变化相位模式的天线,相位模式可以作为卫星视线方向的函数来描述,这通常由方位角和仰角表示。具体来说,当接收天线和发射天线绕极化轴方向发生相对旋转时,测量的载波相位值会发生变化,这个现象称为相位缠绕。因此,在非精密定位中可以忽略其影响,但在精密单点定位中,相位缠绕的影响不可忽略。

weixin_43229258的博客 710

Sqlserver2012评估期已过问题解决(启动数据库服务报错1705都是同样的问题,数据库过期未激活)

一、背景: 因为之前安装sqlserver2012忘记输入序列号,如今出现评估期已过的问题,前几天忙活半天,才解决,发现网 上叙述都非常凌乱,并且仅仅有大意,有的非常难操作。所以把我操作的过程和大家交流分享: 一定要有序列号的输入。不然会有很多其它的麻烦出现: 二、问题解决: 第一步:进入SQL2012配置工具中的安装中心。 第二步:再进入左側维护选项界面,然后选择选择版本号升级。 ...

堂前燕的博客 3266

089【RTKLIB源码之postpos-5】pppos

pppos 1 filter 1.1 filter_ 2 ppp_res 2.1 antmodel 2.2 const_corr 2.3 corr_meas 2.4 model_iono 2.5 model_phw 2.5.1 sat_yaw 2.5.1.1 yaw_angle 2.6 model_trop 2.6.1 trop_model_prec 2.7 sat...

学问思辨行 3377

RT-DETR改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU等)

本文记录的是改进RT-DETR的损失函数,将其替换成。现有研究通过利用边界框之间的几何关系来提高回归性能,但忽略了困难样本和简单样本分布对边界框回归的影响。不同检测任务中困难样本和简单样本的分布不同,对于简单样本占主导的检测任务,关注简单样本的边界框回归有助于提高检测性能;对于困难样本比例较高的检测任务,需要关注困难样本的边界框回归。,提高检测器在不同检测任务中的性能。实现的。

Limiiiing的博客 1922

假人有限元模型

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

【二维相位缠绕】等相关概念——卫星雷达影像,以及数据流动案例(c语言)

在一个二维的数据场(比如图像或网格)中,每个点都有一个相位值(角度),但这些相位值被限制在了一个固定的 2π 范围内(如 (-π, π])。当相邻点之间的真实相位差跨越了这个范围的边界时,记录下来的相位值就会发生一个大小约为 2π 的突然跳变。这使得原本可能平滑变化的二维相位“表面”看起来像是布满了不连续的“悬崖”或“断层”。 相位解缠绕(Phase Unwrapping)的目标,就是要识别并消除这些人为的 2π 跳变,恢复出那个隐藏在缠绕数据之下的、连续变化的、真实的二维相位分布。 

weixin_74776798的博客 1033

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

GPS从入门到放弃(二十三)、相位缠绕

相位缠绕(Phase Wind-Up)是发射端与接收端之间的相对运动导致的载波相位变化。对 GPS 系统来说,因为GPS卫星发送的是右旋圆极化(RHCP: Right Hand Circularly Polarized)的信号,在这种情况下,接收机或者卫星天线的旋转会导致载波相位发生改变,这个值可能达到一个载波周期,我们把这种现象叫做相位缠绕。 因为卫星的太阳能电池板必须对着太阳,这样才能尽可能的吸收太阳能。为了把太阳能电池板对准太阳,在卫星经过远日点和近日点附近时,卫星姿态需要发生近 180° 的剧烈翻

努力努力努力 1957

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

PhaseUnwrapping 初探

纯属个人愚见,欢迎讨论指导! 相位解缠是干涉处理中一个非常有技术含量的环节,其实不仅是干涉中要用到相位解缠,核磁共振成像当中也要用到相位解缠。之前看过相位解缠的文献,以为自己知道啥是相位解缠,常常最小代价流,图割法,1范数,0范数挂在嘴边,现在想想有点无知了,哈哈,不过这都不要紧,亡羊补牢,为时未晚。 虽然现在还没法自己手动实现一个完整的最小代价流,但是好歹感觉自己明白了相位解缠的一...

dingli8570的博客 647

相位解缠+深度学习

虽然不同像元的相位值不同,但在一个边缘周期内的模糊周数是相同的。WU等人(Wu et al., 2020 , Wu et al., 2022)提出基于回归思想的相位解缠模型PUNet,通过学习缠绕相位到解缠相位的直接映射关系,实现了InSAR干涉图的相位解缠。该方法采用相似的卷积网络架构,首先,使用DDNet从干涉中探测发生局部沉降的位置,然后将干涉图中的沉降区域分割成块,并利用PUNet进行相位解缠通过在模拟干涉图上评估PUNet,与其他深度学习方法相比,该方法在相位解缠方面表现出优异的性能。

weixin_56301271的博客 1999

什么是解缠绕?为什么要解缠绕?

解卷绕作为一种重要的数据处理和信号恢复操作,在众多科学与工程领域中发挥着关键作用。无论是准确的信号分析、数据还原,还是系统的正常运行与优化,解卷绕都是不可或缺的步骤。通过对解卷绕概念的理解、相关公式的掌握以及实际代码示例的学习,希望读者能够在自己的研究和工作中灵活运用解卷绕技术,解决实际问题。

Duhaojia的博客 2073

103-RTKLIB中对流层延迟模型

1、Troposphere Model 该模型实际上就是Saastamoinen模型,实现函数为tropmodel,求得的是信号传播路径上的电离层延迟。 值得注意的是,该函数中干延迟与湿延迟是分开求取的,然后相加,这样做的目的是可以方便的直接求取天顶干延迟,只需要将卫星高度角设置为90度,相对湿度设置为0.在第三个模型精细的对流层模型中就使用了该函数求天顶干延迟。 模型实现较为简单,只是最后面干...

学问思辨行 9101
上一篇: 101-RTKLIB中的天线相位中心改正
下一篇: 103-RTKLIB中对流层延迟模型
魔方的块
博客等级 码龄11年 1056粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值