Frequency meter with 0.1ppm resolution - Page 1
Forum section: electronics / general

author: Picuino
author_rank: Super Contributor
timestamp: April 09, 2020, 09:38:58 am
content: Hello all,I'm new in this forum and my native language is spanish, so sorry in advance for my language.I'm development a new frequency meter based in a tiny PIC microcontroller (PIC16F18446) with this specifications:Frequency range: 0.01 Hz to 15MHzResolution: 8 decimals per second (with CTMU external capacitor)Precision: depends on Crystal. 0.1ppm with calibration and no temperature changes.Input levels: between 0.8v (LOW) and 3.1V (HIGH)Power Supply: 5 voltsOutput: via LCD and serial UART.Command Line Interface: via serial communications.I have published all in github:https://github.com/picuino/freqcounterNow, I'm waiting for a designed PCB. Meanwhile I have testing all with protoboard.Here a little pic of my lab:Regards.

author: IRFP
author_rank: Contributor
timestamp: April 09, 2020, 09:59:49 am
content: HelloGood job...What is the OCXO model?

author: Picuino
author_rank: Super Contributor
timestamp: April 09, 2020, 10:37:27 am
content: Thank you,The OCXO is a Piezo Technik PTOC32227 from ebay.Is mounted on PCB designed by me.The main reason for develop this frequency meter is:- For fun. I love develop it.- Make a simple and unexpensive frequency meter. You only need PIC16F18446, Xtal of 8MHz and USB-Serial interface.- Measure low frequencies with precision. You can measure 32kHz Xtal with 7 figures of resolution (0.1 PPM resolution)- Autocalibration with 1PPS signal of unexpensive GPSRegards.

author: Picuino
author_rank: Super Contributor
timestamp: April 09, 2020, 10:44:28 am
content: Here, a photo showing frequency meter measuring 1 Pulse Per Second signal from a GPS.Top reading is 1 second period measurement (1.0000000 Hz)Low reading is 10 second period measurement (999.99997 milliHertz)As you can see, the reading is auto ranging.Regards.

author: Picuino
author_rank: Super Contributor
timestamp: April 09, 2020, 10:52:33 am
content: A little example of data sended via serial interface to Computer, after calibration:Code:Pulses=000000000000001Time=000000016003955Freq=1,0000001 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003953Freq=1,0000002 HzFreq=1,00000000 HzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=1,00000001 HzPulses=000000000000001Time=000000016003955Freq=1,0000001 HzFreq=1,00000001 HzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=1,00000002 HzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=1,00000002 HzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=1,00000003 HzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=1,00000003 HzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=1,00000003 HzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=1,00000002 HzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99999 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99999 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99998 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99996 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99996 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99996 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99997 mHzPulses=000000000000001Time=000000016003953Freq=1,0000002 HzFreq=999,99999 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99999 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99999 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99999 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99999 mHzPulses=000000000000001Time=000000016003958Freq=999,9999 mHzFreq=999,99999 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99998 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99998 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99997 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003958Freq=999,9999 mHzFreq=999,99993 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99994 mHzPulses=000000000000001Time=000000016003958Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003958Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99994 mHzPulses=000000000000001Time=000000016003957Freq=999,9999 mHzFreq=999,99993 mHzPulses=000000000000001Time=000000016003956Freq=1,0000000 HzFreq=999,99994 mHzFirst column: number of pulses divided by 2 (prescaler of 1:2)Second column: time measured as number of clock cycles (at 8MHz)Third column: Frequency at 1 second periodFourth column: Frequency at 10 second periodhope to improve stability mounting it on PCB.Regards.

author: Picuino
author_rank: Super Contributor
timestamp: April 09, 2020, 11:08:43 am
content: In order to maintain precision at lower frequencies, the core of frequency meter performs areciprocal counting.Microcontroller measure both pulses in the input and cycles of main xtal clock. Readings of clock cycles are taken exactly at rise time of input signal (both measurements are syncronized).After measure of time (in xtal cycles) and measure of pulses, the frequency meter performs this calculation:Frequency = prescaler_divisor * Xtal_frequency * Input_Pulses / xtal_cyclesTo maintain precision, calculations are made with 48 bits integer and48 bit float routines(implemented in c software)

