[8桁周波数カウンタ] [GPS12ビットバイナリ周波数カウンタ] [GPS10桁周波数カウンタ・ロガー]

周波数カウンタ

PICマイコン16F873Aを使って8桁周波数カウンタを試作してみました。

外観基板

自作したカウンタは、ゲートタイム、分周比の組み合せで8つの測定レンジ(下表)を構成しています。レンジは「UP」「DOWN」押しボタンスイッチで切り替えます。そのため、操作パネル(上左)はいたって簡単です。
左から入力コネクタ、LCD表示器、二つのレンジ切替ボタン(黒)、その右の赤ボタンは予備です。右側は電源スイッチとランプです。ゲートタイム、分周比の組み合せは、プログラムで組み立てていますので、使い勝手が悪ければ簡単に変更できます。
このカウンタの特徴は、このようなところです。
 @ 周波数カウントにタイマ0を使います。周波数カウント処理の時間長を一定(16サイクル、6.2μS)とすることで、設定されたゲートタイムの間、周波数カウント処理を繰り返します。ゲートタイムの設定は自由です。分周比に対応したゲートタイムの設定ができます。これにより分解能の低下を最小にしています。このカウンタでは、すべてのレンジで表示最小桁のカウントが一つ動くのみです。
 A 周波数のカウントは、タイマ0のプリスケーラ、タイマ0レジスタ、それに汎用レジスタ1個を追加し、計3バイトです。従って、カウントできる最大値は「16777215」となります。最大値をオーバーフローした場合、"!"を表示するようにしています。マークが表示されたらレンジを1つ上げることで、正しい数値が取れます。
タイマ0/プリスケーラ値の読出しには、マイクロチップ社のAN592から抜粋した方法を取っています。
 B バイナリ/BCDコード変換には、マイクロチップ社のAN526の方法を使っています。
 C 表示値を読みやすくするため、頭のゼロ表示は抑える機能をつけています。

測定レンジ

下表の測定周波数帯域は、カウンタのオーバーフロー限界か、PIC(ハードウエア)のタイマー0/プリスケーラのカウント限界を50MHzと想定して、定めています。
また、レンジ3,4,5、およびレンジ6、7、8は、それぞれ、レンジ5、レンジ8に統合しても良いかと思いますが、当面テストのため、この設定で使っています。

レンジ 測定周波数帯域
(オーバーフロー値)
分解能 ゲートタイム 分周比 感度
(入力インピーダンス)
1677kHz以下
(1677.7215)
0.1Hz 10秒 1/1 35mVpp以上/1MHz
(13kΩ/1MHz)
16.77MHz以下
(16.777215)
1Hz 1秒 1/1 55mVpp以上/10MHz
(1.4kΩ/10MHz)
50MHz以下
(167.77215)
10Hz 0.1秒 1/1 -35dBm以上/20MHz
(50Ω)
100MHz以下
(167.77215)
10Hz 0.2秒 1/2 -13dBm以上/70MHz
(50Ω)
167MHz以下
(167.77215)
10Hz 0.4秒 1/4 -13dBm以上/150MHz
(50Ω)
400MHz以下
(1677.7215)
100Hz 0.08秒 1/8 -15dBm/300MHz(50Ω)
800MHz以下
(1677.7215)
100Hz 0.16秒 1/16 -22dBm/500MHz(50Ω)
1600MHz以下
(1677.7215)
100Hz 0.32秒 1/32 (50Ω)

レンジ3〜8では、分周にプリスケーラTD7104を使っています。データシートでは、1GHz以下と説明されていますが、それを越える周波数でも、感度の低下はあるでしょうが、まあ使えるだろうと期待しての数値です。

カウント誤差

カウント誤差はゲートタイムの精度によります。カウンタ内蔵の基準発振器誤差によりゲートタイムは所定の長さより長くなったり、短くなったりします。それによりカウント誤差が生じます。
このカウンタの10MHz基準発振器は約±0.5ppm以下に校正しています。
下の写真は、カウントの例です。

