[time-nuts] Effects of filter delay

Dr Bruce Griffiths bruce.griffiths at xtra.co.nz
Sun Dec 24 08:19:31 EST 2006


Dr Bruce Griffiths wrote:
> SAIDJACK at aol.com wrote:
>   
>>  
>> In a message dated 12/23/2006 15:17:33 Pacific Standard Time,  
>> bruce.griffiths at xtra.co.nz writes:
>>
>> The FIR  filter used in some GPSDOCXOs is not the optimum prefilter for 
>> the control  loop.
>> An exponential averaging (IIR) filter is better.
>> However an FIR  filter has the advantage of being easy to do and FIR 
>> filters are not  subject to limit cycle oscillations due to roundoff 
>> error that plague some  IIR filters.
>> There is a maximum prefilter delay that can be used (for a  particular 
>> loop time constant) before the control loop becomes  unstable.
>> The prefilter output is typically further processed (in a second  order 
>> loop) by a Proportional + Integral feedback stage whose output  controls 
>> the OCXO frequency via a ADC connected to the OCXO efc input.  Even 
>> better performance is achievable with a third order loop containing 2  
>> cascaded integrators, however stabilising the loop can be more  difficult.
>>
>> Bruce
>>
>>
>> Hi Bruce,
>>  
>> surely you mean "DAC" driving the OCXO EFC :)
>>  
>> There are several problems with PI(D) controllers: the Temperature  
>> coefficients of the OCXO's are not corrected well, they are only corrected after  the 
>> fact (after generating an error in the output frequency that can be sensed  and 
>> corrected by the PI loop). Also, aging must be taken into account,  
>> especially for hold-over periods. So by the time the PI loop senses some offset,  the 
>> frequency may have, and is in the process of drifting quite  significantly.
>>  
>> The best temperature correction is done by using the sensor inside the  OCXO 
>> that controls the oven, using this to store the required DAC settings  for a 
>> given temperature over long periods of time, correcting for aging, then  
>> calculating the DAC offset versus temperature by linear interpolation etc. There  
>> are ways to sense the OCXO internal temperature very accurately without having  
>> access to the actual heater circuitry :)
>>  
>> Appearantly Kallmann filters are the best predictors for Temperature  
>> coefficients etc.
>>  
>> Does anybody have any information of the performance of PID controlers  
>> compared to simpler PI controllers (not doing the differential part)?
>>  
>> bye,
>> Said
>>  
>>  
>>  
>>  
>>  
>> _______________________________________________
>> time-nuts mailing list
>> time-nuts at febo.com
>> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>>
>>   
>>     
> Said
>
> Yes I though DAC and typed ADC, I really should proof read a little more 
> carefully.
>
> Even with predictive filters one still needs a feedback loop to correct 
> prediction errors.
> A PII loop will correct linear frequency drift.
>
> Surely frequency ~ rate of change of phase so a PID filter in a phase 
> lock loop just adds a frequency term to the PI loop.
>
> A properly designed PID loop should reduce overshoot in response to 
> phase error steps, such as when initially closing the loop.
>
> Bruce
>
> _______________________________________________
> time-nuts mailing list
> time-nuts at febo.com
> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
>
>   
Said

I should have stated that it is also necessary (among other things) to 
compensate for the heater circuit nonlinearity if one wishes to minimise 
the oven startup overshoot.
The power in a resistive heater is I^2 R or V^2 /R so if one is 
controlling the heater voltage (or current) one should take the square 
root of the control output before applying it to the heater. A PWM 
heater is a linear system but tends to add unwanted noise. It is also 
possible to produce a linear heater system using the dissipation in 
power transistors but this technique has the disadvantage that it is 
difficult to distribute the heat optimally.

Bruce





More information about the time-nuts mailing list