author: Picuino
author_rank: Super Contributor
timestamp: April 09, 2020, 05:24:27 pm
content: Two simultaneous inputsI have just made an improvement of the software for measure 2 signals simultaneously.In this case, an OCXO of 10MHz and a 1PPS signal of GPS.Top reading, Input A = GPSBottom reading, Input B = OCXOAnd now I have found a problem with this mode of operation (2 inputs).If a input A or input B have no signal, the frequency meter stops waiting for income pulse. So, i need change the mode of operation if I need measure of only one signal. I will think more about this.In other hand, I hope for more resolution results (1 digit more) when I will mount all in PCB.

author: Picuino
author_rank: Super Contributor
timestamp: April 15, 2020, 07:16:26 pm
content: New test.I have mounted two OCXO this time.One OCXO supplies 5MHz to the microcontroller system clock.The other OCXO supplies a 1PPS signal (1Hz)The blue module is a gps with other 1PPS signal.The frequency meter measure both signals of 1PPS working with 5MHz of stable system clock.The method of period measurement iscontinuous timestampingand the method of calculate frequencies isreciprocal countingcontinuous timestamping can increase resolution in long term averages.

author: Picuino
author_rank: Super Contributor
timestamp: April 15, 2020, 07:24:26 pm
content: Raw data of first secondsCode:Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99986E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999998Freq. A=999,9997E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999998Freq. A=999,9997E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99986E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99986E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99980E-3Pulses A=000000000000002Time A=000000009999996Freq. A=999,9999E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999998Freq. B=999,9997E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99984E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3Pulses A=000000000000002Time A=000000009999997Freq. A=999,9998E-3Freq. A=999,99982E-3Pulses B=000000000000002Time B=000000009999997Freq. B=999,9998E-3Freq. B=999,99978E-3

author: Picuino
author_rank: Super Contributor
timestamp: April 15, 2020, 07:26:21 pm
content: I will try to use Timelab or Stable32 for analyze periods and frequency.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 15, 2020, 07:27:16 pm
content: Continuous time stamping can really help, but how good it works depends on the type of noise. For phase type noise (e.g. trigger noise) using multiple time stamps can improve the noise. For true frequency noise (e.g. unstable oscillator) using the first and last time stamp and this the classical reciprocal way is lower noise. So both methods have there justification.Things may get simpler if the µC is directly running of the stable clock.

author: Picuino
author_rank: Super Contributor
timestamp: April 15, 2020, 08:27:06 pm
content: Continuous timestamping allow to average last 10 periods for calculate long term frequency (with reciprocal counting method)The frequency meter have a buffer with the last 11 timestamps and input pulses counted. With this, it can calculate frequency with 8 decimals (0.02 ppm at 5MHz clock) of resolution without error (if timebases are stable)I was trying to test this long term frequency method and the result is that works fine. It shows 8 decimals of correct and stable frequency.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 16, 2020, 07:56:12 am
content: I see continuous time stamping as the method to take the time for every trigger of the input signal divided down to a frequency the system can handle. There are still different ways to look at these data.The simple version is using it as a kind of running average filter for simple reciprocal counting. That is use the first and last time stamp for the interval in question to calculate the period length.The other extreme is to use all time stamps in the interval in question and do a linear interpolation and use the slope as the result for the period. This last method can give even higher resolution, but it depends if this is actually better. As an intermediate one could use several time-stamps from the start and stop with different weights (e.g. in between the 1,0,.....,0,-1 for single start / stop and N,N-1,....,1-N,-N for the linear slope).

author: Picuino
author_rank: Super Contributor
timestamp: April 16, 2020, 08:02:55 am
content: Linear interpolation takes too much memory, time and computing power. Therefore I have decided not to implement it.