GigaStスペアナアダプタ出力(レンジ7):
SGモードで500MHzにセット、分周1/16、タイム0.16秒でカウントしています。スペアナアダプタは校正はしていません。基準発振器誤差±0.5ppm以下として、カウント誤差±250Hz以下です。
145MHzトランシーバ(レンジ5):
手持ちのトランシーバを144.00MHzにセットし、微小ループで受信、カウントしています。分周1/4、タイムは0.4秒です。基準発振器誤差±0.5ppm以下として、カウント誤差±72Hz以下です。
12.8MHz水晶発振器(レンジ2):
基準発振器誤差±0.5ppm以下として、カウント誤差±6Hz以下です。
商用電源(レンジ1):手持ちの電源トランスの上にビニール線を8〜9回ほど巻いて低圧を取り出し、カウントしたものです。「50.0Hz」と表示してくれました。

 

なお、ここに掲示したデータは、すべて自作計測器で得たものです。これらの機器は、信頼できる計測器で校正をしているものではありません。データは、「おおよそ」「傾向」を見ていただく程度と理解してください。

ハードウエア

系統図製作した周波数カウンタで使うPICの条件は、タイマ0が使えること、3つのI/Oポートを持つことです。手持ちのPICの中から16F873Aを使っています。
左の図は概略系統図です。クロックはKTXO-18S12.8MHz水晶発振器を改造した10MHz水晶発振器、液晶表示器は、SC1602BSを使っています。信号入力の切替えは、高周波リレーを、プリスケーラ、アンプの切替えには、セレクタ74AC153を使っています。一番上のリレーは空いています。ここに、いずれ上位のプリスケーラを持ちこむつもりです。
ページ上の右の写真は、基板の様子です。基板はサンハヤトICB-97Uを使っています。主な部品は、右の方から発振器、PIC、セレクタ、カウンタで、左の上のFCZ基板はアンプ、下は入力切替リレー(うち1個は未使用)、プリスケーラです。ケースはタカチYM-180を使っています。
<系統図の拡大><回路図の表示(pdf,27kB)>

周波数カウント

左は、周波数カウント回路の抜粋です。右はタイムチャートです。入力CH選択信号で選択された信号(左図、青の破線)は、タイマ0への入力を制御(ゲート信号RA5)するANDゲート、次のORゲート('L'レベルのORゲート)を経由して、PIC/RA4に取り込まれます。タイマ1のカウントで計測時間が経過するとANDゲートを閉じ、カウントは終了します。続いて、PIC/RA3からORゲートを経由して、パルスがRA4に送られ、プリスケーラのカウントアップされます。<カウント回路の拡大><タイムチャートの拡大>

操作スイッチとLCDデータ出力

PORTBは、操作スイッチの読取りと液晶表示器書込みラインが共通になっています。周波数カウント状態では、操作スイッチの読取り、割込みを有効としています。操作スイッチの読み取りは、スイッチのチャタリングをさけるため、割込みが入ってから30mS後に行っています。カウント処理が終了した時点で、PORTBは出力に切替え、液晶表示器への書込みを行います。
<拡大>

アンプ/プリスケーラ入力感度(参考)

プリアンプ、プリスケーラTD7104の感度を調べてみました。それぞれ計り方が違います。また、校正した機器で得た値ではないので、数値は参考程度のものです。

プリアンプ感度(Low Range)
レンジ1677k、レンジ16M:
信号レベルはオシロ(テクトロ2430A)で得たものです。
<グラフ拡大>
TD7104入力感度(Mid Range)
レンジ50M、レンジ100M、レンジ167M:
信号レベルはFRMS/FREXでとったものです。
なお、このグラフでは、マークは実際に得た値ですがラインは近似線です。<グラフ拡大>
TD7104入力感度(Hight Range)
レンジ200M、レンジ400M:
信号レベルはGigaStスペアナアダプタでとったものです。<グラフ拡大>

プログラム

自作したプログラムは、アセンブリ言語で作っています。プログラム開発には、Microchip社の「MPLAB IDE」を使っています。ソースプログラムはページ最後でダウンロードできます。興味があれば、ご覧ください。
このプログラムは、高度な手法は使っていません。だらだらと書いています。コメントを参考に読めば、流れは簡単に分かると思います。

プログラム構成

総合フローチャート左が処理の流れ概要です。
測定レンジ表示処理終了後、RB4-RB7を入力に切替え、「INTCON」に「RB変化割込み可」をセットします。 「ASCII変換処理」の後、再び、「INTCON」に「全ての割込み不可」をセットし、PORTBは出力に戻します。
この「周波数カウント」、「コード変換」の間は、スイッチの割り込みを可能としており、スイッチを操作すると、レンジを切替え、また初めからスタートすることになります。<プログラム構成の拡大>

@PORT初期処理

