WSJT-X FreqCalの較正点を検証する ― 594 / 1422 kHzを除外するとStdDev 0.08 Hz ― 2026年09月29日 14時53分24秒

WSJT-X / FreqCal / ACTUAL MEASUREMENT
594 / 1422 kHzを除外すると
StdDev 0.08 Hzになった
WSJT-XのFreqCalで周波数較正を実施していたところ、 中波AM放送局の一部が他の較正点と整合しないことに気付きました。

そこで594 kHzと1422 kHzを 「残す/除外する」の4条件で実際に較正パラメータを比較してみました。

昨日から、 WSJT-XのFreqCalを使って、 IC-7300の基準周波数を改めて調整しています。

リグ本体のREF Adjust調整から、 FreqCalを使った最終的なSlope / Interceptの算出までの手順は、 こちらの記事にまとめました。

今回の測定では、 リグ本体のREF Adjustを確定した後、 それ以前に取得したfmt.allを一度削除。

その後はREF Adjustを固定したまま、 FreqCalを数巡させて測定データを蓄積しました。

また、 低S/Nのため行末に*が付いた測定値は除外しています。

ところが、中波帯を見ていて気になる点が
954 kHz、1242 kHzなどは、 全体の周波数依存の傾向に比較的きれいに乗っているのに対し、 594 kHzと1422 kHzは別方向へ外れているように見えました。

そこで、 この2局を較正データに含めるかどうかで 結果がどの程度変化するのか、 4条件で比較してみることにしました。

その前に ― Slope / Intercept / StdDevとは?

WSJT-Xで 「ツール」→「較正パラメータ計算」 を実行すると、 次のような値が表示されます。

  • Slope
  • Intercept
  • N
  • StdDev

何を意味しているのかを簡単に整理します。

Dial error = Intercept + Slope × f
Dial error = 周波数誤差 [Hz]
f = 周波数 [MHz]

Slope(スロープ)

周波数が高くなるにつれて増減する誤差成分を表します。 単位はppmです。

例えば、 Slopeが +0.004 ppm なら、 周波数依存成分だけを見ると、 50 MHzでは、

0.004 × 50 = 0.20 Hz

となります。

Slopeが0に近いほど、 受信周波数が高くなるにつれて誤差が増えていく傾向が小さい ことを意味します。

今回のように、 まずリグ本体のREF Adjustを調整する場合は、 このSlopeに相当する周波数依存の誤差を リグ側でできるだけ小さくしてから、 残差をWSJT-Xで補正することになります。

Intercept(インターセプト)

Interceptは、 直線近似した時の 0 MHzでの切片で、 単位はHzです。

分かりやすく言えば、 Slopeだけでは説明できない 固定的なオフセット成分です。

ただし、 実際に0 MHzを受信して測定しているわけではありません。

複数の周波数で得られた測定値から求めた直線を 0 MHzまで延長した時の値です。

N

Nは、 直線近似に使用された平均化済みの周波数測定値の数 です。

単純なfmt.allの行数ではありません。

同じ周波数で連続して得られた測定値はまとめて平均され、 その平均値が直線近似に使われます。

StdDev

今回、 比較のために特に注目したのが StdDevです。

名前だけを見ると、 一般的な意味での「標準偏差」と思ってしまいますが、 FreqCalで表示されるStdDevは、 もう少し具体的な意味を持っています。

WSJT-X User Guideでは、 StdDevを

“the root mean square deviation of averaged measurements from the fitted straight line”

と説明しています。

つまり、 平均化された各測定点が、 SlopeとInterceptから求められた近似直線から どの程度外れているかを示すRMS値です。

簡単に言えば、

StdDev 意味
大きい 測定点が近似直線から大きく散らばっている
小さい 測定点が近似直線によく揃っている
注意:

StdDevが小さいからといって、 それだけで 「絶対周波数が正しい」 ことを保証するわけではありません。

誤った基準信号だけがきれいに一直線に並んでいても、 数学的には小さなStdDevが出る可能性があります。

したがって、 基準信号そのものが信頼できるかという確認も重要です。

「±」の数字

SlopeとInterceptの後ろに表示される ±の値は、 それぞれの推定不確かさです。

例えば、

Slope: +0.004 ±0.001 ppm

なら、 今回の直線近似から求められたSlopeが +0.004 ppmで、 その推定不確かさが0.001 ppmという意味です。

① 全周波数を使用

全周波数
Slope: +0.029 ±0.003 ppm
Intercept: -0.33 ±0.03 Hz
N: 170
StdDev: 0.32 Hz

まず、 594 kHzと1422 kHzを含めた、 すべての有効測定点を使用しました。

WSJT-Xの判定そのものは 「較正良好」です。

しかし、 StdDevは 0.32 Hz となりました。

② 1422 kHzだけを除外