author: Picuino
author_rank: Super Contributor
timestamp: April 16, 2020, 10:51:56 am
content: I have tested the frequency meter with normal quartz crystal oscillator measuring a 10kHz from OCXO.The freqmeter can measure with 8 digits of resolution in 10 seconds averages.

author: Picuino
author_rank: Super Contributor
timestamp: April 18, 2020, 10:50:40 pm
content: Other test.I have increased the resolution by one more decimal. The method is based on charging a capacitor during the time between the rise of the input edge and the capture of counters.With this method, the frequency meter have a resolution of 10ns (8 decimal digits per second). The resolution now is 0.01ppm per second.Attached Allan Deviation and frequency measured.

author: Picuino
author_rank: Super Contributor
timestamp: April 18, 2020, 10:59:00 pm
content: A photograph of the experiment.

author: mino-fm
author_rank: Regular Contributor
timestamp: April 19, 2020, 01:19:07 pm
content: Quote from: Picuino on April 16, 2020, 08:02:55 amThere is no need for much RAM but your µC should be able to handle double variabels (64 bit) in a fast way. 1000 stamps/s "could" improve the result by factor 30.BUT:Quote from: Kleinstein on April 15, 2020, 07:27:16 pmI've tried to use linear regression over 1000 time stamps/s using (noisy) TDC7200 for start/stop-interpolation and STM32H7xx. Using different algorithms the results were not as good as using the mean value of these 1000 stamps.Hoping 1E6 time stamps/s using STM32H750 with internal capture-timer @240 MHz without further interpolation could improve resolution failed too :-(Quote from: Picuino on April 18, 2020, 10:50:40 pmUsing a µC with fast internal timers (>=100 MHz) will give you 8 digits/s without additional hardware.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 19, 2020, 03:05:22 pm
content: The linear interpolation / use of multiple time stamps help against phase noise, but it does not help again true frequency noise. So it depends on the signal to measure. The effect is also limited, as usually there are both noise types and once the phase noise is suppressed enough the the other noise takes over and thus no more improvement. Chances are one could be better of averaging some 10-100 time stamps for the start and stop than the full linear interpolation. In my implementation I use averaging over the first and last 1/8th (not sure about the exact fraction) the time or a maximum of 256 time stamps.For something like the 50 Hz mains signal it works quite good. For something like a higher frequency oscillator signal it does not help very much, as the trigger signal can be quite accurate. Here extra resolution from interpolation is likely more effective, though averaging can still help a little.@Picuino:The picture looks like the µC runs off a simple crystal and there is an extra precision clock. Wouldn't it be easier if the µC directly runs of the precision clock. This would eliminate one measurement.

author: Picuino
author_rank: Super Contributor
timestamp: April 19, 2020, 04:09:25 pm
content: In the picture the simple crystal of 8Mhz is not working. I am injecting a 5MHz signal onto it, coming from the OCXO.The other OCXO gives other signal of 5MHz to the input A.The result is very accurate with both OCXO. But I do this to test that the microcontroller works exactly. In the end I want to make everything work with a simple crystal, which will be the one that limits the accuracy. I want to make a cheap frequency counter, capable of tuning 32kHz crystals for example with 1ppm acuracy (2 seconds per month)

author: Picuino
author_rank: Super Contributor
timestamp: April 19, 2020, 04:15:10 pm
content: I have to take a decision.I want to modify the PCB to make a Shield for Arduino with the frequency meter, without LCD display.With this, the frequency meter would be cheaper and further simplified by taking advantage of the Arduino's power supply and its USB-serial connection.On the other hand, the frequency meter would need a PC to work, since it no longer had an LCD display.Do you think it would be a good idea to do that?

author: maat
author_rank: Regular Contributor
timestamp: April 19, 2020, 07:08:54 pm
content: In my opinion, I would always take the step an separate the measurement board from the frontend/display. The reason is simple. Typically the measurement board will only change slightly once development is complete. The frontend on the other hand might see a change to a bigger or different display, an entirely difference board, like an Arduino, or CAN bus driver, etc...It also makes testing a lot easier, because the finished measurement board can be hooked up to a test bench and some automated test sequence can be run against it.Therefore I always design two separate boards with two MCUs and they talk eg. via I²C. The added cost is typically offset by the time saved.