PORTAの初期処理を行います。PORTAは計測信号を取り扱うRA4は入力に、他は出力'0'とします。ただし、RA3のみは'1'とします。これは、プリスケーラ読出しのとき、'L'レベルのORゲートを通して、RA4→プリスケーラにパルスを送るためです。PORTB、PORTCは全て出力'0'とします。
「OPTION_REG」でタイマ0の初期設定を行います。立ち上り割込み、外部クロック入力、プリスケーラは1/256とします。
起動時の測定レンジは、「レンジ2」としています。

ALCD初期処理

LCD初期処理フロー<フローチャートの拡大>

B測定レンジ表示処理

測定レンジ表示処理フロー測定レンジテーブル8つの測定レンジを設定していますから、8つの表示パターンがあります。表示文字テーブルから引き出し表示ルーチンに引き渡します。 <フローチャートの拡大><テーブルの拡大>

C入力チャネル選択

入力チャネル選択テーブルPORTC出力で、セレクタ、プリスケーラ、リレーを操作し、レンジに沿った信号の経路を作り、RA4で取り込めるようにします。レンジ毎の操作は、左のテーブルのようになっています。<テーブルの拡大>

D周波数カウント

左の図は、タイマ0を中心にした入力信号カウント回路の構成です。PIC/RA4から取り込まれた入力信号は、プリスケーラ、タイマ0レジスタでカウントされ、オーバーフローした分は追加のレジスタH_byteでカウントされます。カウント終了後、プリスケーラの内容は、L_byteに、TMR0レジスタの内容は、M_byteに送られます。<タイマ0の構成の拡大>

左の図のうち、右半分は、周波数カウントの手順を表したものです。
緑色はタイマ0をベースとする周波数カウンタのコントロール、空色は、この周波数カウント処理の繰り返し回数をカウントするものです。
この処理は、どのルートを通っても16サイクル、即ち6.4uS(註)に統一しています。
例えば、10MHzの発振器の信号を受け、この処理を1回通すと、カウンタは”64”を、2回通すと”128”を表示します。このようにして、16サイクルを基本にして所定の回数、すなわち所定のゲート時間に到達するまで繰り返すことで周波数をカウントすることが出来ます。例えば、ゲート時間1秒(1,000,000uS)で計測する場合は、1,000,000uS/6.4uS、すなわち、156,250回この処理を繰り返せば良いことになります。
濃い緑色のブロックは、サイクル統一ためのダミー(goto命令)を入れています。
(註)この数字は、カウント繰り返し数を割り出すとき、整数が引き出せる数字をとっています。例えば、・・、1.6uS、3.2uS、6.4uS、・・、160uS、・・、800uS、・・等が選択できますが、カウントプログラム処理時間の統一のための補正にあまり手を入れなくていい数字として、6.4uSを使っています。 <フローチャートの拡大>

1秒(1,000,000uS)のゲートタイムの場合、156,250回繰り返しが必要です。これは、16進数で表すと”02625A"です。この数を減算していけばいいわけですが、ここでは加算演算しています。
加算、オーバーフローで繰り返し回数完了を検知するため、さきの数の2の補数を取ると、”FD9DA6”となります。繰り返し回数のカウンタでは、これを初期値として置き、オーバーフローするまで加算していきます。同じような考えで、0.1秒では、”FFC2F7”、10秒では、”EB287C”を初期値とすればいいわけです。
左の表は、繰り返し回数カウンタの初期値テーブルです。上図の左半分のフローチャートのように、レンジ切替えスイッチに対応する値をテーブルから読出し、繰り返しカウンタに設定されます。<テーブルの拡大>

Eバイナリ/BCD変換

バイナリデータ(3バイト)をBCDコード(8桁)に変換します。マイクロチップ社AN526を使っています。

FASCIIコード変換処理

バイナリ/BCD変換ルーチンでは、1バイトに16進コードが2桁づつ入っています。ここでは、ASCIIコードに変換しやすいように、16進コードを1バイトづつ分けています。

G測定データ表示

測定データ表示処理フロー測定データ表示テーブルBCDコード(8桁)をASCIIコード(8桁)に変換、LCDへの書き込みの制御を行います。
LCD表示ルーチンは測定レンジに対応して4パターンがあります。レンジ選択スイッチに従い選択されます。<フローチャートの拡大><テーブルの拡大>

H割込み処理