1422削除
Slope: +0.019 ±0.003 ppm
Intercept: -0.18 ±0.03 Hz
N: 146
StdDev: 0.25 Hz

1422 kHzだけを除外すると、 StdDevは、

0.32 Hz → 0.25 Hz

へ改善しました。

1422 kHzの測定点が 今回の近似直線との整合性をかなり悪化させていることが分かります。

③ 594 kHzだけを除外

594削除
Slope: +0.021 ±0.003 ppm
Intercept: -0.22 ±0.04 Hz
N: 147
StdDev: 0.30 Hz

今度は逆に、 594 kHzだけを除外しました。

StdDevは、

0.32 Hz → 0.30 Hz

です。

594 kHzも影響していますが、 今回のデータでは 1422 kHzの方がより強く近似結果を崩しているようです。

④ 594 / 1422 kHzを両方除外

594/1422削除
Slope: +0.004 ±0.001 ppm
Intercept: +0.05 ±0.01 Hz
N: 123
StdDev: 0.08 Hz

最後に、 594 kHzと1422 kHzを 両方とも除外しました。

すると、 StdDevが一気に、

0.32 Hz → 0.08 Hz

まで低下しました。

さらにSlopeも、

+0.029 ppm → +0.004 ppm

となり、 ほぼゼロに近づきました。

4条件を比較

条件 Slope Intercept StdDev
全周波数 +0.029 -0.33 0.32 Hz
1422除外 +0.019 -0.18 0.25 Hz
594除外 +0.021 -0.22 0.30 Hz
594 / 1422除外 +0.004 +0.05 0.08 Hz

この結果から何が分かるか

今回の測定条件では、 594 kHzと1422 kHzの測定値が、 他の較正点が作る直線から系統的に外れていました。

594 kHzだけを残すと StdDev 0.25 Hz。

1422 kHzだけを残すと StdDev 0.30 Hz。

両方とも除外すると 0.08 Hzまで改善しました。

ただし、ここは重要
この結果だけを見て、 「594 kHz局と1422 kHz局の送信周波数がずれている」 と断定することはできません。

送信側の周波数偏差、 伝搬経路による周波数変動、 受信条件、 その他の要因が含まれる可能性があります。

今回確認できた事実は、 この測定条件では、 594 kHzと1422 kHzを較正点として含めない方が、 他の測定点との整合性が大幅に向上した ということです。

AM放送局をFreqCalに使う時の注意

WSJT-XのUser Guideでも、 大都市圏のAM放送局は 低い周波数側のFreqCal用基準として利用できると紹介されています。

実際、 AM局は強力かつ常時受信できることが多く、 非常に便利です。

ただし今回の測定からも分かるように、

公称周波数だからといって、 サブHz精度の絶対基準として無条件に採用しない
複数のAM放送局と、 5 / 10 / 15 / 20 MHzなどの 他の基準信号を比較し、

全体の傾向から明らかに外れていないか を見ることが重要です。

特に今回のように、 0.1 Hz単位まで見始めると、 「無線機の誤差」だけではなく、 基準として使っている信号側の差まで 見えてくる可能性があります。

今回採用した最終値

以上の比較から、 今回は594 kHzと1422 kHzを 較正点から除外した結果を採用しました。

FINAL CALIBRATION
Slope      +0.004 ±0.001 ppm
Intercept  +0.05 ±0.01 Hz
N         123
StdDev     0.08 Hz

この較正式を50 MHzに当てはめると、

0.05 + 0.004 × 50
= 約0.25 Hz

となります。

もちろん、 これはGPSDOや高精度周波数カウンターを使用した 研究所レベルの絶対周波数校正ではありません。

電離層伝搬、 フェージング、 Doppler、 受信機内部温度などの影響も存在します。

それでも、 通常のアマチュア無線局で、 特別な測定器を使わず、 この程度まで追い込めれば、 FT8などの実運用上は十分だと思います。

今回の教訓
・FreqCalでは、 *付きの低S/Nデータだけを見ればよいわけではない。

・測定値が正常に見えても、 較正点そのものが他の周波数と整合しているか確認する。

・Slopeは周波数依存の誤差。

・Interceptは直線近似の固定オフセット成分。

・StdDevは、 各測定点が近似直線からどの程度散らばっているかを見る指標。

・今回の測定では、 594 / 1422 kHzを除外することで StdDevが0.32 Hzから0.08 Hzへ改善。

・最終的に Slope +0.004 ppm、 Intercept +0.05 Hz を採用した。

FreqCalは、 単に 「無線機の周波数を合わせる機能」 として使うだけでも便利ですが、

こうして測定値を比較していくと、 リグ、 伝搬、 基準信号、 直線近似の関係まで見えてくる ので、 なかなか面白いツールです。

JP1LRT
2026年9月29日

