<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>atppp&#039;s Blog &#187; time</title>
	<atom:link href="http://blog.wuxinan.net/archives/tag/time/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.wuxinan.net</link>
	<description></description>
	<lastBuildDate>Tue, 08 Dec 2009 08:20:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>电脑对时</title>
		<link>http://blog.wuxinan.net/archives/123</link>
		<comments>http://blog.wuxinan.net/archives/123#comments</comments>
		<pubDate>Sun, 30 Sep 2007 23:25:47 +0000</pubDate>
		<dc:creator>atppp</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[ntp]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://blog.wuxinan.net/archives/123</guid>
		<description><![CDATA[为什么电脑要对时？因为电脑自己的钟不准。破电脑一天慢五分钟也不奇怪。 对时需要对到什么精度？一般家用的电脑时钟误差一分钟完全可以接受。集群服务器配合工作一般需要所有的时钟同步在一秒之内。 和谁同步？一般是和世界各地的 NTP （Network Time Protocol）服务器同步的。米国标准时间由 NIST 发布，NIST 提供了一些服务器。现代 Windows 操作系统自动和 time.windows.com 对时。Linux 下面一般用 NTPPool 来自动选择服务器。中国国家授时中心 NTP 210.72.145.44 是中国权威时间。中国教育网有自己的 NTP 服务器网。如果是集群服务器，一般会在内网配置几个本地 NTP 服务器。 上面这么多 NTP 服务器有没有优劣呢？有的，但是对于一般的应用来说，看不出什么区别。 理论上说，NTP 服务器是分等级（Stratum）的，Stratum = 1 的 NTP 服务器是直接和世界标准时钟同步的，包括 GPS 时间、铯原子钟、某些手机网络等。NIST、中国国家授时中心和中国教育网的第一级时间服务器都是这个级别的。Stratum = 2 的 NTP 服务器是和 Stratum = 1 的服务器同步的，性能稍差，但精确度也在毫秒的量级，所以用起来没什么区别。再往下每同步一级，Stratum 就加一。 Windows 2000 开始包含了自动时间同步的服务。Windows XP 上，打开时间设置就有网络对时的设置。默认是每星期和 time.windows.com 对时一次。这个一星期同步一次太长了，可以通过注册表调整，或者用 Wits 修改。值得注意的是 [...]]]></description>
			<content:encoded><![CDATA[<p>为什么电脑要对时？因为电脑自己的钟不准。破电脑一天慢五分钟也不奇怪。</p>
<p>对时需要对到什么精度？一般家用的电脑时钟误差一分钟完全可以接受。集群服务器配合工作一般需要所有的时钟同步在一秒之内。</p>
<p>和谁同步？一般是和世界各地的 NTP （Network Time Protocol）服务器同步的。米国标准时间由 NIST 发布，NIST 提供了一些<a href="http://tf.nist.gov/service/time-servers.html">服务器</a>。现代 Windows 操作系统自动和 time.windows.com 对时。Linux 下面一般用 <a href="http://support.ntp.org/bin/view/Servers/NTPPoolServers">NTPPool</a> 来自动选择服务器。中国国家授时中心 NTP 210.72.145.44 是中国权威时间。中国教育网有自己的 <a href="http://time.edu.cn/mem.htm">NTP 服务器网</a>。如果是集群服务器，一般会在内网配置几个本地 NTP 服务器。</p>
<p>上面这么多 NTP 服务器有没有优劣呢？有的，但是对于一般的应用来说，看不出什么区别。 理论上说，NTP 服务器是分等级（Stratum）的，Stratum = 1 的 NTP 服务器是直接和世界标准时钟同步的，包括 GPS 时间、铯原子钟、某些手机网络等。NIST、中国国家授时中心和中国教育网的第一级时间服务器都是这个级别的。Stratum = 2 的 NTP 服务器是和 Stratum = 1 的服务器同步的，性能稍差，但精确度也在毫秒的量级，所以用起来没什么区别。再往下每同步一级，Stratum 就加一。</p>
<p>Windows 2000 开始包含了自动时间同步的服务。Windows XP 上，打开时间设置就有网络对时的设置。默认是每星期和 time.windows.com 对时一次。这个一星期同步一次太长了，可以通过注册表调整，或者用 <a href="http://www.anobyte.com/wits/index.htm">Wits</a> 修改。值得注意的是 Windows XP 是带 ntp server 的，只要调整注册表就可以给别的机器对时，Wits 也可以帮你修改这个。</p>
<p>Linux 下面的 ntpd 就要灵活多啦。默认配置一般足够好用。下面在 Fedora 下举个例子。配置：</p>
<pre># grep "^server" /etc/ntp.conf
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server pool.ntp.org
server  127.127.1.0 # local clock</pre>
<p>启动 ntpd 之后查看状态</p>
<pre># ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 64.25.87.54     128.118.25.5     2 u   10   64   17   79.194  -542.89   1.942
 64.72.116.51    129.7.1.66       2 u    9   64   17   51.569  -532.23   1.803
 64.72.116.50    129.7.1.66       2 u   11   64   17   51.417  -516.70   1.417
 64.72.116.45    129.7.1.66       2 u    7   64   17   51.586  -532.36   1.135
*127.127.1.0     LOCAL(0)        10 l    3   64   17    0.000    0.000   0.001</pre>
<p>st 这列显示自动选的四个 NTP 服务器都是 Stratum = 2。最后一个是本地时钟。前四行的 offset 显示本地时钟和四个 NTP 服务器都有大概 500 毫秒的差距。ntpstat 显示目前只和本地时钟同步：</p>
<pre># ntpstat
synchronised to local net at stratum 11
   time correct to within 949 ms
   polling server every 64 s</pre>
<p>过一会再看：</p>
<pre># ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+64.25.87.54     128.118.25.5     2 u   56   64  377   78.548  250.871  37.180
+64.72.116.51    129.7.1.66       2 u   58   64  377   51.551  268.538  36.817
*64.72.116.50    129.7.1.66       2 u   58   64  377   51.539  274.497  36.629
+64.72.116.45    129.7.1.66       2 u   49   64  377   51.485  271.750  37.841
 127.127.1.0     LOCAL(0)        10 l   44   64  377    0.000    0.000   0.001
# ntpstat
synchronised to NTP server (64.72.116.50) at stratum 3
   time correct to within 263 ms
   polling server every 64 s</pre>
<p>本地时钟已经成功和外面的 NTP 服务器同步。ntpq 报告中第一列 * 表示目前选择的主同步服务器，标 + 的表示有可能被用来进一步提高同步精度的次要服务器。因为是和 Stratum = 2 的服务器同步，所以本地的 ntpd Stratum 就是 3 了。一个细节是 ntpq 对时钟是慢慢调整的，而不是直接跳好多秒，这样平滑的调整时间可以保证很多程序的流程平稳。不过，如果时钟误差过大，ntpd 可能会拒绝调整时间；或者有人也可能希望立刻调正时间，这样的话可以直接执行命令：ntpdate -b pool.ntp.org（需要停掉 ntpd 服务执行）。</p>
<p>在我另一个服务器上，配置了好多 NTP 服务器：</p>
<pre># grep "^server" /etc/ntp.conf
server time-a.nist.gov
server time-b.nist.gov
server time.nist.gov
server time.windows.com
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server pool.ntp.org
server  127.127.1.0 # local clock
# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+time-a.nist.gov .ACTS.           1 u   61  128  377   76.113   -1.046   3.424
*time-b.nist.gov .ACTS.           1 u   65  128  377   81.063    0.398   1.892
-time.nist.gov   .ACTS.           1 u  251  128  356   38.911    1.353  30.226
-time.windows.co 18.26.4.105      2 u   45  128  267   31.218   13.180   6.039
-194.109.64.200  192.87.106.2     2 u  122  128  377  155.132    0.596  38.674
-a.mirror.fizzel 43.75.42.44      3 u   56  128  377  163.391  -11.756  13.006
-enfield.ikk.szt 195.111.99.186   2 u  118  128  377  188.326   -2.520  32.359
+ntp1.esat.net   .GPS.            1 u   59  128  377  161.103   -1.321   0.460
 LOCAL(0)        .LOCL.          10 l   48   64  377    0.000    0.000   0.001</pre>
<p>标注 &#8211; 的是那些相对来说不太准的钟（offset 或 jitter 偏大），自动被剔除了。从 delay 这里可以看到，我这里和 NIST 几个钟网络延迟比较小（100 毫秒之内），一般这样的钟误差小一些。倒数第二个 pool.ntp.org 选择的是一个和 GPS 同步的钟，Stratum = 1，是一个比较准的钟了，只是网络延迟稍大。同时可以看到 time.windows.com 的 Stratum = 2，在一年以前，它曾经是 6。堂堂国际大公司微软也不花几百块钱买个 GPS 接收器建一个 Stratrum = 1 的时钟服务器造福千千万万的 windows 用户，真是不可理解。</p>
<p>最后，linux 下防火墙规则如果极严格的话可能会影响 ntpd 对时，打开 sport 123 即可（假设 OUTPUT 链全 ACCEPT）：</p>
<pre>iptables -I INPUT -p udp -m udp --sport 123 -j ACCEPT</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuxinan.net/archives/123/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>时间是什么？（续三）</title>
		<link>http://blog.wuxinan.net/archives/118</link>
		<comments>http://blog.wuxinan.net/archives/118#comments</comments>
		<pubDate>Sat, 29 Sep 2007 06:22:49 +0000</pubDate>
		<dc:creator>atppp</dc:creator>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[tai]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[utc]]></category>

		<guid isPermaLink="false">http://blog.wuxinan.net/archives/118</guid>
		<description><![CDATA[第一篇讲到 1967 年国际通过了新的时间标准，使用原子钟来规定一秒钟的长度，直到现在这仍旧是最精确的计时方法。不过，规定了这个，谁来统一全世界的时间呢？换句话说，哪一个原子钟作为世界标准时间呢？在如此多元化的世界里，当然谁也不可能服谁的。当初格林威治天文台被搞成了标准 0 度经线，大家就憋了一肚子气，凭什么一个小英国就是地球经线标准……原子钟这里，大家也都学乖了，说哪里的原子钟都不是标准，世界上所有到一定级别的原子钟都合起来做一个加权平均，这样算出来的时间作为世界原子钟时间标准（International Atomic Time，缩写为 TAI，缩写来自法语 Temps Atomique International）。目前世界上有 300 多个原子钟参与 TAI。这样的好处是原子钟可以互相比较剔除不准的钟，坏掉几个原子钟也不太会影响人类计时标准。 TAI 建立以后，很多物理学家都很高兴，人类终于有很准确的钟了。就像二十世纪初的物理学一样，当时有些人认为人类已经找到了终极的计时方法，这个领域已经没什么好研究的了，将来要做的也就是修修补补，利用新技术提高精度而已。到了 80 年代，有人发了一篇论文，说原子钟因为不是工作在绝对零度，所以原子钟本身的黑体辐射会造成一定的误差。结果大家一算，好家伙，所有的原子钟都要作巨大的修正。到了 90 年代，随着原子钟精度的提高，人们发现这个黑体辐射修正还是相当难算的，有一些可怜的原子钟因为设计不良算不准这个修正就被踢出了 TAI。如今，这个黑体辐射修正已经成为铯原子钟的主要误差之一。 TAI 的计时精度比天文测量要高很多，而且测量也很快。天文方法校正时间需要测量一年的天象，而铯原子钟只要测量几个星期就可以到极高的精度。大部分人对 TAI 很满意，但天文学家们就很不爽了，凭什么他们研究了几百年的计时标准突然就被一个才十多年的年轻领域给取代了。于是他们扯皮、抬杠，开国际会议大吵大闹，并举例说因为地球越跑越慢了，如果按照当时的 TAI 标准，过几千年后太阳到天顶的时间就会是子夜而不是正午了。天文学家这么吵起架来还是很难搞的，于是最后大家只好妥协一下，搞出一个协调世界时（也叫国际协调时）。规定协调世界时缩写的时候，英语国家的人说用 CUT (coordinated universal time)，法语国家的人说用 TUC (temps universel coordonné)，结果这个事情照样也是谁也打不赢谁，只要再妥协一次，把两个中和一下，缩写叫做 UTC。 当时根据天文观测规定的时间叫做 UT1 (Universal Time)，UTC 就是把 TAI 和 UT1 综合一下。UTC 在 1958 年对准到 UT1，这之后 UTC 平时走时按照 TAI 来走，但是一个叫国际地球自转服务（International Earth Rotation [...]]]></description>
			<content:encoded><![CDATA[<p>第一篇讲到 1967 年国际通过了新的时间标准，使用原子钟来规定一秒钟的长度，直到现在这仍旧是最精确的计时方法。不过，规定了这个，谁来统一全世界的时间呢？换句话说，哪一个原子钟作为世界标准时间呢？在如此多元化的世界里，当然谁也不可能服谁的。当初格林威治天文台被搞成了标准 0 度经线，大家就憋了一肚子气，凭什么一个小英国就是地球经线标准……原子钟这里，大家也都学乖了，说哪里的原子钟都不是标准，世界上所有到一定级别的原子钟都合起来做一个加权平均，这样算出来的时间作为世界原子钟时间标准（International Atomic Time，缩写为 TAI，缩写来自法语 Temps Atomique International）。目前世界上有 300 多个原子钟参与 TAI。这样的好处是原子钟可以互相比较剔除不准的钟，坏掉几个原子钟也不太会影响人类计时标准。</p>
<p>TAI 建立以后，很多物理学家都很高兴，人类终于有很准确的钟了。就像二十世纪初的物理学一样，当时有些人认为人类已经找到了终极的计时方法，这个领域已经没什么好研究的了，将来要做的也就是修修补补，利用新技术提高精度而已。到了 80 年代，有人发了一篇论文，说原子钟因为不是工作在绝对零度，所以原子钟本身的黑体辐射会造成一定的误差。结果大家一算，好家伙，所有的原子钟都要作巨大的修正。到了 90 年代，随着原子钟精度的提高，人们发现这个黑体辐射修正还是相当难算的，有一些可怜的原子钟因为设计不良算不准这个修正就被踢出了 TAI。如今，这个黑体辐射修正已经成为铯原子钟的主要误差之一。</p>
<p>TAI 的计时精度比天文测量要高很多，而且测量也很快。天文方法校正时间需要测量一年的天象，而铯原子钟只要测量几个星期就可以到极高的精度。大部分人对 TAI 很满意，但天文学家们就很不爽了，凭什么他们研究了几百年的计时标准突然就被一个才十多年的年轻领域给取代了。于是他们扯皮、抬杠，开国际会议大吵大闹，并举例说因为地球越跑越慢了，如果按照当时的 TAI 标准，过几千年后太阳到天顶的时间就会是子夜而不是正午了。天文学家这么吵起架来还是很难搞的，于是最后大家只好妥协一下，搞出一个协调世界时（也叫国际协调时）。规定协调世界时缩写的时候，英语国家的人说用 CUT (coordinated universal time)，法语国家的人说用 TUC (temps universel coordonné)，结果这个事情照样也是谁也打不赢谁，只要再妥协一次，把两个中和一下，缩写叫做 UTC。</p>
<p>当时根据天文观测规定的时间叫做 UT1 (Universal Time)，UTC 就是把 TAI 和 UT1 综合一下。UTC 在 1958 年对准到 UT1，这之后 UTC 平时走时按照 TAI 来走，但是一个叫国际地球自转服务（International Earth Rotation and Reference Systems Service ，IERS）的组织有权在适当的时候在 UTC 里面加入闰秒，以保证 UTC 和 UT1 的差别永远在 1 秒钟之内。这个天文学家和原子物理学家协调出来的 UTC 时间，也就是我们日常所用的标准时间。闰秒一般是加在 6 月或者 12 月最后，下图就是最近几年 UT1 和 UTC 差距的变化，每个不连续的跳跃就是 UTC 加入闰秒的地方。加了这么多闰秒，如今 2007 年 UTC 已经比 TAI 落后 33 秒了。</p>
<p><a title="leap second" href="http://blog.wuxinan.net/wp-content/uploads/2007/09/600px-leapsecondut1-utcsvg.png"><img src="http://blog.wuxinan.net/wp-content/uploads/2007/09/600px-leapsecondut1-utcsvg.png" alt="leap second" /></a></p>
<p>还有一个常听到的缩写是 GMT (Greenwich Mean Time)，这个理论上应该是 UT1 的前身，但是因为现在概念混淆，很多时候 GMT 被认为是 UTC 的同义词。另外，GPS 时间的精度要求在纳秒级，随便跳一个闰秒那就完全乱套了，70 年代末第一颗 GPS 卫星上天，GPS 时间对准了当时的 UTC（当时比 TAI 慢 19 秒），从那以后 GPS 时间走时按照 TAI 来走，完全不考虑闰秒，所以 GPS 时间永远比 TAI 慢 19 秒。由于 GPS 时间不会随便跳闰秒，而且也可以很方便的获得，所以现在有一些对时间序列要求高的系统采用的是 GPS 时间而不是 UTC，比如某些手机网络。不过，现代 GPS 信号也会很厚道的包含 UTC 和 GPS 时间相差的秒数，所以地面接收器可以用 GPS 信号来对 UTC 时间，实际上，这就是目前最准确的 UTC 时间传播方式。</p>
<p>讲完了。参考资料：</p>
<ul>
<li><a href="http://www.allanstime.com/Publications/DWA/Science_Timekeeping/">The Science of Timekeeping</a></li>
<li>Pratap Misra and Per Enge, <a href="http://www.gpstextbook.com/"><em>Global Positioning System: Signals, Measurements, and Performance</em></a>, 2nd Edition</li>
<li>General Internet resources, particularly <a href="http://www.wikipedia.org/">Wikipedia</a>, <a href="http://www.howstuffworks.com/">HowStuffWorks</a>.</li>
</ul>
<p>&gt;&gt; <a href="http://blog.wuxinan.net/archives/106">序言</a> <a href="http://blog.wuxinan.net/archives/110">续一</a> <a href="http://blog.wuxinan.net/archives/113">续二</a> <strong>续三</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuxinan.net/archives/118/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>时间是什么？（续二）</title>
		<link>http://blog.wuxinan.net/archives/113</link>
		<comments>http://blog.wuxinan.net/archives/113#comments</comments>
		<pubDate>Mon, 24 Sep 2007 08:58:21 +0000</pubDate>
		<dc:creator>atppp</dc:creator>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://blog.wuxinan.net/?p=113</guid>
		<description><![CDATA[以前讲到计时的基本方法就是找一个有稳定周期的东西，然后数周期。天体的周期运动因为每个人都看得见，也无法改变，所以很容易有共识，也几乎个个周期都有对应的时间单位。 首先是“天”。这个是地球自转一周，白天黑夜交替的周期。 一天是 24 小时，或者 1440 分钟。不过一个小细节是通常所说的“天”是指“太阳日”（Solar Day），也即太阳出现在同一视线的周期（右图 1 到 3），这和另一种“恒星日”（Sidereal Day，遥远恒星出现在同一视线的周期，右图 1 到 2）有微小的区别。如右图所示，由于地球公转方向和自转方向一致，恒星日比太阳日要稍短一些，具体短多少是一个初等物理习题，留作大家练习好了，哈哈。答案是大约要短 4 分钟。一般卫星参数都是用恒星座标系统，所以地球同步卫星的周期一般都是标示为 1436 分钟的。 然后是“年” 。这个是地球绕太阳跑一圈，四季变化的周期。很久很久以前，人们就发现一年的时间里地球并不自转整数圈，而大约是 365.25 圈。聪明的祖先们想出了每四年插一个闰年补一天的办法来解决这个分数问题。 还有一个是“月” ，这个最开始是从月亮圆缺变化来的，也就是月亮绕地球跑一圈的周期。这个周期有各类定义方法，比如恒星月（Sidereal Month，27.3 天），不过通常只有朔望月（Synodic month）是有历法意义的，因为它是月亮在地球看来两次对准太阳的周期，也是月亮圆缺变化的周期。很不巧，朔望月不是整数天，大概是 29.53 天。中国的农历历法是描述月亮圆缺的，所以只好有的月 30 天，有的月 29 天。更不巧的是，这样下来 12 个农历月，到一年还差大概 11 天，怎么办呢？只好每两三年插一个农历闰月来补缺这相差的天数，每 19 年大概有 7 个农历闰月。另外，农历闰月的位置是根据节气的一些特征来算的。其实这些都是有规律可循的，只不过这个农历闰月实在太难算所以一般人都认为是紫金山天文台随便规定的…… 无论如何，这样农历闰月的方法还是比较难搞，估计也只有少数中国人搞得清楚。后来从西方通行起来的公历历法，就完全不管什么月亮圆缺了，直接就每个月搞 30 天或者 31 天了事。至于闰年多的那一天为什么放在二月底，七月八月为什么连续两个大月之类的诡异问题，都可以去查 Gregorian calendar 的历史。好了，年月日讲完了，还有一个时间周期单位：星期。这个似乎就没有天体周期对应了，估计是从圣经来的，上帝造世界造了六天，然后休息了一天……当然也有别的渊源说法。 &#62;&#62; 序言 续一 续二 续三]]></description>
			<content:encoded><![CDATA[<p>以前讲到计时的基本方法就是找一个有稳定周期的东西，然后数周期。天体的周期运动因为每个人都看得见，也无法改变，所以很容易有共识，也几乎个个周期都有对应的时间单位。</p>
<p><a href="http://blog.wuxinan.net/wp-content/uploads/2007/09/300px-sidereal_day_prograde.png" title="sidereal and solar day"><img src="http://blog.wuxinan.net/wp-content/uploads/2007/09/300px-sidereal_day_prograde.png" alt="sidereal and solar day" align="right" /></a>首先是“天”。这个是地球自转一周，白天黑夜交替的周期。 一天是 24 小时，或者 1440 分钟。不过一个小细节是通常所说的“天”是指“太阳日”（Solar Day），也即太阳出现在同一视线的周期（右图 1 到 3），这和另一种“恒星日”（Sidereal Day，遥远恒星出现在同一视线的周期，右图 1 到 2）有微小的区别。如右图所示，由于地球公转方向和自转方向一致，恒星日比太阳日要稍短一些，具体短多少是一个初等物理习题，留作大家练习好了，哈哈。答案是大约要短 4 分钟。一般卫星参数都是用恒星座标系统，所以地球同步卫星的周期一般都是标示为 1436 分钟的。</p>
<p>然后是“年” 。这个是地球绕太阳跑一圈，四季变化的周期。很久很久以前，人们就发现一年的时间里地球并不自转整数圈，而大约是 365.25 圈。聪明的祖先们想出了每四年插一个闰年补一天的办法来解决这个分数问题。</p>
<p>还有一个是“月” ，这个最开始是从月亮圆缺变化来的，也就是月亮绕地球跑一圈的周期。这个周期有各类定义方法，比如恒星月（Sidereal Month，27.3 天），不过通常只有朔望月（Synodic month）是有历法意义的，因为它是月亮在地球看来两次对准太阳的周期，也是月亮圆缺变化的周期。很不巧，朔望月不是整数天，大概是 29.53 天。中国的农历历法是描述月亮圆缺的，所以只好有的月 30 天，有的月 29 天。更不巧的是，这样下来 12 个农历月，到一年还差大概 11 天，怎么办呢？只好每两三年插一个农历闰月来补缺这相差的天数，每 19 年大概有 7 个农历闰月。另外，农历闰月的位置是根据节气的一些特征来算的。其实这些都是有规律可循的，只不过这个农历闰月实在太难算所以一般人都认为是紫金山天文台随便规定的……</p>
<p>无论如何，这样农历闰月的方法还是比较难搞，估计也只有少数中国人搞得清楚。后来从西方通行起来的公历历法，就完全不管什么月亮圆缺了，直接就每个月搞 30 天或者 31 天了事。至于闰年多的那一天为什么放在二月底，七月八月为什么连续两个大月之类的诡异问题，都可以去查 Gregorian calendar 的历史。好了，年月日讲完了，还有一个时间周期单位：星期。这个似乎就没有天体周期对应了，估计是从圣经来的，上帝造世界造了六天，然后休息了一天……当然也有别的渊源说法。</p>
<p>&gt;&gt; <a href="http://blog.wuxinan.net/archives/106">序言</a> <a href="http://blog.wuxinan.net/archives/110">续一</a> <strong>续二</strong> <a href="http://blog.wuxinan.net/archives/118">续三</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuxinan.net/archives/113/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>时间是什么？（续一）</title>
		<link>http://blog.wuxinan.net/archives/110</link>
		<comments>http://blog.wuxinan.net/archives/110#comments</comments>
		<pubDate>Sat, 22 Sep 2007 06:20:16 +0000</pubDate>
		<dc:creator>atppp</dc:creator>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://blog.wuxinan.net/?p=110</guid>
		<description><![CDATA[上次说到最近几个世纪以来，人类对计时的要求越来越高了，那么到底是什么地方对计时有如此高的要求呢？这个问题问懂行的人，恐怕十个有九个会首先想到导航。 十五世纪左右，探险者开始出海远航，给自己的航船定位是一个很重要的问题。用仪器观测天象（太阳，月亮或者星星） 可以精确的测量纬度，可是由于地球自转，测量经度不但需要精确的天象观测，还需要一个精确的钟。在那个没有好钟的年代里面，海上导航是很困难的，导航失误常常导致海难。1707 年 Cloudesley Shovell 因为算错了自己的位置，和另外三艘军舰相撞，发生大海难，死了两千多个人，人们开始重视海上导航的问题。其实这次海难的原因主要是因为有雾看不见天象而算错了纬度，不过经度测量一直是最大的问题。牛顿在 1714 年指出： for determining the Longitude at Sea, there have been several Projects, true in the Theory, but difficult to execute: One is, by a Watch to keep Time exactly: But, by reason of the Motion of a Ship, the Variation of Heat and Cold, Wet and Dry, [...]]]></description>
			<content:encoded><![CDATA[<p>上次说到最近几个世纪以来，人类对计时的要求越来越高了，那么到底是什么地方对计时有如此高的要求呢？这个问题问懂行的人，恐怕十个有九个会首先想到导航。</p>
<p>十五世纪左右，探险者开始出海远航，给自己的航船定位是一个很重要的问题。用仪器观测天象（太阳，月亮或者星星） 可以精确的测量纬度，可是由于地球自转，测量经度不但需要精确的天象观测，还需要一个精确的钟。在那个没有好钟的年代里面，海上导航是很困难的，导航失误常常导致海难。1707 年 Cloudesley Shovell 因为算错了自己的位置，和另外三艘军舰相撞，发生大海难，死了两千多个人，人们开始重视海上导航的问题。其实这次海难的原因主要是因为有雾看不见天象而算错了纬度，不过经度测量一直是最大的问题。牛顿在 1714 年指出：</p>
<blockquote><p>for determining the Longitude at Sea, there have been several Projects, true in the Theory, but difficult to execute: One is, by a Watch to keep Time exactly: But, by reason of the Motion of a Ship, the Variation of Heat and Cold, Wet and Dry, and the difference of Gravity in different Latitudes, such a Watch hath not yet been made.</p></blockquote>
<p>制造钟表的人当然也不是吃素的。伽利略很早就制作出了单摆，并提出了用单摆做钟的可能性。1657 年 Christiaan Huygens 发明了第一个单摆钟，一天只走差 10 秒。我们一般用相对误差来表示钟表的准确度，这个钟的准确度就是 10秒/1天（86400秒）= 10<sup>-4</sup>。后来 1726 年 John Harrison 造了一个一个月只差一秒（4 x 10<sup>-7</sup>）的钟，不过正如牛顿指出的，船的运动和温湿度变化导致这些基于单摆的钟在船上都是不可能精确的。1714 年，英国政府的 The Board of Longitude 悬赏两万英镑奖励精度 30 海里的导航方案（Longitude Act）。这需要一个在船上一天只差三秒（3 x 10<sup>-5</sup>）的钟。结果还是这个 John Harrison，把他后半辈子的心血都用在了研制精确钟表上，最终造出了基于发条的计时器，1761 年在船上试用，一天只差一秒（10<sup>-5</sup>），并拿走了这个大奖。</p>
<p>在后来的几百年里，导航技术有了长足的进步，钟表制造虽然也发展了很多，但是在导航中的地位却越来越不重要了。历史总是会反复的，如今最先进的民用导航系统——全球定位系统（GPS），其核心技术之一就是卫星上的原子钟（主要是铯原子和铷原子做的钟）。这些原子钟的精度达到 10<sup>-13</sup>，比前面提到的几百年前的技术提高了好多个数量级。为什么又需要这么精确的钟？GPS 的基本原理就是三边定位，如果卫星位置已知，那么接收器只要测出到三颗卫星的距离就可以列三个方程把经度、纬度、高度三个未知数解出来。可是这里的问题是测量到卫星的距离是通过卫星广播信号的时间差来测的，这就需要所有卫星和地面接收器的时间高度同步。卫星还好说，可每个接收器都带一个原子钟那就太土鳖了。所以 GPS 真正的方案是，把 GPS 卫星上的时间也当作未知数，用四颗卫星信号列四个方程把经度、纬度、高度和 GPS 时间都算出来，这样接收器的成本就低很多了。可以看到，GPS 的核心除了高度精确的卫星轨道外，还有各个 GPS 卫星之间高度同步的时间。这个时间同步需要什么样的精度呢？GPS 的设计定位误差在 10 米左右，除以光速等于 30 纳秒，也就是说卫星之间的时间同步至少需要保持在 30 纳秒之内。现代 GPS 卫星的设计标准是可以几天才和地面对一次时，这样算下来就很明白了，30 纳秒除以 3 天，卫星上的原子钟的相对误差需要在 10<sup>-13</sup> 的量级。</p>
<p>10<sup>-13</sup> 是个什么概念？一百万年才差三秒钟……如果光看这句话，恐怕十个人有十个人会嘲笑说物理学家吃饱了撑的，要这么高的精度干啥？可是这恰恰就是 GPS 十米定位误差的核心。现在最先进的原子钟，也不过就是比 10<sup>-15</sup> 的精度稍强一些。历史证明，最近的几十年每十年原子钟的精度就提高十倍左右，而人们对计时标准的要求也是按照这个速度在发展。科学的前瞻性很深刻的体现出来了——这一代的科学就是下一代的技术。</p>
<p>不过，难道光一个 GPS 就可以把原子钟的研究捧上天了吗？其实，确实是的，GPS 已经深刻的改变了这个世界，远程通讯、航空摄影、交通工具跟踪控制、海陆空民用导航、捕捞搜救、地震监测、矿产勘探、资源管理、气象学、地质学、水文学、海洋学、时间控制、仪器校准……现代已经太多的科学技术依赖于 GPS 了。不知道依赖于这个米国国防部控制的系统是不是一件好事？</p>
<p>当然了，除了 GPS，精确的时间系统也在别的地方有很多应用，比方现代电力网的控制，通讯，医药，互联网控制，还有各类科学研究。就科学研究而言，现代科学技术能够最精确测量的物理量就是时间或者频率了，所以很多科学测量都转化成时间频率测量。另外，在可预见的将来，国际单位制系统也会全部基于时间频率测量来定义。长度单位“米”在 1983 年被定义为光在 1/299792458 秒内在真空中跑过的距离。如果没有精确的时间测量，长度测量的精度那就无从谈起了。</p>
<p>&gt;&gt; <a href="http://blog.wuxinan.net/archives/106">序言</a> <strong>续一</strong> <a href="http://blog.wuxinan.net/archives/113">续二</a> <a href="http://blog.wuxinan.net/archives/118">续三</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuxinan.net/archives/110/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>时间是什么？</title>
		<link>http://blog.wuxinan.net/archives/106</link>
		<comments>http://blog.wuxinan.net/archives/106#comments</comments>
		<pubDate>Wed, 19 Sep 2007 08:58:09 +0000</pubDate>
		<dc:creator>atppp</dc:creator>
				<category><![CDATA[Study]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://blog.wuxinan.net/?p=106</guid>
		<description><![CDATA[时间是什么？物理学家是不会研究这么无聊的哲学问题的。先看看费曼大师在《QED: The Strange Theory of Light and Matter》书中对精细结构常数的看法： It&#8217;s one of the greatest damn mysteries of physics: a magic number that comes to us with no understanding by man. You might say the &#8220;hand of God&#8221; wrote that number, and &#8220;we don&#8217;t know how He pushed His pencil.&#8221; We know what kind of a dance [...]]]></description>
			<content:encoded><![CDATA[<p>时间是什么？物理学家是不会研究这么无聊的哲学问题的。先看看费曼大师在《QED: The Strange Theory of Light and Matter》书中对精细结构常数的看法：</p>
<blockquote><p>It&#8217;s one of the <em>greatest</em> damn mysteries of physics: a <em>magic number</em> that comes to us with no understanding by man. You might say the &#8220;hand of God&#8221; wrote that number, and &#8220;we don&#8217;t know how He pushed His pencil.&#8221; We know what kind of a dance to do experimentally to measure this number very accurately, but we don&#8217;t know what kind of a dance to do on a computer to make this number come out &#8212; without putting it in secretly!</p></blockquote>
<p>再来看看 Fang 的《<a href="http://yunfang.net/fang/articles/ybj/ybj.html">中华第一系物理讲义页边集</a>》第二卷之林宗涵热力学统计物理讲义：</p>
<blockquote><p>58 年林宗涵到一个很土的化工工厂劳动，问那里的一个人如何理解熵，那人答，查一查表不就得了？</p></blockquote>
<p>说明什么道理呢？说明很多东西，知其然不知其所以然就可以了，没必要深究到底是什么。时间这个东西，也是一样的，物理学家关心的问题，只是怎么精确的测量时间，怎么有一个时间单位的共识；至于时间到底是啥子东西，那就让吃饱了饭没事干的哲学家们去意淫好了……</p>
<p>那么首先，时间如何测量呢？最直接的方法就是要有一个稳定周期的东西，这样只要数周期数目就可以了。以前的单摆就是数那个摆来回的次数，现代的石英钟呢，本质就是数那个石英振荡的次数。可是这些玩意儿每个人作出来都不一样，难以有世界范围的共识，那么怎么达成共识呢？人们想到了天体运动，这个玩意儿是不以人的意志而转移的。第一个真正意义上世界公认的时间单位标准就是 1960 年规定的地球绕太阳跑一圈儿的周期（一太阳年）为三千一百五十多万秒。（这个年到秒的换算关系我的记忆方法是，一纳世纪约等于圆周率秒：1 nano-century = π seconds 。这个记忆方法普遍认为是贝尔实验室的 Tom Duff 最先提出来的。）</p>
<p>其实，早在几百年前，人们就已经发现天体运动周期并不是很稳定。在太阳年规定之前，世界范围基本公认但没有达成真正共识的秒定义是用太阳日（地球自转周期）规定的。地球是个很无厘头的东西，一会儿跑得快，一会儿跑得慢，所以后来 1960 年开会，大家还是用稍微更稳定一些的太阳年来规定时间单位标准。当然，当时大家都知道地球公转是越来越慢了，所以那时候规定的太阳年，是用 1900 年那一年的太阳年。初初看来，这是一个无比弱智的定义，过都过去了，谁还能测量几十年前的太阳年。事实上，几百年前的天文测量已经相当精确，所以一百多年前人们就已经能预测出二十世纪太阳年长度的变化规律了。因此，要实践这个太阳年的标准，只要测量当年的太阳年并换算回 1900 年的就可以了。</p>
<p>无论如何，这种太阳年标准的规定还是很土鳖，抗议声也此起彼伏，于是原子物理学家就开始浑水摸鱼了。当时，原子物理的发展让人们有足够的能力驾驭原子。人们发现铯原子两个稳定基态之间的振荡频率是很稳定的、不受人的意志而转移的、可以很精确的测量的、而且更重要的是不会像地球一样无厘头会越振越慢的……于是 1967 年的时候开了一次大会，把这个振荡频率规定为了 9192631770 Hz。这个规定一直沿用至今，而且越来越多的研究表明，当初这个规定的选择极具前瞻性，现在的时间测量精度已经比当初进步了四五个数量级，而铯原子就是这么给面子，这么高的测量精度下仍旧看不出它那个振荡频率有什么不稳定……</p>
<p>&gt;&gt; <strong>序言</strong> <a href="http://blog.wuxinan.net/archives/110">续一</a> <a href="http://blog.wuxinan.net/archives/113">续二</a> <a href="http://blog.wuxinan.net/archives/118">续三</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.wuxinan.net/archives/106/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