author: Picuino
author_rank: Super Contributor
timestamp: April 19, 2020, 07:30:41 pm
content: Ok, I can prepare a serial output for a serial display LCD.

author: Picuino
author_rank: Super Contributor
timestamp: April 20, 2020, 09:19:13 am
content: Quote from: mino-fm on April 19, 2020, 01:19:07 pmI have it listed as a pending task. I have a nucleo board (STM32L412) with 80MHz clock and advanced capabilities for mathematical calculations.

author: Picuino
author_rank: Super Contributor
timestamp: April 20, 2020, 02:46:10 pm
content: Today I'm testing with the ZCD input.Those acronyms meanZero Cross Detectionand it is the name of an internal module of the PIC microcontroller.This module detects zero crossing of a sinusoidal signal and allows its frequency to be accurately measured.It can measure thefrequency of power grid(with the sinusoidal output of a transformer), or you can measure thefrequency of audio signal.In general, it is used to measure low frequencies of sine wavesOn the other hand, the frequency limit is above 1MHZ, which gives a fairly high usage range.Regards.

author: Picuino
author_rank: Super Contributor
timestamp: April 20, 2020, 02:55:26 pm
content: For now the results are good. Response time of ZCD module is below 200ns and the jitter is low enough to take very accurate measurements.It could be a good alternative to the tipical Schmitt trigger in order to transform analog signals.

author: Picuino
author_rank: Super Contributor
timestamp: April 20, 2020, 03:07:10 pm
content: The problem with Zero Crossing Detection is that it is not too immune to noise and sometimes the output has multiple pulses where it should only have one (the output oscillates)I have encountered this problem with square signals that have an added level of DC voltage and negative values close to zero.In these cases it is better to add a capacitor to completely eliminate the continuous component of the signal, and the module starts working properly.

author: Picuino
author_rank: Super Contributor
timestamp: April 21, 2020, 03:06:17 pm
content: Today I have prepared the program to accept two system clock frequencies without reprogramming the microcontroller. The main frequency from simple crystal of 8MHz and the secondary frecuency of 5MHz from a precise OCXO of 10MHz divided by 2.I have done overclocking test and the microcontroller directly accepts a frequency of 10MHz with internal multiplication by PLL up to 40MHz. But the microcontroller's specifications are 32MHz maximum and I don't trust overclocking at all.Now I have a problem with the settings. At this time only the unstable frequency of the 8MHz oscillator can be compensated.Should it also allow offsetting by software the frequency of the OCXO precision oscillator?I'm a little tired of having to add so many options.Regards.

author: Picuino
author_rank: Super Contributor
timestamp: April 22, 2020, 09:38:45 am
content: Ok, In the end I have prepared an offset for both frequencies, just in case.Today I am working with the calculation of phase diferences between two signals.The preliminary results are quite good. The microcontroller can calculate phase shifts with a resolution close to nanosecond.When comparing 2 signals with close frequency, it is difficult to know exactly what the difference in frequency is. From the eighth decimal place the noise is very high. However with the phase difference measurement, the frequency differences can be measured very accurately.Here attached a preliminar result from an excel datasheet.The frequency of both measured signals is very close with 10000.2554 Hz versus 10000.2560 Hz, with a very small difference in the last decimal place.With the phase difference, you can easily see the frequency difference much more precisely. The average difference is 67.46 ns per second.The phase difference has an offset of at least 250us. This is the time it takes for the microcontroller to take the two measurements.Regards.

author: Picuino
author_rank: Super Contributor
timestamp: April 22, 2020, 01:00:23 pm
content: Now I'm thinking about the PCB.Perhaps I should prepare a schematic for mounting the frequency counter on a breadboard in case someone wants to test it without making or buying a PCB.Is anyone interested in testing the frequency counter? it would be very helpful for me to havebeta testers.Regards.