WSJT-X FreqCal: From Rig Frequency Adjustment to Final Calibration ― 2026年09月29日 19時43分58秒

WSJT-X / FreqCal / PRACTICAL FREQUENCY CALIBRATION
From Rig Frequency Adjustment
to Final Calibration
FreqCal is not only a tool for calculating Slope and Intercept. It can also be used as a very useful measurement tool when adjusting the reference frequency of the radio itself.

This article describes the complete workflow I currently use, including the practical use — and evaluation — of local AM broadcast carriers.

Accurate frequency calibration is particularly important for digital modes such as FT8, and even more so when operating on 50 MHz and above.

WSJT-X includes a very useful tool for this purpose: FreqCal.

A common way to think about FreqCal is:

Measure several known frequencies → calculate Slope and Intercept → Apply.

That works, but I think FreqCal is even more useful if we use it one step earlier.

My preferred sequence is:

1. Warm up the radio.

2. Use FreqCal to observe the current frequency error.

3. Adjust the radio's hardware reference frequency first, if the radio provides such an adjustment.

4. Once the hardware adjustment is finalized, start a fresh FreqCal measurement session.

5. Use several reliable calibration frequencies, including suitable local AM broadcast stations if available.

6. Inspect the collected data before calculating the final correction.

7. Solve for Slope and Intercept and apply the final software correction.

1. Let the radio stabilize first

Do not begin precision adjustment immediately after power-on.

The reference oscillator will normally drift as the radio warms up. In practical amateur use, 30 to 60 minutes may often be sufficient, but I do not consider a fixed number of minutes to be the real criterion.

A better approach is to use FreqCal itself: watch a stable reference signal and confirm that the measured offset has stopped moving consistently in one direction.

The important criterion is stability, not the clock.

2. Use FreqCal to adjust the radio itself first

If your transceiver has an internal reference-frequency adjustment, I recommend correcting the radio itself before relying on software compensation.

On the IC-7300, for example, this is the REF Adjust setting. Other transceivers may use a different name.

Switch WSJT-X to FreqCal mode and receive a reliable reference signal.

During FreqCal operation, WSJT-X tunes the radio so that the reference carrier should appear at approximately 1500 Hz in the audio passband.

For the initial coarse adjustment, I prefer to use the highest reference frequency that can be received reliably at that time.

Why the highest reliable frequency?

A reference-oscillator error expressed in ppm produces a larger absolute error in Hz as frequency increases.

Therefore, the higher-frequency reference usually gives greater sensitivity when making a coarse hardware adjustment.

Adjust the radio's reference until the measured carrier is as close as practical to the expected 1500 Hz position.

This is only the first step. Do not assume that a single frequency proves the radio is perfectly calibrated.

3. Check several frequencies

Once the rough REF adjustment is close, let FreqCal cycle through several reference frequencies.

With a modern synthesized transceiver, the remaining frequency error should approximately follow a straight-line relationship with frequency.

Dial error = Intercept + Slope × f
f = frequency in MHz

This multi-frequency check is important.

A radio may appear almost perfect at one frequency while still showing a residual frequency-dependent error across the band.

If necessary, make a final small adjustment to the radio's hardware reference, then leave it alone.

Important: delete the old fmt.all after changing REF Adjust
Measurements made with different hardware reference settings must not be mixed in the final calibration fit.

Changing REF Adjust changes the radio's actual frequency calibration state. Data measured before and after that adjustment therefore represent different radios, mathematically speaking.

Once the hardware adjustment is finalized:

Delete the previous fmt.all and begin a completely new FreqCal measurement session.

4. Start the final FreqCal measurement

Now the radio's hardware reference is fixed.

Enable Measure and let FreqCal run through the chosen calibration frequencies several times.

In current WSJT-X versions, existing Slope and Intercept correction values are automatically disabled while Measure is active.

Therefore, you do not need to manually set Slope and Intercept to zero before collecting new measurement data.

The measurement results are stored in:

fmt.all

5. Use suitable reference signals

Use only signals that are reliably receivable at your location.

It is not necessary to force every nominal calibration frequency into the measurement. Propagation conditions change, and some frequencies may be weak or unusable at a particular time.

The WSJT-X User Guide also notes that major-city AM broadcast stations can serve well as calibration signals at the low-frequency end of the spectrum.

I agree — they are very useful.

But there is an important practical point.

Use your own local AM stations
The AM frequencies discussed below are examples from my location in Tokyo, Japan.

Do not copy my frequency list simply because it appears here.

Use strong, stable AM broadcast carriers available in your own area.

If you have several suitable AM stations, I think it is perfectly reasonable to include all of them initially.

Then collect several FreqCal cycles and look at the results.

WSJT-X FreqCal measurement example

Example from my station in Tokyo. The AM frequencies shown here are local examples only.

6. Before solving, inspect DF