スイッチ割込み処理フロースイッチ操作の割り込みは、「周波数カウント」、「コード変換処理」の間に受け付けます。この間にスイッチが操作されると、操作スイッチの判別、レンジ切替えを行います。再び、最初から処理が始まります。
従って、この割り込みでは、通常行われるデータの退避処理などは一切ありません。
この割り込みは「RB4-7スイッチ状態変化割込み」を利用します。従って、スイッチを押したときに割り込みがかかりますが、スイッチを離したときにも割り込みがかかります。ただし、離したときには、「スイッチは押されていない」と読まれますので、何ら変化はありません。<フローチャートの拡大>

 

プログラムダウンロード

周波数カウンタ・ソースファイル(asm、26kB)

 

GPS12ビットバイナリ周波数カウンタ

発振器発振周波数を高い精度で簡単に確認したいと、GPSの1ppsをゲート時間とする12ビットバイナリカウンタの試作、実験してみました。ゲート時間は1秒のみです。PICを使って構成したほうが簡単だったかも知れませんが、ここでは汎用ロジックICで構成してみました。GPS 1ppsは秋月電子から発売されているトライステートの「GPS世界時計」を利用しました。

カウンタ外観カウント中のLED表示

左の写真はバイナリカウンタの外観です。ユニバーサル基板を使ったバラックセットです。基板の奥に見える橙色のLED(4個)とその左側の黄色のLED(8個)がバイナリ値表示用のLEDです。右の写真はカウント中の表示です。カウンタはバイナリ12ビットしか用意していません。そのため、基本的な表示の限界は2進数で「1111 1111 1111」すなわち、10進数では「4095」です。
それを超える分はオーバーフローして行きます。従って、周波数(偏差)はこの範囲を超えないことが前提です。下右の写真はカウント中です。
制約が多いので基本的には基準発振器のような安定な発振器発振周波数の偏差の確認を手軽に行うという用途です。

 

カウンタの構成と動作

下左は構成図、右はタイムチャートです。
GPSの1ppsを受けて、D-フリップフロップを1秒ごとにオンオフします。D-フリップフロップの出力でゲートを1秒ごとに開閉します。ゲートを通過してきた信号を3個直列の同期バイナリカウンタ(12ビット)でカウントします。ゲートをオフしてからモノマルチで作った約0.8秒後のパルスでカウンタをクリアします。このクリアされるまでの0.8秒間にカウントの結果を読み取ります。
<カウンタ回路図(pdf)>
なお、回路図の中の抵抗、コンデンサ等の定数は、手持ちのものを使ったもので最適値というわけではありません。ご了承ください。

カウンタの構成です。<拡大>
タイムチャート<拡大>

 

周波数の算出

前述のようにカウンタはバイナリ12ビットしか用意していません。したがって、表示の限界は2進数で「1111 1111 1111」、10進数で「4095」です。それを超える分はオーバーフローして行きます。
従って、周波数偏差はこの範囲を超えていないことが前提です。

 @ 発振器の周波数が10MHzの場合
2進数では、「1001 1000 1001 0110 1000 0000」で表されます。このうち、上位の12ビット"1001 1000 1001"(10進数で9998336)はオーバーフローしており表示されません。実際に表示されるのは下位12ビットの「0110 1000 0000」(10進数で1,664)です。
実際の周波数値は、”1664+9998336”、すなわち、10000000(Hz)と計算できます。
下位12ビットが「0000 0000 0000」と表示された場合は、”0+9998336”すなわち、9998336(Hz)と計算できます。「1111 1111 1111」と表示された場合は、4095+9998336、すなわち、10002431(Hz)と計算できます。
このように、10MHzの−1664Hz〜+2431Hzまで表示できることになります。
下左の写真の例では、”0110 1000 0000”(10進数で”1664”)、周波数は、”10000000”を表しています。下右の例では、”0110 0111 1111”(10進数で”1663”)、周波数は、”9999999”(Hz)であることを表しています。

16641663

 A 発振器周波数が6.4MHzの場合
 6400000(Hz)の場合、2進数は「0110 0001 1010 1000 0000 0000」」で、上位12ビットはオーバーフローして見えておりません。オーバーフロー分は2進数では「0110 0001 1010 xxxx xxxx xxxx」、10進数では「6397952」です。