author: Picuino
author_rank: Super Contributor
timestamp: April 22, 2020, 04:02:31 pm
content: I'm looking for a source oscillator cheap, but more precise than a simple crystal.I have found this board in ebay:https://www.ebay.com/itm/High-Accuracy-RF-Frequency-Counter-Meter-1-500-MHz-Tester-Module-For-ham-Radio/313035221538?hash=item48e25a6a22:g:Yy0AAOSwx9pedJG~It uses an VC-TXCO in a 5032 package. It frequency stability is ± 2.5 ppm and low cost because all the PCB cost only $15.I don't have good experience with TCXO. On one occasion I bought one TCXO (cost $2.80) that maintained a stability of 2.5ppm but with a lot of jitter.Example of measurements of my TXCO every second with jitter (ECS-TXO-5032-250-TR):Code:FrequencyError PPM4999993.98-1.2044999996.09-0.7824999996.94-0.6124999996.95-0.614999997.41-0.5184999994.83-1.0344999996.14-0.7724999995.71-0.8584999998.15-0.374999994.95-1.014999996.9-0.624999996.13-0.7744999996.91-0.6184999998.13-0.3744999994.9-1.024999998.13-0.3744999994.91-1.0184999998.09-0.3824999996.08-0.7844999994.89-1.0224999998.05-0.394999994.88-1.0244999996.06-0.7884999998.07-0.3864999996.07-0.7864999994.85-1.034999996.03-0.7944999996.81-0.6384999997.23-0.5544999996-0.84999994.79-1.0424999997.23-0.5544999995.99-0.8024999995.99-0.8024999993.95-1.214999997.16-0.5684999994.73-1.054Do you know about a cheap TXCO with little jitter?

author: KK6IL
author_rank: Regular Contributor
timestamp: April 23, 2020, 04:01:04 am
content: Quote from: Picuino on April 22, 2020, 04:02:31 pmYou need to be looking at sellers that list a part number you can see the manufacturer data sheet, but I didn't see any cycle to cycle jitter specs on data sheets I checked, just phase noise at various offset freqs.This sounds like a question for a time nut. Try asking over on the time nuts list at <http://www.leapsecond.com/time-nuts.htm>

author: mino-fm
author_rank: Regular Contributor
timestamp: April 23, 2020, 07:09:26 am
content: Quote from: Picuino on April 22, 2020, 04:02:31 pmYour table does not show jitter of TCXO. What you can see are issues with signal processing, synchronisation or math functions calculating the frequency.Try to fit it first - TCXO isn't your problem. I like to use this onehttps://www.digikey.de/product-detail/de/taitien/TXETALSANF-10-000000/1664-1262-1-ND/6126575,where you can see no jitter even at 10 digits/s.

author: Picuino
author_rank: Super Contributor
timestamp: April 23, 2020, 11:31:08 am
content: The measurements are well done and the instrument, although homemade, is checked with an OCXO and shows no problems.I am thinking that the problem may be the LDO power supply, which has capacitors that cause the power to oscillate.I hope the problem is with the power supply so I can use this TCXO.Regards.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 23, 2020, 11:57:22 am
content: There can be a problem with different clocks (µC clock, reference clock and external DUT) hat are close to a simple ratio. They can start to synchronize via tiny coupling, e.g. through the supply and this can cause an extra frequency modulation. So it is important to really isolate the clocks from each other.The errors in the table are really quite large up to the point that a rare software problem can happen. One such case could be coincidence of 2 interrupts that is not handled right. This is at least a trap with some µCs. Especially the crystal directly at the µC can be effected by other signals. I have see an effect from the ADC clock and the UART that can effect the clock - not much (e.g. ns phase shifts), but measurable.

author: Picuino
author_rank: Super Contributor
timestamp: April 23, 2020, 01:37:44 pm
content: The power supply is correct.The problem is now very simple. I was trying to measure 25MHz with the frequency counter, that only accepts 15MHz maximum.I'm going to make a frequency divider and measure again.