This is the additional step I now recommend.

Before simply accepting all collected measurements, look at the reported DF values in frequency order.

After the radio's hardware reference has already been reasonably adjusted, the remaining frequency error should normally follow an approximately linear trend with frequency.

For example, if the residual error is increasing with frequency, a higher-frequency reference would generally be expected to continue along that same trend.

If one station at a higher frequency suddenly shows a distinctly smaller deviation than the lower-frequency stations, or otherwise reverses the overall trend, that point deserves closer examination.

Do not immediately assume the station is wrong.

Instead, treat it as a candidate for a sensitivity test: remove that station temporarily, recalculate the calibration parameters, and compare the result.

7. Recalculate with suspicious AM points removed

A practical procedure is:

1. Start with all reliable local AM stations included.

2. Run several FreqCal cycles.

3. Remove obviously unreliable low-SNR measurements and other clear outliers.

4. Solve once using the complete data set.

5. Examine DF in frequency order.

6. If one AM station breaks the overall frequency-dependent trend, temporarily remove it from fmt.all.

7. Solve again.

8. Compare Slope, Intercept and StdDev.

9. If several stations appear questionable, test them individually and in combination.

8. What do Slope, Intercept and StdDev mean?

Slope

Slope is the frequency-dependent part of the error, expressed in ppm.

A smaller absolute Slope means that less residual error grows with frequency.

Intercept

Intercept is the fitted error at 0 MHz, expressed in Hz.

It is not an actual measurement at 0 MHz. It is the intercept obtained by extending the fitted straight line.

StdDev

WSJT-X defines StdDev here as the root mean square deviation of the averaged measurements from the fitted straight line.

In practical terms:

StdDev Meaning
Larger The measured points are more widely scattered around the fitted line
Smaller The measured points agree more closely with a single straight-line model
A small StdDev does not, by itself, prove absolute frequency accuracy.

It tells us how well the selected measurements agree with the fitted model. The reference signals themselves must still be credible.

9. What happened in my Tokyo measurement

At my location, two AM frequencies appeared inconsistent with the overall trend:

  • 594 kHz
  • 1422 kHz

I therefore compared four calibration data sets.

Data set Slope Intercept StdDev
All data +0.029 ppm -0.33 Hz 0.32 Hz
1422 kHz removed +0.019 ppm -0.18 Hz 0.25 Hz
594 kHz removed +0.021 ppm -0.22 Hz 0.30 Hz
594 + 1422 kHz removed +0.004 ppm +0.05 Hz 0.08 Hz
StdDev: 0.32 Hz → 0.08 Hz

Removing both AM frequencies produced a much tighter fit to the remaining calibration data.

The final solution I adopted was:

FINAL CALIBRATION
Slope      +0.004 ±0.001 ppm
Intercept  +0.05 ±0.01 Hz
N         123
StdDev     0.08 Hz
What this does NOT mean
This result does not prove that the transmitters on 594 kHz or 1422 kHz were improperly adjusted.

Possible causes include the actual carrier offset, propagation effects, short-term variation, S/N, fading, receiver effects, and measurement uncertainty.

The justified conclusion is simply:

under my measurement conditions, those two signals were less consistent with the overall calibration trend than the other reference signals.

10. Apply and verify

Once you are satisfied with the data selection and the calculated fit, use Apply to set the resulting Slope and Intercept in WSJT-X.

Then clear Measure and run FreqCal again.

With Measure off, the calibration correction is active, so this gives a useful visual check of the final result.

If you use JTDX with the same radio and the same CAT frequency reference, the same calibration parameters can also be used there.

Summary
Use FreqCal first as a measurement instrument, not merely as a software correction calculator.

Adjust the radio's hardware reference first if possible.

After the hardware adjustment is finalized, delete the old fmt.all and start fresh.

Use several reliable reference frequencies.

As recommended in the WSJT-X User Guide, local AM broadcast carriers can be useful at the low-frequency end.

If several local AM stations are available, it is reasonable to include them all initially.

Then inspect DF and look for stations that do not follow the overall frequency-dependent trend.

Temporarily remove suspicious points, solve again, and compare Slope, Intercept and StdDev.

Do not remove data simply to make the numbers look better — use the recalculation as a consistency test.

FreqCal is much more interesting when used this way.

It is not only a frequency-correction function. It is also a useful tool for understanding the complete frequency behavior of the radio and the reference signals being used to calibrate it.

References
WSJT-X User Guide — Frequency Calibration
https://wsjt.sourceforge.io/wsjtx-main_en.html

WSJT-X Frequency Measurement Tools
https://wsjt.sourceforge.io/FMT_User.pdf

Related Japanese article
https://jp1lrt.asablo.jp/blog/2026/09/29/9879123
JP1LRT
Tokyo, Japan
September 29, 2026