下の写真、左は2進数「1000 0000 0100」を表示しています。10進数では「2052」です。
右の写真は、2進数で「1000 0000 0011」、10進数では「2951」です。
実際の周波数値は、オーバーフロー分と合わせて、それぞれ「6400004」、「6400003」であることを表しています。
このように、表示できる周波数値は、下12ビット分で「0000」から「4095」を表せますから、「639792」から「6402047」を表示できます。

20522051

 

10MHzOCXO発振周波数の観測

 このカウンタで、10MHzOCXO発振器の観測をしてみました。発振器の立ち上げ時点での変化をバイナリ値を目視で1秒以内で観測するのは難しいので、立ち上がりは、デジカメで撮影し、読み取りました。
 発振器(右のケース入り)の周波数トレンドを観測しているところです。左下が、バイナリカウンタです。
 上左のトレンドグラフのうち、電源ONからの立ち上がりの状況を拡大したものです。発振周波数は、ほぼ30分位で安定しています。<拡大>

 

 

GPS10桁周波数カウンタ・ロガー

GPSの1ppsを利用した10桁周波数カウンタを試作、実験しました。GPSの1ppsをカウントし、ゲート時間は1秒、10秒、100秒に設定することができます。GPS 1ppsは、前述の12ビットバイナリ周波数カウンタで使ったものと同じ秋月電子から発売されているトライステートの「GPS世界時計」を利用しています。
下左の図は全体構成図<拡大>、右の写真はカウンタ外観です。

システム構成(カウンタ部、パソコンロガー部)カウンタ外観

 

周波数計測最小単位は、それぞれ1Hz、0.1Hz、0.01Hzです。外付けのプリスケーラの用意はありません。カウンタはタイマー0のプリスケーラおよびカウンタとPICレジスタ2個で計32ビットですから、最大カウント可能数は、10進数で4294967295、約42MHzです。それを超える分はオーバーフローして行きます。
ロギングはパソコンで行います。この項では、主としてカウンタ部の説明をします。
パソコンロガーについては、後述のパソコンロガーの項を参照してください。

カウンタの構成と動作

カウンタのゲート時間は、正確でなければならなりません。ゲート時間の正確さを確保するため、ゲートをコントロールには不確定さが入り込みやすいPICプログラムは関与させないで、ゲートをコントロールするフリップフロップをGPSの1ppsで直接操作しています。この考え方は12ビットバイナリ周波数カウンタと同じです。
PICのタイマー0のオーバーフローの検知漏れがないようプリスケーラ、タイマー0レジスタをフルに活用しています。プリスケーラの読み出しは、マイクロチップ社AN592を利用しています。またバイナリ/BCD変換はマイクロチップ社のAN526を利用しています。
PICは、RS232Cチップも搭載されている秋月電子の「16F88モジュールキット」を使いました。
主として基準発振器の校正を行うことを目的にしたので、機能は必要最小限に抑えています。
<カウンタ回路図(pdf)>
なお、回路図の中の抵抗、コンデンサ等の定数は、手持ちのものを使ったもので最適値というわけではありません。ご了承ください。
カウンタの動作概要は、下の構成図<拡大>とタイムチャート、およびフローチャートを参照してください。
<PICアセンブラプログラム(asm)>

 

カウンタの精度、ゲート時間の精度に関与しているのは、ロジックICのゲートとD-フリップフロップです。PICはゲートを通過してきた信号をカウントすることと、1ppsをカウントしD-フリップフロップの反転制御信号を操作するのみです。従って、精度に関係するのは、ゲートやD-フリップフロップ等のロジックICの立上り、立下がりのそれぞれの時間の差です。IC個体ごとの差はあるでしょうが、1個のICの時間差は大きくないのではないかと楽観しています。

 

下左はPICのおおよその制御の流れ<拡大>です。
下右はタイムチャート<拡大>です。このタイムチャートは、ゲート時間が1秒の場合を例に説明しています。

 

制御の内容は、大きく分けて4つあります。
  @タイマー0による入力信号のカウント(上図橙色で示す)
   ゲートが開き、信号が入力されるとタイマー0はカウントを始めます。PICはオーバーフローを
   チェックし、それを確認すると上位のレジスタをカウントアップします。
  Aタイマー1による1ppsのカウント(上図青色で示す)
   タイマー1は、1ppsをカウントします。所定の数、すなわちゲート時間が1秒、10秒、100秒の場合、
   それぞれ0個、9個、99個目の1ppsを確認するとゲート制御を行うD-フリップフロップの
   反転制御信号を”L"にします。D-フリップフロップは、次の1ppsで反転します。
  Bタイマー0(プリスケーラ含む)の読み出し、データ変換、データ送信(上図緑色で示す)
   D-フリップフロップが反転し、出力”L"になるとパソコンのデータ送信リクエストを受付済みであることを
   確認してデータ送信を行います。次の1ppsでカウントを再開できるように、データ送信後、
   D-フリップフロップの反転制御信号を”H"にしておきます。
  Cパソコンからのリクエスト受け付け待機(上図赤色で示す)
   B項のデータ送信後、パソコンから次のデータ送信リクエストを待ち、待機します。