author: Picuino
author_rank: Super Contributor
timestamp: April 23, 2020, 02:16:28 pm
content: New measurement of TCXO. The main frequency (25MHz) is prescaled with a 1/4 divisor before measure.DUT = TCXO of 25MHz / 4Frequency counter main oscilator = OCXO calibrated.Code:6249999.36249999.46249999.36249999.36249999.36249999.36249999.36249999.36249999.36249999.36249999.26249999.36249999.36249999.26249999.36249999.36249999.26249999.46249999.26249999.36249999.26249999.36249999.26249999.26249999.36249999.26249999.26249999.36249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.16249999.26249999.26249999.16249999.16249999.26249999.26249999.16249999.26249999.16249999.26249999.16249999.16249999.16249999.26249999.26249999.16249999.16249999.16249999.26249999.16249999.16249999.26249999.16249999.16249999.26249999.26249999.16249999.16249999.16249999.16249999.16249999.16249999.16249999.16249999.26249999.06249999.16249999.26249999.26249999.16249999.36249999.26249999.36249999.36249999.36249999.36249999.36249998.66249999.36249999.26249999.36249999.26249999.26249999.36249999.36249999.26249999.26249999.26249999.36249999.26249999.26249999.26249999.16249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.16249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.26249999.16249999.26249999.26249999.16249999.1The jitter in the last digit came from the measure instrument. The TCXO works properly with only 0.1ppm of error.

author: Picuino
author_rank: Super Contributor
timestamp: April 23, 2020, 03:42:29 pm
content: In the end I have decided to use a TCXO instead of a simple crystal. It can take better advantage of the capabilities of the frequency counter.I will also remove NTC temperature compensation of frequency from the program, which couldn't be very accurate and gives me more than one headache.Now the problem is how to connect a TCXO working at 3.3V with a PIC working at 5V.Direct conection works but, I don't know if the margins of voltaje are enought robust. I will need to do tests.Other conection could be with a series capacitor and a resistor of high impedance between CLKIN and CLKOUT.

author: Picuino
author_rank: Super Contributor
timestamp: April 23, 2020, 04:30:51 pm
content: I have connected the 25 MHz clock to the PIC16F18446 and by mistake I have activated the PLL x4 in the settings.The result is that the PIC has been put to work at100MHz. This PIC is only 32MHz ready, but withstands 100 MHz overclocking!!I didn't know what was going on with the UART, which was sending the signals too fast.Until I've connected the oscilloscope with a short code to turn a pin on and off.

author: Kleinstein
author_rank: Super Contributor
timestamp: April 23, 2020, 06:07:28 pm
content: With too high an input clock the PLL may not get the indented factor. So it may run at only x 2 or even x 1 mode.There is still quite some room for overclocking with those not so high end µCs. They often have quite some reserves, as they don't want to spend hours testing a $1 µC but prefer to be conservative on the specs.

author: Picuino
author_rank: Super Contributor
timestamp: April 23, 2020, 06:25:41 pm
content: Yes, they are a very robust uC. Better for all.I have tested the clock input.In "External Crystal" mode the oscillator input of the PIC is not very robust. It need near 3.3Vpp as minimum voltaje at CLKIN. The input does not have any polarization. It works but is no very robust.In "HS" mode (Crystal Oscillator) the CLKIN accepts a signal as low as 1Vpp coupled with a capacitor. The CLKIN input has a impedance connected to 2.5V so it gives the polarization needed.The final schematic is a simple capacitor:[ TCXO @ 3.3V ]--------||-------[ CLKIN of PIC @ 5V working as HS oscillator]Regards

author: Picuino
author_rank: Super Contributor
timestamp: April 24, 2020, 06:56:37 am
content: Quote from: Picuino on April 23, 2020, 01:37:44 pmI'm going to program an overrange detector in order to prevent this problem again.

