'
比相的方法,模拟电路的方法要a/d, 数字电路的办法分辨率不容易提高。还真不容易。
数字电路实现的电路分辨率最多到0.01us, 1秒时间累积不出可测的误差, 要累积很长时间才行。
直接用鉴相器比相10khz,取出误差电压,似乎更直接,就是需要高质量的元件和仔细的环路参数设计。 一般的异或鉴相器比较两个极为相近的频率,输出的脉冲会很窄,反映到误差电压上的变化极其微弱,a/d电路也要仔细考虑
'
这几天事情多,没怎么上网。刚好可以琢磨琢磨您的观点。
其实您说的测量精度问题也是我比较头痛的。这和做频率计一样。比如作等精度频率计,使用100mhz采样频率的话只有0.01us的精度,再高就要使用特殊技术了。就是说如果我们只是做一个0.01us精度的这种频率计的话,只需要一块速度足够的altera 7128或7256就可以实现全部频率计核心电路,只要能适配进芯片就可以。其他的外围电路无非就是用单片机实现长整数除法和人机界面之类(当然这略去了制作模拟部分的难度。要是想做更高精度的,就需要“误差放大器”。
如何放大呢?也无非就是我们前面贴子里提到的模拟内插电路还是模拟延迟线。不过这些电路的实现都很难,虽说模拟内插电路只是一个电容的快充慢放,可真要实现起来怕是要了俺老命了。

这大概就是一些高档频率计里面的模拟内插芯片全部贵得上天的原因。
所幸的是gps驯服钟可以允许锁定时间很长,比如惠普和trimble的产品都在1个小时左右,这样就可以允许较长时间采样,使用高精度高阶数大时间常数数字滤波器来充当环路滤波器,去驱动精密dac,用很高精度的控制电压去控制vc-ocxo。这就构成一个类似于数字锁相环的东东,把ocxo的10mhz或是其他什么频率锁定在gps的1pps输出上。
举个例子,不一定对,没有仔细计算过:
1、使用100mhz采样频率采集gps的1pps与ocxo 10mhz两个信号的相位差(当然10mhz需要适当分频,别出现相位模糊

)。为了避免后续计算出错,可以取相位判别点为1秒的偏后一些的位置。如果是使用16位计数器的话,就可以指定读数为32768时相位完全锁定。这样的比相器线性范围约是正负160微妙,分辨度10纳秒。
2、使用8051单片机(如速度不够的话就用avr)实现40到80阶的fir低通滤波器,具体滤波器参数可以使用matlab算出来,然后变成程序,在单片机中实现乘加乘加这类的运算。这就好像一个dsp,只不过我们的处理速度很低,用单片机就够了。当然为了保证精度我们也许需要用c编程,以利用c库现成的32位乘法和加法运算。应该不用更高位数的计算了吧,如果用的话可以去昆士兰大学的数论网页找找,
3、单片机输出滤波以后的相位误差序列,这东西推一个12位dac,产生4096级的控制电压。如果10mhz ocxo在这个范围内可调1hz,则频率阶越为0.06hz,折合以后是6e-9,6ppb。
这样的驯服钟已经够我们用了,因为我们能买到的“大众”价格ocxo充其量也就是1e-8,10ppb罢了。当然别忘了做一件事,调整输出10mhz的相位,使其某一个初始点与gos的1pps均值点对齐。
如果需要提高控制精度,只需要在12-16位之间改换dac,因为前端使用了16位的相位比较器,差不多够了。
一个简单的推算,这几天瞎琢磨的,没有精确推算过,应该差不多。看来使用数字鉴相器也够“精确”了。
数字鉴相器使用的100mhz时钟使用一般的钟振就差不多。如果是1e-5的普通钟振,它对16位鉴相器的影响只是正负32768范围内的正负3。