精华内容
下载资源
问答
  • 针对目前的最坏月预测模型无法有效反映对流层散射传输损耗的最坏月时间概率分布随地域和气象气候条件变化...通过合理的数学推演和数值优化,该方法得到了对流层散射最坏月与年平均传输损耗的时间概率转换与地面折射率N
  • 流播 将所有流数据强制为特定类型。 例子 # Cast all comma separated input to integers > echo 1.2,2.5,3.9,4.1,500 | ./bin/streamcast --delimiter , integer 1 3 4 4 ... // Also supports 'smart' data types. ...
  • 利用1979--2008年华北地区12个测站逐日对流层顶探空资料,运用统计学方法对该地区不同类别对流层...全年均出现复合对流层顶,且在季节转换时期出现频率较高;第一对流层顶高度年变程呈双峰型,夏季高,冬季低,第二对流
  • 103-RTKLIB中对流层延迟模型

    千次阅读 2019-06-13 17:22:30
    1、Troposphere Model 该模型实际上就是Saastamoinen模型,实现函数为tropmodel,求得的是信号传播路径上的电离层...在第三个模型精细的对流层模型中就使用了该函数求天顶干延迟。 模型实现较为简单,只是最后面干...

    1、Troposphere Model

    该模型实际上就是Saastamoinen模型,实现函数为tropmodel,求得的是信号传播路径上的电离层延迟。
    值得注意的是,该函数中干延迟与湿延迟是分开求取的,然后相加,这样做的目的是可以方便的直接求取天顶干延迟,只需要将卫星高度角设置为90度,相对湿度设置为0.在第三个模型精细的对流层模型中就使用了该函数求天顶干延迟。
    模型实现较为简单,只是最后面干延迟求取的公式有点疑问。对照《GPS测量与数据处理》第三版P118的公式,应该乘以(1.0-0.00266*cos(2.0*pos[0])-0.00028*hgt/1E3)部分而不是除以。

    2、SBAS troposphere model

    在程序中的实现函数为sbstropcorr。在一些材料中,该模型也被称为EGNOS模型,比如“三种对流层延迟改正模型精度评估,曲伟菁等,天文学报,2008”这篇文献。对照该文献,对流层的求取过程也较为容易理解。该模型最后使用了一个简化的投影函数转换为斜对流层延迟,m=1.001/sqrt(0.002001+sinel*sinel);,其实也较为容易理解,如图:

    上图来自“丁晓光. 对流层延迟改正在GPS数据处理中的应用与研究[D].长安大学,2009.”。

    容易理解sinel=cosz,所以程序中的投影函数就可以简单理解为图中的F,至于更深入的理解,做不到了。
    该函数在ppp状态参数的赋值中,将高度角设置为90度,求得天顶方向的对流层延迟,赋值到状态向量x。

    3、Precise troposphere model

    该模型的实现函数为trop_model_prec。该函数在ppp中估计天顶对流层和东向北向梯度时会用到。
    函数的实现较为简单,
    调用Saastamoinen计算天顶对流层干延迟,调用NMF模型计算干湿投影函数,根据方位角高度角计算湿延迟及东、北梯度系数dtdx,根据干延迟投影函数、新计算的湿延迟投影函数及干延迟计算信号传播路径上的对流层延迟dtrp。

    将对流层三个估值的系数简要说一下。
    公式E.5.5可以这样简化:

    m = m + m ∗ c o t E l ∗ G N ∗ c o s A z + m ∗ c o t E l ∗ G E ∗ s i n A z m=m+m*cotEl*G_N*cosAz+m*cotEl*G_E*sinAz m=m+mcotElGNcosAz+mcotElGEsinAz

    等式左边就是顾及东向北向梯度情况下的对流层湿延迟投影函数(系数),右边第一项为NMF模型求得的对流层湿延迟投影函数(系数),第二项和第三项分别为北向和东向电离层梯度系数,后面会将这三个值添加到量测矩阵。

    总结

    在ppp中,对流层的三个参数作为状态进行估计,那么关于对流层的计算主要包括:
    1、EGNOS模型(模型2)计算天顶对流层总延迟,并将这个值赋值给状态向量,北向东向梯度在状态向量中赋值为常数,在udtrop_ppp函数中进行;
    2、在相位伪距残差计算函数ppp_res中,使用精细对流层模型计算上述三个参数的系数dtdx(用于确定H阵)及对流层延迟dtrp(用于残差计算)。

    展开全文
  • 使用CURL方法,输入以下命令 curl.exe -c .cookie -n --netrc-file D:\_netrc.txt -L -O ... ...>,上述命令中2015为数据年份,001为年积日,lhaz为站名 ...

    使用CURL方法,输入以下命令

    curl.exe -c .cookie -n --netrc-file D:\_netrc.txt -L -O "https://cddis.nasa.gov/archive/gnss/products/troposphere/zpd/2015/001/lhaz****.15zpd.gz"
    

    其中D:_netrc.txt为_netrc.txt文件的路径,文件中的用户名和密码不需要加<>,上述命令中2015为数据年份,001为年积日,lhaz为站名

    展开全文
  • 数值分析了粘性不可压缩的导电微极性流体沿着半无限倾斜的可渗透平板的粘性对流的混合对流。 通过适当的变换,边界层方程被转换为一组非线性常微分方程。 使用Nachtsheim-Swigert射击迭代技术(猜测缺失值)以及六阶...
  • 在存在相关磁场的情况下,研究了在多孔介质周围流动以及粘性耗散的情况下,热和传质对混合对流铜水纳米流体流经倾斜板的影响。 适当的一组有用的相似性变换被认为是将期望的控制方程式变换为非线性的常微分方程式的...
  • 如果您想尝试不同的对流过滤器,那么它应该非常简单:只需查看filters.cpp 。 编译中 我在带有GCCLinux x86_64上开发并测试了该程序。 它可能也可以在x86 GCC上编译和运行。 Windows可能需要更多工作。 如果要静态...
  • 当前位置:我的异常网» Linux/Unix»Window和Linux上的文件相互转换Window和Linux上的文件相互转换www.myexceptions.net网友分享于:2013-07-21浏览:90次Window和Linux下的文件相互转换转载本站文章请注明,转载自...

    当前位置:我的异常网» Linux/Unix » Window和Linux上的文件相互转换

    Window和Linux上的文件相互转换

    www.myexceptions.net  网友分享于:2013-07-21  浏览:90次

    Window和Linux下的文件相互转换

    转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

    本文链接: http://www.php-oa.com/2007/12/13/window-unix-linux-type.html

    Windows & Unix 文件格式之迷, 空格 与 tab 转换及其相关工具

    来自: http://www.eybuild.com

    eybuild@hotmail.com

    关键字: DOS, Unix 文件格式, 空格 与 tab 转换工具

    fbin win2unix tab2unix

    摘要: 本文深入揭露 Windows & Unix 格式差异, 及因此而导至的各种问题.

    同时介绍了一些与之相关的查看和操作工具, 并在 Windows, Unix 进行举例.

    1. 问题提出:

    我们可能会遇到过这样一些困惑:

    (1) 如何查看一个文件或数据流的二进制格式(以十六进制格式显示)?

    (2) 为什么在 windows下编译的 shell 脚本在 Unix下不能执行?

    为什么在 windows下编辑的 C 源文件在有些 gcc 编译器下不能编译?

    (3) 为什么我在 vi 等编器下打开一个文本文件会包含 ^M, 如何把它去掉?

    为什么我在 windows 上用记事本打开 unix上的文件, 文件都不换行?

    (4) 如何删除文件行尾的 空格 或 tab?

    如何把文件中的 tab 转换成 空格, 或者把 空格 转换成 tab?

    如何只转换行首 tab 转换成 空格?

    2. 分析与方案:

    (1) 如何查看一个文件的二进制格式(以十六进制格式显示)?

    查看任意文件或数据流的二进制格式, 我们非常常用.

    方法一: 在 UtraEdit 使用 Ctrl + H 切换到十六进制编辑模式.

    ** 注意 ** :

    此方法一有缺陷, 它会将行末的单个”换行符”显示成 “回车” + “换行” 两个字符.

    这样会使问题 (2)(3)(4) 无法用此工具正确查看.

    方法二: 使用文件或流的二进制查看工具 fbin

    fbin 可以运行于 windows 和各种 Unix 平台,

    如下例的命令显示文件的前48字节:

    $ fbin xx.c 0×30

    filename: ‘xx.c’

    filelen : 0×68(104), offset: 0×38, max output: 0×30

    00000000: 2369 6E63 6C75 6465 3C73 7464 696F 2E68 #include

    00000010: 3E0D 0A0D 0A69 6E74 6D61 696E 2829 0D0A >….intmain()..

    00000020: 7B0D 0A20 2020 2063 6861 7209 2020 2020 {.. char.

    fbin 能准确显示文件中的每一个字节. (更多详细实例见后文)

    (2) 为什么在 windows下编辑的 shell 脚本在 Unix下不能执行?

    为什么在 windows下编辑的 C 源文件在有些 gcc 编译器下不能编译?

    原因分析:

    unix 的 shell 脚本不能识别 “回车符” (即: CR, ‘\r’),

    Windows 文件格式(详细分析见下文) 换行时, 总是以 “回车” + “换行”

    (可以借助上一问介绍的 fbin 工具, 查看文件中是否包含 “回车换行” 对),

    导到 unix 下的 shell 无法正常解释.

    解决方法:

    就是把 windows 格式的中的 “回车” 符删除, 删除.

    方法一: 使用 vi 打开源文件, 把 ‘\r\n’ 替换成 ‘\n’

    ** 缺点 ** : 不适合大量文件的批量作业.

    方法二: 使用 UtraEdit 把 Windows 格式的文件转换成 Unix 格式.

    (菜单)文件–>转换–>Unix转DOS

    ** 缺点 ** : 不适合大量文件的批量作业.

    方法三: Unix 下的 dos2unix 命令, 如 $ dos2unix -k xx.c

    ** 缺点 ** :

    此方法有一致命缺陷, 它会改变原来的文件属性.

    如一个可执行 shell 脚本的可执行属性及其它属性, 转换后都将会丢掉

    (即使用 -k 也只是能保留住原来的日期.)

    ** 优点 ** : 适合大量普通文件本文件的批量作业.

    方法四: win2unix (windows, unix 均可使用), 功能类似 dos2unix,

    如 win2unx xx.c (更多详细实例见后文)

    ** 优点** :

    克服了 dos2unix 的所有缺点(见上), 它能保留源文件的任何属性.

    还可以返回转换即 unix2win

    适合大量文件的批量作业.

    (3) 为什么我在 vi 等编器下打开一个文本文件会包含 ^M, 如何把它去掉? (见结论 4, 5)

    为什么我在 windows 上用记事本打开 unix上的文件, 文件都不换行? (见结论 1)

    原因分析:

    要解决这个问题, 必先弄清 unix 与 windows 文本文件的差异:

    1) 磁盘中 Windows 文本文件总是以 “回车” + “换行”的形式进行换行的.

    2) 磁盘中 Unix 格式的文本文件, 总是以”换行符”(即: LF, ‘\n’) 换行, 而非 “回车换行符”.

    (Unix 规定: unix 文本文件保存到磁盘时, 总是自动把 “回车换行符” 转换成 “回车符” 保存,

    输出到终端时由终端自动将将 “回车符” 转换成 “回车换行符” 输出.)

    ** 容易看出 **:

    Windows 格式的文件换行时, 总是比 Unix格式的文件多一个 “回车” (‘\r’) 符.

    ** 结论 1 **:

    这样在 windows 的记事本中打开 Unix 格式的文件时, 因为文件中没有 ‘\r’, 所以无法正常显示.

    结果就会把所有的内容显示在同一行中.

    ** 结论 2 **:

    UtraEdit 等工具会自动检测文件中是否包含 ‘\r’, 当检查行末缺少 ‘\r’时, 一般它会提示

    要求进行 Unix 到 Windows 格式的转换. (相信大家都遇到这个提示信息).

    ** 结论 3 **:

    UtraEdit 和 vi 等工具, 在保存文件时会自动依照文件原来的格式进行保存. 即:

    如打开的如是 windows 格式它会把文件依然按 windows 格式保存 (不进行自动转换).

    如打开的如是 unix 格式它会把文件依然按 unix 格式保存 (不进行自动转换).

    ** 结论 4 **:

    向 UtraEdit 打开的 Unix 格式文件中, 通过粘贴板 “粘贴” Windows 格式的若干片断行时

    (或反之, 即向 Windows 格式文件中, 通过粘贴板 “粘贴” Unix 格式的若干片断行时),

    代码片断中的 “回车换行符” “不会” 自动转换成单个 “换行” 符(反之亦然).

    这样, 该文件中就会出现 “回车符” 与 “回车换行符” 互相夹杂.

    即, 文件中既有单独的 “回车符” 也有 成对的 “回车换行符”.

    ** 结论 5 **:

    vi 编辑器等, 既能正确显示”规则”的 Unix 格式文件, 也能正确显示”规则”的 Windows 格式文件,

    但, 对包含单独的 “回车符”, 同时成对的 “回车换行符”的不规则文件 (产生原因见结论 4),

    vi 将把回车符以 ^M 的形式显示.

    解决方法:

    使用类似问题 2 提供的解决方法即可解决, 不再骜述.

    将 unix 转换成 Windows 格式时, 使用 unix2dos 或 win2unix -r(-r 代表反方向)即可.

    (4) 如何删除文件行尾的 空格 或 tab?

    如何把文件中的 tab 转换成 空格, 或者把 空格 转换成 tab?

    如何只转换行首 tab 转换成 空格?

    问题分析:

    出于各种需要, 特别是编辑 C/C++, Java 等源程序时, 常希望将源文件中的 tab 成空格,

    或将空格转换成 tab, 同时删除行尾不必要的空格或 tab 等.

    如果源程序的正文中字符串中包含”空格”或”tab”时, 则只希望只转换行首的”空格”或”tab”.

    解决方法:

    如果是单个文件, 直接使用一些编辑器自带的转换功能转换.

    如果是想批量转换, 不防试试 tab2sp 进行转换, 不仅适合批量文件, 还适合数据流.

    方法一: 使用 UtraEdit 的转换功能, 即: (菜单)格式–>转换 TAB 为空格, …

    ** 缺点 **:

    不适合大量文件的批量作业.

    方法二: tab2sp (适合 windows, 各种 unix 平台),

    如 tab2sp -t -w8 xx.c (更多详细实例见后文)

    ** 优点 **:

    适合大量文件的批量作业.

    适应文件或流的二进制查看工具 fbin

    3. 工具详解: fbin, win2unix, tab2sp 等对流或文件进行批量查看/转换

    (1) 工具简介

    fbin, win2unix, tab2sp 等工具对流或文件进行批量查看/转换,

    适合 Windows 和 各种 Unix 平台.

    (2) fbin – 查看流/文件的二进制格式

    在命令行上键入下面命令即可查看在线帮助(部分内容未列出)

    $ fbin –help

    fbin – display file with hex format, version 1.0.4

    Copyright(C) eyBuild Group, 2005, 2006. All Rights Reserved.

    http://www.eybuild.com, eybuild@hotmail.com

    Usage: fbin [options] [fname [0x][offset] [maxlen] | [file1] …]

    -h –help – show this help

    -w[num] – specify word-width [2/4], default 2

    -p – pause for every screen

    -v – verbose mode

    -l – process file list replace ‘fname’ …

    fname – file name to display

    offset – hex number, ’0x’ is optional.

    offset >= 0 from the begining of input file,

    offset < 0 from the end of input file

    maxlen – max length to print

    EXAMPLES:

    win2unix -p foo.bin

    print at most 64 (0×40) bytes from offset 0×200:

    fbin foo.bin 0×200 0×40

    print last 32 (0×20) bytes with 4-bytes word-width:

    fbin -w4 foo.bin -20

    process file list:

    fbin -v -l f1 f2 f3 f4 f5 f6

    例1. 查看一个文件前 64 个字节二进制:

    (Unix/Windos 执行下面命令会得到相同结果)

    $ fbin fbin.c 0 40

    00000000: 2F2A 2066 6269 6E2E 6320 2D20 6C69 7374 /* fbin.c – list

    00000010: 2066 696C 6520 7769 7468 2062 696E 6E61 file with binna

    00000020: 7279 2066 6F72 6D61 7420 2A2F 0A0A 2F2A ry format */../*

    00000030: 2043 6F70 7972 6967 6874 2843 2920 6579 Copyright(C) ey

    例2. 查看一个文件最后 64 个字节二进制:

    (Unix/Windos 执行下面命令会得到相同结果)

    $ fbin fbin.c -40

    000022D5: 2020 2061 7267 632D 2D2C 2061 7267 762B argc–, argv+

    000022E5: 2B3B 0A20 2020 2020 2020 2067 6F74 6F20 +;. goto

    000022F5: 4E45 5854 3B0A 2020 2020 7D0A 0A20 2020 NEXT;. }..

    00002305: 2072 6574 7572 6E20 4F4B 3B0A 7D0A 0A0A return OK;.}…

    例3. 查看一个文件从 128 字节开始的 64 个字节二进制 (4 字节宽度):

    (Unix/Windos 执行下面命令会得到相同结果)

    $ fbin -w4 fbin.c 40 40

    00000040: 4275696C 64204772 6F75702C 20323030 Build Group, 200

    00000050: 352C2032 3030362E 20416C6C 20526967 5, 2006. All Rig

    00000060: 68747320 52657365 72766564 2E202A2F hts Reserved. */

    00000070: 0A0A2F2A 0A6D6F64 69666963 6174696F ../*.modificatio

    例4. 批量显示查找(包含子目录)到的所有文件 (4 字节宽度):

    Unix 命令:

    $ find ../bin -name “*.exe” | xargs fbin -w4 -l -v |less

    filename: ‘../bin/csp2bin.exe’

    filelen : 0×18000(98304)

    00000000: 4D5A9000 03000000 04000000 FFFF0000 MZ…………..

    00000010: B8000000 00000000 40000000 00000000 ……..@…….

    00000020: 00000000 00000000 00000000 00000000 …………….

    00000030: 00000000 00000000 00000000 E0000000 …………….

    00000040: 0E1FBA0E 00B409CD 21B8014C CD215468 ……..!..L.!Th

    00000050: 69732070 726F6772 616D2063 616E6E6F is program canno

    00000060: 74206265 2072756E 20696E20 444F5320 t be run in DOS

    00000070: 6D6F6465 2E0D0D0A 24000000 00000000 mode….$…….

    00000080: 08A64111 4CC72F42 4CC72F42 4CC72F42 ..A.L./BL./BL./B

    00000090: 37DB2342 4EC72F42 7AE12442 4DC72F42 7.#BN./Bz.$BM./B

    000000A0: CFDB2142 59C72F42 2ED83C42 4FC72F42 ..!BY./B..

    000000B0: 4CC72E42 0FC72F42 7AE12542 26C72F42 L..B../Bz.%B&./B

    000000C0: 52696368 4CC72F42 00000000 00000000 RichL./B……..

    000000D0: 00000000 00000000 00000000 00000000 …………….

    000000E0: 50450000 4C010300 3642A445 00000000 PE..L…6B.E….

    000000F0: 00000000 E0000F01 0B010600 00000100 …………….

    00000100: 00901000 00000000 F5A80000 00100000 …………….

    00000110: 00100100 00004000 00100000 00100000 ……@………

    Windos 命令如下命令, 会得到相同结果:

    E:\> for /F %I in (‘dir /w /b /s /A:-D eybuild\bin’) do fbin -w2 -v -l %I | more

    (3) win2unix – Windows 与 Unix 文件格式互转换工具

    在命令行上键入下面命令即可查看在线帮助(部分内容未列出)

    $ win2unix –help

    win2unix – translate file between windows and unix format, version 1.0.5

    Usage: win2unix [options] [[src] [dst] | [file1] …]

    -h –help – show this help

    -r – translate file from unix format to windows

    -v – verbose mode

    -l – process file list replace ‘src’ & ‘dst’ pair

    src – source file or dectory

    dst – destination file or dectory

    EXAMPLES:

    win2unix foo.txt

    convert unix to windows format:

    win2unix -r -b src.txt dst.txt

    process file list:

    win2unix -v -l f1 f2 f3 f4 f5 f6

    例1. Unix 格式转换成 Windows 格式:

    $ win2unx -r fbin.c

    查看二进制结果如下, 与fbin中的”例1″对比容易发现, 第3行中原来的0A0A(两个”换行符”)

    被转换成了 0D0A0D0A (两对”回车换行符”).

    $ fbin fbin.c 0 40

    00000000: 2F2A 2066 6269 6E2E 6320 2D20 6C69 7374 /* fbin.c – list

    00000010: 2066 696C 6520 7769 7468 2062 696E 6E61 file with binna

    00000020: 7279 2066 6F72 6D61 7420 2A2F 0D0A 0D0A ry format */….

    00000030: 2F2A 2043 6F70 7972 6967 6874 2843 2920 /* Copyright(C)

    例2. Windows 格式转换成 Unix 格式:

    $ win2unx fbin.c

    查看二进制结果如下, 与 “例1″对比容易发现, 第3行中原来的0D0A0D0A (两对”回车换行符”)

    被转换成了 0A0A(两个”换行符”)

    $ fbin fbin.c 0 40

    00000000: 2F2A 2066 6269 6E2E 6320 2D20 6C69 7374 /* fbin.c – list

    00000010: 2066 696C 6520 7769 7468 2062 696E 6E61 file with binna

    00000020: 7279 2066 6F72 6D61 7420 2A2F 0A0A 2F2A ry format */../*

    00000030: 2043 6F70 7972 6967 6874 2843 2920 6579 Copyright(C) ey

    例3. 批量转换查找(包含子目录)到的所有文件:

    $ find src -name “*.c” | xargs win2unix -l -v

    convert ‘win’ to ‘unix’ format …

    src/csp2bin.c

    src/tab2sp.c

    src/fbin.c

    src/win2unix.c

    Windos 命令如下命令, 会得到相同结果:

    E:\> for /F %I in (‘dir /w /b /s /A:-D src/*.c’) do win2unix -v -l %I

    (4) tab2sp – tab 与 空格的互转换

    在命令行上键入下面命令即可查看在线帮助(部分内容未列出)

    $ win2unix –help

    tab2sp – convert tabs to spaces or revert, version 1.0.2

    Usage: tab2sp [options] [[src] [dst] | [file1] …]

    -h –help – show this help

    -r – convert spaces to tabs

    -p – only convert line prefixed spaces or tabs

    -t – remove tail tabs and spaces

    -w[num] – specify tab width [1-8], default 4

    -no – don’t do any convert

    -v – verbose mode

    -l – process file list replace ‘src’ & ‘dst’ pair

    src – source file

    dst – destination file

    EXAMPLES:

    tab2sp -r < foo.txt

    convert tabs to spaces:

    tab2sp foo.txt

    convert spaces to tabs and remove tail tabs, spaces:

    tab2sp -r -t foo.txt

    only remove tail tabs and spaces:

    tab2sp -no -t foo.txt

    process file list:

    tab2sp -v -l f1 f2 f3 f4 f5 f6

    例1. 将文件中的所 tab 转换成 “空格”(默认 4 字符宽度), 并删除尾部 tab 和空格:

    $ tab2sp -t fbin.c

    可自行用 fbin 查看二进制结果如下, 确认是否 tab(09) 全部转成成了空格(20).

    本处不再把示例结果列出.

    例2. 将文件中的所 “空格” 转换成 tab (默认 4 字符宽度), 并删除尾部 tab 和空格:

    $ tab2sp -r -t fbin.c

    例3. 将文件中的所 tab 转换成空格(指定为 8 字符宽度), 并删除尾部 tab 和空格:

    $ tab2sp -t -w8 fbin.c

    例4. 只删除文件 f1, f2, f3 f4 行尾的空格

    $ tab2sp -no -t -l f1 f2 f3 f4

    例5. 只转换行首 tab 为空格(指定为 8 字符宽度), 并删除尾部 tab 和空格:

    $ tab2sp -p -t -l f1 f2 f3 f4

    例6. 批量转换查找(包含子目录)到的所有文件, 命令可以自由组合:

    $ find src -name “*.c” | xargs tab2sp -l -v -w8 -p

    convert ‘tab’ to ‘space’ format …

    src/csp2bin.c

    src/tab2sp.c

    src/fbin.c

    src/win2unix.c

    Windos 命令如下命令, 会得到相同结果:

    E:\> for /F %I in (‘dir /w /b /s /A:-D src/*.c’) do tab2sp -l -v -w8 -p %I

    文章评论

    展开全文
  • 首先明确的是:Klobuchar模型计算的是天顶星下点这条“线段”的延迟,最后求出后,还需要利用倾斜因子/天顶角正割进行转换。 如图1所示Klobuchar模型采用了单层电离层模型,即把电离层的所有自由电子看作位于高度H...

    基础知识:

    天顶角/Zenith Angle:光线入射方向和天顶方向的夹角;英文解释:The zenith angle is the angle between the zenith line(pointing straight up) and the direction to the sun (Satellite)。

    高度角:太阳光的入射方向和地平面之间的夹角。

    方位角:太阳/卫星方位角即太阳所在的方位,指太阳光线在地平面上的投影与当地子午线的夹角。

    一、电离层

           电离层是高度在60~1000KM的大气层,由于太阳紫外线、γ射线等光线的照射导致中性分子被电离,产生正负离子,形成了电离层区域。导致电磁波信号的传播速度发生变化,即产生电离层延迟。

           电磁波在电离层中传播的相速度(单一频率的电磁波的相位的传播速度)Vp与电离层中的相折射率np之间有下列关系:

    式中,c为真空中的光速。而相折射率np可表示为: 

    Ne:电子密度,即单位体积中所含的电子数,常用电子数/m3或电子数/cm3来表示;
    m:电子的质量,m=9.1096×10-31kg;
    e:电子所带的电荷值,e=1.6022×10-19c;
    ε0:真空中的介电系数,ε0=8.8542×10-12F/m;
    H0:地磁场的磁场强度;
    μ0:真空中的磁导率;
    θ:地磁场的方向与电磁波信号传播方向间的夹角;
    f:电磁波信号的频率

    忽略上式中的最后两项,简化公式如下:

    对GPS卫星信号而言,上式中第二项(f-2项)的值一般为10-6~10-7。故有(约等于下式):

     

    1、延迟计算公式

    载波相位在电离层传播速度为相速度,即Vp

    伪距在电离层传播速度为群速度,即Vg;

    由于存在电离层延迟,从卫星到接收机的几何距离P为:

    载波:

    伪距:

    既:电离层距离延迟改正Vion与总电子含量TEC间有下列关系;(TEC在下面介绍)

    电离层延迟,单位:距离:

    电离层延迟,单位:时间:

     

    2、电子密度Ne与总电子含量TEC

    电子密度Ne(单位体积中所含的电子数)与高程、时间的关系;

    其中:总电子含量TEC与NE的关系如下:

          总电子含量TEC即为沿卫星信号传播路径s对电子密度Ne进行积分所获得的结果,也即底面积为一个单位面积沿信号传播路径贯穿整个电离层的一个柱体中所含的电子数,通常以电子数/m2或电子数/cm2为单位。此外,我们以10^16个电子/m^2作为TEC的单位,并将它称为1TECU。

           对同一电离层而言,从某一测站至各卫星的方向上的TEC值是不相同的。卫星的高度角h越小。卫星信号在电离层中的传播路径就越长,TEC的值就越大。在该站所有的TEC值中有一个最小值,即天顶方向(h=90°)的总电子含VTEC(VerticalTotalElectronContent)。VTEC与高程和卫星高度角均脱离了关系,可以反映测站上空电离层的总体特征,所以被广泛应用。

    3、电离层模型和经验改正公式

    此处重点介绍卫星广播星历中使用的Klobuchar/克罗布歇模型

    1、计算公式  单位:时间/s

           这是一个被单频GPS用户所广为采用的电离层延迟改正模型。该模型将晚间的电离层时延视为常数,取值为5ns,把白天的时延看成是余弦函数中正的部分。于是天顶方向调制在L1载波(f=1575.42MHz)上的测距码的电离层时延Tg可表示为:

    振幅A和周期P分别为:

    2、计算方法:

           此模型在计算电离层延迟时,将整个电离层压缩为一个单层,整个电离层中的自由电子都集中在该单层上,称为中心电离层。中心电离层离地面的高度通常取359km。

    首先明确的是:Klobuchar模型计算的是天顶星下点这条“线段”的延迟,最后求出后,还需要利用倾斜因子/天顶角正割进行转换。

           如图1所示Klobuchar模型采用了单层电离层模型,即把电离层的所有自由电子看作位于高度H(350一400km)厚度忽略的单层球壳上.把GPS卫星和用户P的连线与电离层的交点称作信号穿刺点Q‘,其星下点为Q;P与Q点的地心角用 φ 表示,GPS卫星对于用户P点的地平高度角为h;广播星历中发播的天顶电离层改正的参数的 α 和 β 值,是对于星下点Q的天顶而言的(既QQ'方向)。

    • 计算用户P与穿刺点Q‘的地心角φ;
    • 计算穿刺点的星下点Q的地理/地心经纬度φQ,λQ;
    • 将星下点Q的地理纬度换算为地磁纬度;
    • 换算穿刺点的星下点Q处的地方时tQ;
    • 计算单频信号的电离层天顶延迟T‘;
    • 利用倾斜因子计算信号实际路径的电离层延迟 单位:时间/s

    4、双频改正模型

    由一下两式可知,伪距和载波电离层延迟(单位:米),卫星信号所受到的电离层延迟是与信号频率f的平方成反比的

    双频伪距无电离层表达式:

    噪声为:

    设测码伪距观测值ρ′1和ρ′2的测量噪声分别为m1和m2,则经双频电离层改正后的距离ρ的噪声将扩大为:

    如果,m1=m2;则m=3*m1;即噪声扩大三倍

    GNSS中多频观测值的组合形式

    对于载波相位的双频无电离层模型,参考上述链接;

    同时,由于双频无电离层延迟组合观测值,整周模糊度非整数,所以通过构建方程,进行变换,得到以L1载波整周模糊度和宽巷模糊度组合形式。

    5、顾及信号在卫星内的时延差后的电离层延迟改正公式

    也就是Tgd项,关于详细的描述详见《GPS测量与数据处理》第二版,P61;

    6、利用GNSS双频观测资料建立VTEC模型

           利用双频观测值不但可确定不同频率的观测值所受到的电离层延迟进而消除其影响,而且可测定穿刺点(卫星信号传播路径与中心电离层的交点)上的VTEC值。

    几种VTEC模型

    1、IGS所提供的VTEC格网图;

    2、CODE的球谐函数模型;

    7、利用三频观测量进行电离层延迟改正

    二、对流层延迟

    1、对流层延迟分析      

    卫星导航定位中的对流层延迟通常是泛指电磁波信号在通过高度在50km以下的未被电离的中性大气层时所产生的信号延迟。对流层延迟 80%~90% 是由于大气中干燥气体引起的,称为干分量;其余10%~20%是由水蒸气引起的,称为湿分量。

    对流层延迟随对流层折射率而变 , 折射率取决于当地的温度、压力和相对湿度。对流层延迟引起的路径长度差用折射率表示为

    上式中的积分是沿信号传播的路径,这里定义N为折射率。Nd、Nw分别定为在标准海平面的干燥分量折射率和潮湿折射率,与大气的压力、温度和湿度有如下近似关系

    式中,P0为在标准海平面干燥分量的大气压力(mbar);Tk为在标准海平面的绝对温度,Tk=Tc+273.2(K);e0为在标准海平面的水蒸气分压力(mbar);a1、a2、a3为经验常数,分别是-12.92K/mbar和371.90K2/mbar。

    2、对流层延迟修正

    目前对对流层延迟有多种数学模型,这些模型一般都包括两步操作:

    第一步:对天顶路径的对流层延迟进行估计;

    第二部:对不同仰角下的路径延迟乘上一个倾斜因子/F;

    典型的对流层延迟修正模型有霍普菲尔德(Hopfield)模型和萨斯塔莫宁(Saastamoinen)模型
    两个模型求出的对流层延迟均为(沿天顶方向电磁波传播路径延迟/sin(E)),即信号传播路径上的对流层延迟。
    一般都采用标准气象元素法进行对流层延迟修正;

    详情见P112 《GPS测量与数据处理》

    此处,以RTKLIB代码为例,采用的是 Saastamoinen模型

    标准大气层模型可以表示为:

    其中 h 是海拔高度,hrel​ 是相对湿度,p 为大气压力,e 为大气中的水汽压力,T 为大气温度。

    一般对流层模型中,将对流层天顶总延迟(ZTD:Zenith Total Delay)分为对流层静力学延迟(ZHD:Zenith Hydrostatic Delay)和对流层湿延迟(ZWD:Zenith Wet Delay)。静力学延迟约占总延迟量的90%,可以通过实测气压和气温来计算,而湿延迟影响因素较多,不太容易估算。
    根据 Saastamoinen 模型,对流层延时 Tr​ 可以表示为静力学延迟 Th​ 与 湿延迟 Tw​ 的和:

    其中 z=π/2−el 为天顶角,el 为卫星仰角。

    下面摘录了 RTKLIB 中用 Saastamoinen 模型计算对流层延时的函数代码,可以跟以上公式进行一一对应。需要注意的是计算时的单位换算,azel[0], azel[1]分别是方位角和仰角,pos[0], pos[1]分别是接收机纬度和经度,它们的单位都是弧度,pos[2]为接收机高度,单位为米。

    /* troposphere model -----------------------------------------------------------
    * compute tropospheric delay by standard atmosphere and saastamoinen model
    * args   : gtime_t time     I   time
    *          double *pos      I   receiver position {lat,lon,h} (rad,m)
    *          double *azel     I   azimuth/elevation angle {az,el} (rad)
    *          double humi      I   relative humidity
    * return : tropospheric delay (m)
    *-----------------------------------------------------------------------------*/
    extern double tropmodel(gtime_t time, const double *pos, const double *azel,
                            double humi)
    {
        const double temp0=15.0; /* temparature at sea level */
        double hgt,pres,temp,e,z,trph,trpw;
    
        if (pos[2]<-100.0||1E4<pos[2]||azel[1]<=0) return 0.0;
    
        /* standard atmosphere */
        hgt=pos[2]<0.0?0.0:pos[2];
    
        pres=1013.25*pow(1.0-2.2557E-5*hgt,5.2568);
        temp=temp0-6.5E-3*hgt+273.16;
        e=6.108*humi*exp((17.15*temp-4684.0)/(temp-38.45));
    
        /* saastamoninen model */
        z=PI/2.0-azel[1];
        trph=0.0022768*pres/(1.0-0.00266*cos(2.0*pos[0])-0.00028*hgt/1E3)/cos(z);
        trpw=0.002277*(1255.0/temp+0.05)*e/cos(z);
        return trph+trpw;
    }
    

     

    3、高精度GPS测量时所用的对流层延迟改正方法

    1、将对流层延迟当作待定参数

    指的是测站天顶方向对流层延迟,为待定参数;总共一个参数。

    2、采用随机模型

    4、投影函数

    信号传播路径上的对流层延迟STD与测站天顶方向的对流层延迟ZTD间有下列关系:

    STD=m*ZTD;

    m称为投影函数,它是卫星高度角E以及其他一些因素的函数。

    其中,投影函数大体分为两类:

    • 利用以前的观测资料建立起来的经验模型;

    代表为:NMF模型、GMF模型;

    • 需要实际气象资料的模型;

    代表为:VMF1模型;

     

    参考:

    1、《GPS测量与数据处理》

    2、《Klobuchar模型的解读》

    3、《GPS定位误差中对流层延迟的分析》

    4、电离层、对流层改正模型对基线解算的影响

    5、电离层TEC建模的基本理论与方法

    6、《GPS定位中4种对流层延迟修正模型适应性分析》

    展开全文
  • 多媒体娱乐中广泛使用的艺术视频风格化将给定的视频转换为不同的艺术风格。 现有的大多数视频样式化算法都可以模拟单个或有限的视频艺术风格。 尽管某些算法可以实现多种样式的视频处理,但是这些算法复杂且难以实现...
  • 关于变量ϕ\phiϕ的输运方程, ∂(ρϕ)∂t+∇⋅(ρϕu)=∇⋅(Γ∇ϕ)+Sϕ(1) \frac{\partial (\rho \phi)}{\partial t}+ \nabla \...省略时间项就是稳态的对流扩散方程, ∇⋅(ρϕu)=∇⋅(Γ∇ϕ)+Sϕ(2) \nabla \
  • 平流层 关于 通过Troposphere从xls到CloudFront。 (正在建设中-缺少文档) 用法:stratosphere.py文件-工作表工作表如果未引入工作表... 对流层的任何服务(使用缩写)都会创建一个对象,将其添加到模板中,并且以后
  • 分享|对流层延迟、电离层延迟、重力数据下载方式 总结了一些常用的数据下载地址。 对流层延迟 CDDIS中心: https://cddis.nasa.gov/Data_and_Derived_Products/GNSS/atmospheric_products.html NASA的空间测量数据...
  • 1. 利用dbms_lob.substr()方法可将对应字段转换成字符串如下select dbms_lob.substr(content) from NEWS该方法有个缺点,当content字段长度超过某个值时,会报错。2.获取Clob对象,在Java中通过对流处理获取字段内容...
  •  有些制造厂商提供了特定的磁心计算图表,作为磁心尺寸选择的推荐建议,同时提供了关于对流冷却、工作频率、温升等关系曲线。  图1所示为一个20~30 kHz工作频率,温升△T=30℃,硅N27铁氧体材料制成的磁心传输...
  • 辐射和对流模型 Fluent 参数设置 1. 读入 .mesh 文件并对网格文件进行进行检查 Grid cheek主要看最小 体积和最小面积不能为负之后进行刻度转换 Grid scale在 Gmbit 里面建 模默认尺寸为米与实际尺寸之间要进行转化如...
  • 辐射和对流模型 Fluent 参数设置 读入 .mesh 文件并对网格文件进行进行检查 Grid cheek主要看最小体积和最小面积不能为负之后进行刻度转换 Grid scale在 Gmbit 里面建模默认尺寸为米与实际尺寸之间要进行转化如下图 ...
  • 一维纯对流方程代码

    2021-04-21 09:45:18
    小乌龟学河流数值模拟 一维纯对流方程的求解过程 问题描述 解析解 数值解 迎风格式求解 特征线法求解 算例工况与计算结果 敏感性分析 浓度分布均匀性的影响(不算敏感性,单纯考虑对数值求解精度的影响) 库朗数影响...
  • 辐射和对流模型 Fluent参数设置 读入.mesh文件并对网格文件进行进行检查 Grid rcheek ,主要看最小体 积和最小面积不能为负之后进彳亍刻度转换 Gridtscale,在Gmbit里面建模默认 尺寸为米与实际尺寸之间要进行转化如下...
  • 首先采用坐标变换方法将原方程由物理空间的非均匀网格转换为计算空间的均匀网格,然后给出一阶导数和二阶导数在均匀网格上的中心差分逼近式,并结合变换后的方程,得到了定常对流扩散反应方程具有四阶精度的紧致差分...
  • 我们从最近引入的球对称测地流体... 该ODE可以改写为Lienard微分方程,但是可以将其转换为第一种有理Abel微分方程。 最后,我们列出了一些开放的数学问题,并概述了可能的物理应用(银晕,暗能量星)和相关的开放问题。
  • Flink DataStream 转换

    2020-10-14 18:02:28
    一.简介 基本转换做一个概述,基于...对流中的事件进行重新组织的分发转换。 二.基本转换 map 用一个数据元生成一个数据元。一个map函数,它将输入流的值加倍: DataStream<Integer> dataStream = //... dataS
  • 本文应用平滑滤波的方法分离天气尺度和次天气尺度系统。选取同一暴雨过程中的两个时次,计算暴雨系统中这两个时次的天气尺度和次天气尺度系统间的位势转换量。...最大转换层均发生在对流层顶200-100hPa上。
  • 【单选题】当一种产品的生产存在着正外部性时。 【单选题】固定节拍流水施工的特点是( )。 【判断题】流体在弯管内流动,由于离心力作用使流动在流道内外侧之间形成... 【多选题】以下影响对流换热的是 __ 。 【单选题】
  • 往上翻看读取Kafka的代码,这边返回的类型是DataStreamSource DataStreamSource<String> lines = env.addSource(kafkaSource) 查看DataStreamSource类图 说明上面代码也可以写成下面这样,对流数据lines的操作,...
  • Spark Streaming-Dstream转换

    千次阅读 2019-11-21 16:22:11
    DStream上的原语与RDD的类似,分为Transformations(转换)和Output Operations(输出)两种,此外转换操作中还有一些比较特殊的原语,如:updateStateByKey()、transform()以及各种Window相关的原语。 1.无状态...
  • 本文对Tzeghai [1]等大分子传质...计算结果表明,对于转换数大于1%,对流影响较大,特别是对于薄的动脉壁,对流影响不能忽略。说明了实验上所观察到的人工诱导的广泛的细胞损伤所产生的吸收量增加很大可能由于对流的作用。
  • 假定自由对流是由浮力引起的,并且整个空间内的内部热源呈指数衰减。 动态粘度被认为是恒定的,并且假定该特定流体模型的热导率随温度线性变化。 热分层已适当地并入控制方程式中,以便可以揭示和适当报告其影响。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,589
精华内容 6,635
关键字:

对流转换