author: Picuino
author_rank: Super Contributor
timestamp: April 24, 2020, 11:08:08 am
content: Ok automatic overrange detection and improved prescaler routine. All programmed.Today I'm trying to use Arduino like an USB-Serial interface. Works fine.At last I'm going to design my frequency counter like an Arduino Shield without LCD and with connector for external LCD.Do you think it might be a good idea?

author: kawal
author_rank: Frequent Contributor
timestamp: April 24, 2020, 01:24:11 pm
content: What are you using for input stage ? And what protection . You probably want some amplification and protection but I didnt notice any in the schematic.

author: Picuino
author_rank: Super Contributor
timestamp: April 24, 2020, 01:49:50 pm
content: Thank you for the comment kawal.You are right, I am directly using the input of the microcontroller. Do you have any proposal for a previous stage?

author: kawal
author_rank: Frequent Contributor
timestamp: April 24, 2020, 01:55:31 pm
content: I would look at some commercial counters and see what they implement. At least a single stage 1 transistor gain stage feeding a Schmidt trigger input gate. Resistor/ diod protection on input.

author: Picuino
author_rank: Super Contributor
timestamp: April 24, 2020, 02:07:11 pm
content: Perhaps something like this:http://electronics-diy.com/electronic_schematic.php?id=550

author: kawal
author_rank: Frequent Contributor
timestamp: April 24, 2020, 02:51:57 pm
content: Perfect , Diod protection on input (limits voltage to input stage to +/-0.6V, Amplifier with good gain , Schmidt gates to shape signal and divide by 2 circuit via D type counter.2n5485 is Jfet not Mosfet.

author: kawal
author_rank: Frequent Contributor
timestamp: April 24, 2020, 03:03:26 pm
content: Here is an Hp 5381A input stageAnd Keithley 775A

author: KK6IL
author_rank: Regular Contributor
timestamp: April 25, 2020, 03:12:54 am
content: To amplify and limit low level RF signals in the past, I've used cascaded stages of an MC10116, now MC10216. Use a JFET source follower, followed by 2 or 3 stages of MC10216 and a comparator. Optional MC12080 as a HF/VHF prescaler.

author: Picuino
author_rank: Super Contributor
timestamp: April 25, 2020, 09:47:32 am
content: I'm trying to simulate the input stage and shows certain problems in higher frequencies. I've also tested with an ADF4112 as a Gigahertz prescaler and it works fine, but with some issues.I think the entry stage is a new challenge with relative complexity.I don't want to greatly increase the cost and complexity of the frequency counter, so I'm going to separate everything into three projects with three PCBs:- Input stage and prescaler- Control panel with LCD and buttons- Frequency counterSo that the frequency counter can be autonomous, without the other boards.

author: Picuino
author_rank: Super Contributor
timestamp: April 26, 2020, 11:33:36 am
content: The old references 2N5485 (JFET) and 2N4403 (PNP) are now obsolete and unavailable.Their counterparts in the smd version are readily available2N5485 --> MMBF54852N4403 --> MMBT4403The simulated input stage shows several problems. At 40Mhz the signal is attenuated too much. And at medium frequencies the PNP saturates. An adjust of R5 is needed.I do not trust the simulations so I will have to wait to order these transistors at Mouser to be able to do the necessary tests on the prototype board.Regards.

author: mino-fm
author_rank: Regular Contributor
timestamp: April 26, 2020, 12:59:21 pm
content: Simply use a TLV3501 with additional input protection.Or an JFET followed by MAX961 or something like that and don't forget frequencies as low as 0,01 Hz.Two examples:http://www.mino-elektronik.de/fmeter/eingangsstufe.htm

author: Picuino
author_rank: Super Contributor
timestamp: April 26, 2020, 03:21:32 pm
content: Now I'm looking for Amplifier ICs to replace the transistor stage.MC10216 is unavailable, but the market is plenty of options with a lot of amplifiers like the BGA2851.MAX961 is another option not previously considered. It is an ultra-fast comparator capable of seamlessly switching to 50MHz.I'm going to study that idea more. Thanks.