パソコンデータロガー(DzLogger)


このロガーは、周波数カウンタ専用ではなく、他に5chアナログデータロガーとしても使用しています。プログラムは、VisualBasic2008ExpressEditionで書いています。
パネル構成は左の図<拡大>のようになっています。この図は、「計測開始」のボタンが押され、現在計測中の状態のパネルの様子です。
大きなボックス(RichTextBox)にはデータ収集時刻と周波数値が表示されます。下からスクロールしながら表示されます。
パネル左上は、データ収集時間間隔(註)の設定です。コンボボックスで秒、分、時間の単位を設定します。数値は任意に設定できます。その下は「計測開始」ボタン(ボタンが押され、現在計測中のため、表示文字は淡くなっている)です。
その右は、「計測中止」ボタンです。右上は「終了」ボタンです。「計測中止」ボタンを押すと、「データ保存」の有無、保存場所を問われ、指定の場所にCVS形式でデータ保存ができます。CVS形式で保存されたデータはExcelに取り込むことで、グラフ化など、任意のデータ処理を行うことができます。
パソコンデータロガーのプログラムは下記よりダウンロードできます。内容は、VBソースファイル、イニシャルファイル(text形式)、Readme(text形式)です。
なお、このプログラムはVB初心者が書いたものです。整理されていませんし、バグもあるかと思います。ご了承の上、ご覧ください。ご覧になるにはVB2008がインストールされている必要があります。
また、プログラムの整理、バグの修正、改良などされた場合、「でんきざっか製作所」にもご教示いただければ幸いです。
      パソコンデータロガー・プログラム”DzLogger”(lzhファイル:790KB)

(註)周波数カウンタの場合、カウンタ側に時計を持ち、カウンタ側で設定された所定の時間カウント終了後、データ送信してきます。従って、ロガー側の収集時間間隔の設定は、たとえば1秒と小さくしておいた方が待ち時間を小さくなります。
 なお、アナログデータロガーとして使用する場合は、ロガー側の送信リクエストで直ちにデータを返してきます。

発振器の計測例

 このカウンタで、手持ちの発振器の観測をしてみました。なお、周波数目盛は拡大していますので、電源オン直後の低い周波数、高い周波数の部分はグラフからはみ出しています。

10MHzOCXO水晶発振器

10MHz恒温槽水晶発振器の発振周波数経時変化です。実線の1目盛は0.1Hzです。
10MHzOCXOの詳しい内容は 、10MHzOCXO基準発振器を参照してください。

KTXO-18S12.8MHz水晶発振器

電源オンの後、発振周波数は大きく変化します。電源オン後、1時間半から2時間になって安定するようです。実線の1目盛は1Hzです。

24MHz水晶発振器

電源オン後、周波数の乱れはKTXOほどではないのですが、0.5Hzくらいの巾の上下が続きます。実線の1目盛は1Hzです。

14MHz水晶発振器

発振周波数は、14.31818MHzと捺印されているのですが・・。実線の1目盛は1000Hzです。

48MHz水晶発振器

発振周波数は、48MHzですから、最初にお断りしているように、このカウンタのカウント限度を超えています。従って、実際の表示値は、48・・・・・Hzではなく、505044651(10時48分43秒)というような数値が表示されます。これは2進数で最上位の1ビットがオーバーフローで抜け落ちているためです。2進数の最上位の”1”は10進数で”4294967296”を表します。従って、実際の数値は、”505044651+4294967296”、すなわち、”4800011951”です。周波数は、”48000119.51Hz"ということになります。この計算機能は、ロガーにはありませんのでデータの収集完了後、Excelに取り込んで計算させるのが簡単です。もちろん、この計算の方法は、オーバーフロー分がまったく分からない場合、推定できない場合は使えません。実線の1目盛は10Hzです。