ラジオのダイヤルを回すと、数百もの放送局の中から目当ての1局だけを選び出せます。しかし考えてみると、これは驚くべきことです。AM放送帯だけでも 531 kHz から 1602 kHz まで広がっており、各局の占有帯域幅はわずか 9 kHz 程度にすぎません。この「大量の信号の中から特定の1局を高精度に分離する」という課題を、もっとも巧みに解決した方式がスーパーヘテロダイン受信機です。
スーパーヘテロダイン方式は 1918 年にエドウィン・アームストロングが考案して以来、100年以上にわたってほぼすべてのラジオ・テレビ・携帯電話・衛星通信受信機の基本アーキテクチャとして使い続けられています。その鍵は周波数変換(ヘテロダイン)という操作にあります。受信した高周波信号を一度「中間周波数(IF: Intermediate Frequency)」と呼ばれる固定の低い周波数に変換してから増幅・選択することで、高感度・高選択度・高安定度を同時に実現します。
この原理を理解すると、以下のような幅広い応用が見えてきます。
- 無線通信システム設計: AM/FM ラジオ、携帯電話(GSM, LTE)、Wi-Fi 受信機の全てがスーパーヘテロダイン方式またはその発展形を使っています
- レーダー工学: パルスドップラーレーダーの受信部はスーパーヘテロダイン構成であり、IF 段でドップラーシフトを精密に抽出します
- 衛星通信: ダウンリンク信号は GHz 帯の高周波であり、地上局ではスーパーヘテロダイン方式で IF に変換した後に復調します
本記事の内容
- 受信機に求められる3つの性能指標(感度・選択度・安定度)
- 直接増幅方式の限界とスーパーヘテロダインが生まれた理由
- ヘテロダイン原理の数学的導出
- 構成ブロックの役割(RF増幅→ミキサー→IF増幅→検波→AF増幅)
- 中間周波数の選び方とトレードオフ
- イメージ周波数妨害のメカニズムと対策
- ダブルスーパーヘテロダイン方式
- AGC(自動利得制御)の役割
- 受信機性能指標の定量的な定義
- Python による周波数変換スペクトルとイメージ妨害のシミュレーション
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
受信機に求められる3つの基本性能
スーパーヘテロダイン方式の優れた点を理解するには、まず「良い受信機」とは何かを定義しておく必要があります。受信機の性能は、大きく分けて次の3つの指標で評価されます。
感度(Sensitivity)
感度とは、どれだけ微弱な信号を受信できるかを表す指標です。遠方の放送局や微弱な衛星信号を捉えるには、受信機内部の雑音よりも十分に大きい信号レベルを確保しなければなりません。定量的には、「所定の信号対雑音比(SN比)を得るために必要な最小入力信号電力」で定義されます。
感度を高めるには、増幅器のゲインを大きくするだけでは不十分です。増幅器自身が発生する内部雑音も一緒に増幅されるためです。重要なのは信号対雑音比(SNR)を改善することであり、そのためには低雑音の増幅段を適切に配置する必要があります。
選択度(Selectivity)
選択度とは、目的の信号と隣接する不要信号をどれだけ鋭く分離できるかを表す指標です。AM放送帯では隣接局が 9 kHz 間隔で並んでいるため、目的の局の帯域だけを通過させ、隣接局を十分に減衰させるフィルタ特性が求められます。
選択度は、フィルタの通過帯域幅と、通過帯域から外れた領域でのどれだけ信号を減衰できるか(形状係数やスカート特性と呼ばれます)で評価されます。理想的には、通過帯域内はフラットで、その外側では急峻に減衰する「壁のような」特性が望まれます。
安定度(Stability)
安定度とは、時間経過や温度変化に対して受信周波数がどれだけ安定しているかを表す指標です。高周波で動作する発振器や増幅回路は、温度変化やコンポーネントの経年劣化によって特性がドリフトしやすくなります。受信中に周波数がずれてしまうと、放送が途切れたり音質が劣化したりします。
これら3つの指標をすべて同時に高水準で満たすことが、実用的な受信機の条件です。しかし直接増幅方式では、この3つを同時に達成することが困難です。その限界を確認してみましょう。
直接増幅方式の限界
スーパーヘテロダイン方式が登場する以前の主流は直接増幅方式(TRF: Tuned Radio Frequency)と呼ばれるアーキテクチャでした。TRF受信機は、受信周波数のまま同調回路(共振回路)と増幅器を複数段直列に接続して、目的信号の選択と増幅を行います。
一見シンプルで合理的に思えるこの方式には、深刻な問題がありました。
問題1: 周波数によって選択度が変わる
共振回路の Q 値(品質係数)が一定の場合、通過帯域幅 $B$ は共振周波数 $f_0$ と次の関係にあります。
$$ B = \frac{f_0}{Q} $$
たとえば $Q = 100$ の共振回路でAM放送帯を受信する場合を考えます。530 kHz では帯域幅が $530/100 = 5.3$ kHz となり適切ですが、1600 kHz では $1600/100 = 16$ kHz に広がってしまいます。隣接局の間隔が 9 kHz であることを考えると、高い周波数では隣接局の信号が漏れ込んでしまい、選択度が低下します。
問題2: 複数段の同調回路の連動が困難
選択度を高めるために同調回路を複数段直列に接続する(カスケード接続する)方法がありますが、受信周波数を変えるたびに全段の同調周波数を同時に変更する必要があります。バリコン(可変コンデンサ)を連動させる「ギャング・チューニング」が必要ですが、広い周波数範囲にわたって全段の同調周波数を精密に一致させることは機械的に非常に困難でした。
問題3: 高周波での高ゲイン増幅が不安定
高周波帯で大きな増幅率を得ようとすると、増幅段間の寄生結合(段間のストレー容量を通じた帰還)によって発振が生じやすくなります。特にラジオの初期時代の真空管では、グリッド-プレート間容量が無視できず、高ゲインの安定動作が困難でした。
これらの問題は、受信周波数が高くなるほど深刻化します。つまり直接増幅方式は、広い周波数範囲にわたって高感度・高選択度・高安定度を同時に実現するには本質的に不向きなのです。
この困難を一挙に解決したのが、「受信した高周波信号を一定の中間周波数に変換してから処理する」というアイデア、すなわちスーパーヘテロダイン方式です。それでは、その心臓部であるヘテロダイン原理(周波数変換)の数学を見ていきましょう。
ヘテロダイン原理 — 周波数変換の数学
ヘテロダイン(heterodyne)とは、ギリシャ語の hetero(異なる)と dynamis(力)に由来する言葉で、2つの異なる周波数の信号を掛け合わせることで新しい周波数を生み出すことを意味します。楽器のチューニングで2つの音を同時に鳴らすと「うなり」が聞こえる現象と本質的に同じ原理です。
受信信号の周波数を $f_s$、受信機内部の局部発振器(Local Oscillator: LO)が生成する信号の周波数を $f_{\text{LO}}$ とします。この2つの信号を「ミキサー」と呼ばれる非線形回路で掛け合わせると、三角関数の積和公式によって和周波数と差周波数の成分が生じます。
具体的に、受信信号とLO信号をそれぞれ次のように表します。
$$ v_s(t) = A_s \cos(2\pi f_s t) $$
$$ v_{\text{LO}}(t) = A_{\text{LO}} \cos(2\pi f_{\text{LO}} t) $$
ミキサーの出力はこの2つの積です。
$$ v_{\text{mix}}(t) = v_s(t) \cdot v_{\text{LO}}(t) = A_s A_{\text{LO}} \cos(2\pi f_s t) \cos(2\pi f_{\text{LO}} t) $$
ここで、三角関数の積和公式を適用します。
$$ \cos\alpha \cos\beta = \frac{1}{2}[\cos(\alpha – \beta) + \cos(\alpha + \beta)] $$
$\alpha = 2\pi f_s t$, $\beta = 2\pi f_{\text{LO}} t$ を代入すると、
$$ v_{\text{mix}}(t) = \frac{A_s A_{\text{LO}}}{2}\left[\cos\bigl(2\pi(f_s – f_{\text{LO}})t\bigr) + \cos\bigl(2\pi(f_s + f_{\text{LO}})t\bigr)\right] $$
と変形できます。この式は、ミキサー出力には差周波数 $|f_s – f_{\text{LO}}|$ の成分と和周波数 $(f_s + f_{\text{LO}})$ の成分の2つが含まれることを示しています。
スーパーヘテロダイン受信機では、差周波数成分を中間周波数(IF: Intermediate Frequency)として利用します。
$$ \begin{equation} f_{\text{IF}} = |f_s – f_{\text{LO}}| \end{equation} $$
和周波数成分 $(f_s + f_{\text{LO}})$ は IF フィルタで除去されます。この和周波数は受信信号の2倍以上の高周波であるため、フィルタで容易に分離できます。
ヘテロダイン方式の決定的な利点
ここで重要なのは、受信周波数 $f_s$ が変わっても、$f_{\text{LO}}$ を適切に追従させることで IF 周波数を常に一定に保てるという点です。
たとえば、IF を 455 kHz に設定し、$f_{\text{LO}} = f_s + 455$ kHz と設定すれば(上側ヘテロダイン)、どの放送局を選局しても IF は必ず 455 kHz になります。すると、IF段の増幅器とフィルタは 455 kHz という固定周波数だけに最適化すればよく、以下のメリットが得られます。
- 選択度が周波数に依存しない: IF フィルタの帯域特性は固定なので、受信周波数が変わっても選択度は一定
- 高ゲインを安定に実現できる: 固定周波数での増幅はシールドや回路設計が容易で、寄生発振を防ぎやすい
- 同調操作が局部発振器1つだけ: 全段を連動させる必要がなく、LO の周波数を変えるだけで選局できる
直接増幅方式の3つの問題が、周波数変換という1つのアイデアで全て解決されたことがわかります。
それでは、この原理を実現する具体的な回路ブロックを順に見ていきましょう。
スーパーヘテロダイン受信機の構成ブロック
スーパーヘテロダイン受信機は、信号の流れに沿って5つの主要ブロックで構成されます。アンテナで捕捉された電磁波が、各ブロックを通過しながら段階的に処理され、最終的にスピーカーやデータ処理回路に渡される音声・情報信号となります。
1. RF増幅段(Radio Frequency Amplifier)
アンテナで受信された微弱な高周波信号を、最初に増幅するブロックです。RF増幅段には主に2つの役割があります。
(a)初段低雑音増幅
受信機全体のSN比は、フリスの公式によって初段の雑音特性で大きく決まります。フリスの公式は、カスケード接続された増幅器系の等価雑音指数 $F_{\text{total}}$ を次のように表します。
$$ F_{\text{total}} = F_1 + \frac{F_2 – 1}{G_1} + \frac{F_3 – 1}{G_1 G_2} + \cdots $$
ここで $F_n$ は第 $n$ 段の雑音指数、$G_n$ は第 $n$ 段の利得です。第1段の雑音指数 $F_1$ がそのまま全体に加算され、後段の雑音は前段の利得 $G_1$ で割って寄与が小さくなります。したがって、RF増幅段には低雑音で十分な利得をもつ増幅器を使うことが極めて重要です。
(b)イメージ周波数の事前除去
RF増幅段に設けられた同調回路は、ある程度の選択性をもっており、イメージ周波数(後述)の信号をここである程度抑圧します。この「プリセレクタ」機能により、ミキサーに入る不要信号のレベルを下げることができます。
2. ミキサー(周波数変換器)
RF増幅段からの信号と局部発振器(LO)の信号を掛け合わせ、中間周波数(IF)信号を生成するブロックです。前節で導出した通り、出力には差周波数成分と和周波数成分が含まれます。
理想的なミキサーは入力信号同士の純粋な乗算を行いますが、実際のミキサー回路(ダイオードミキサー、ギルバートセルなど)は非線形素子を利用して近似的に乗算を実現しています。このため、目的の差周波数成分以外にも高調波混合成分(スプリアス)が生じ、これらが後段のIF帯域に落ち込まないよう設計する必要があります。
ミキサーの性能指標として重要なのが変換損失(Conversion Loss)です。これはRF入力電力に対するIF出力電力の比で、パッシブミキサー(ダイオードミキサーなど)では通常 6〜8 dB の変換損失があります。一方、アクティブミキサー(ギルバートセルなど)では変換利得を得ることも可能です。
3. 局部発振器(Local Oscillator: LO)
中間周波数を生成するための基準信号を供給するブロックです。選局操作は、このLOの発振周波数を変えることで行います。
LO信号の周波数安定度は、受信周波数の安定度を直接左右します。もしLO周波数がドリフトすると、IF周波数もドリフトし、IF フィルタの中心からずれて感度低下や歪みが生じます。そのため、現代の受信機ではPLL(Phase Locked Loop: 位相同期ループ)シンセサイザーや水晶発振器を使って高い周波数安定度を確保しています。
4. IF増幅段とIFフィルタ
ミキサーから出力された IF 信号を増幅し、高い選択度で目的の信号帯域のみを通過させるブロックです。ここがスーパーヘテロダイン受信機の心臓部と言えます。
IF段の特筆すべき点は、固定周波数での最適化が可能なことです。帯域通過フィルタ(BPF)をIFの固定周波数に合わせて設計できるため、セラミックフィルタ、水晶フィルタ、SAW(表面弾性波)フィルタなど、高性能な固定周波数フィルタを使用できます。これにより、直接増幅方式では達成困難だった急峻な選択特性が実現します。
IF増幅器は通常複数段で構成され、総合利得は 60〜100 dB にも達します。この高ゲインを固定周波数で安定に実現できるのは、スーパーヘテロダイン方式の大きな強みです。
5. 検波器(Detector / Demodulator)
IF信号から変調されていた元の情報信号(音声、データなど)を取り出すブロックです。AM受信機では包絡線検波器が、FM受信機では周波数弁別器やPLL検波器が使われます。
検波方式については、前提記事のAM変調の理論と数学的導出を解説して実装するおよびFM変調の理論とカーソンの帯域幅則を導出するで詳しく解説していますので、本記事では割愛します。
6. AF増幅段(Audio Frequency Amplifier)
検波器から出力された音声信号(または低周波の情報信号)を、スピーカーやヘッドホンを駆動できるレベルまで増幅する最終段です。
以上の6ブロックを信号の流れに沿って並べると、スーパーヘテロダイン受信機の全体像が見えてきます。ここで1つの重要な問いが浮かびます — IF周波数をいくらに設定するのが最適なのでしょうか? この選択は受信機の性能を大きく左右します。
中間周波数(IF)の選び方とトレードオフ
IF周波数の選定は、受信機設計における最も重要な判断の1つです。直感的には「低い方が増幅やフィルタリングが楽そうだ」と感じるかもしれませんが、実際には相反する複数の要件のバランスを取る必要があります。
IFを高く設定した場合のメリットとデメリット
IFを高くすると、受信信号とイメージ周波数との間隔(後述しますが、正確には $2f_{\text{IF}}$ の間隔)が広がります。これはRF同調回路によるイメージ除去が容易になるため、イメージ妨害に強くなるという大きなメリットがあります。
一方、高いIFでは以下のデメリットがあります。
- 選択度の確保が困難: IF フィルタの比帯域幅 $B/f_{\text{IF}}$ が小さくなるため、急峻なフィルタ特性を実現するのが難しくなります
- 増幅の安定性が低下: 周波数が高いほど寄生結合の影響を受けやすく、安定した高ゲイン増幅が困難です
IFを低く設定した場合のメリットとデメリット
IFを低くすると、IF フィルタの比帯域幅が相対的に大きくなるため、高い選択度を実現しやすくなります。また低い周波数での増幅は安定に大きなゲインが得られます。
しかし低いIFでは、イメージ周波数が受信信号の近傍に来るため、RF同調回路だけではイメージ信号を十分に除去しきれないという深刻なデメリットがあります。
標準的なIF値
このトレードオフを踏まえて、歴史的に以下の標準的なIF値が採用されてきました。
| 用途 | 標準IF | 理由 |
|---|---|---|
| AM放送受信機 | 455 kHz | 選択度とイメージ除去の妥協点 |
| FM放送受信機 | 10.7 MHz | FM帯域幅(200 kHz)を通しつつイメージを分離 |
| テレビ受信機 | 数十 MHz | 映像帯域幅(数 MHz)に対応 |
| 衛星通信 | 70 MHz / 140 MHz | GHz帯からの変換、広帯域信号に対応 |
たとえばAM放送の場合、受信帯域は 531〜1602 kHz です。IF = 455 kHz に設定すると、イメージ周波数は目的信号から $2 \times 455 = 910$ kHz 離れた場所に現れます。この 910 kHz の間隔があれば、RF同調回路の Q 値が比較的低くても十分なイメージ除去比が得られます。
一方、FM放送の場合、受信帯域は 76〜95 MHz(日本の場合)で、各局の帯域幅は約 200 kHz です。もしIF を 455 kHz にすると、イメージ周波数との間隔はわずか 910 kHz となり、80 MHz 帯の RF 同調回路でこの分離を達成するのは事実上不可能です。そのため、FM受信機では IF = 10.7 MHz と大幅に高く設定し、イメージとの間隔を $2 \times 10.7 = 21.4$ MHz に確保しています。
IF の選定が受信機の性能に本質的に関わることがわかったところで、次はスーパーヘテロダイン方式に固有の最大の弱点であるイメージ周波数妨害について詳しく見ていきます。
イメージ周波数妨害のメカニズムと対策
イメージ周波数とは何か
ヘテロダイン原理を数学的に振り返ると、ミキサー出力の差周波数成分は $|f_s – f_{\text{LO}}|$ でした。ここで重要な点に気づきます — この絶対値があるため、2つの異なる受信周波数がまったく同じIF信号を生成してしまうのです。
具体的に考えましょう。LO周波数が受信信号より高い「上側ヘテロダイン」の場合を例にとります。
$$ f_{\text{LO}} = f_s + f_{\text{IF}} $$
このとき、目的信号の周波数 $f_s$ に対して
$$ f_{\text{IF}} = f_{\text{LO}} – f_s $$
です。ところが、$f_s$ とは別の周波数
$$ f_{\text{img}} = f_{\text{LO}} + f_{\text{IF}} = f_s + 2f_{\text{IF}} $$
の信号がアンテナに入ってきた場合も考えてみます。この信号とLOの差周波数を計算すると、
$$ f_{\text{img}} – f_{\text{LO}} = (f_s + 2f_{\text{IF}}) – (f_s + f_{\text{IF}}) = f_{\text{IF}} $$
となり、目的信号とまったく同じIF周波数が生成されてしまいます。
この $f_{\text{img}} = f_s + 2f_{\text{IF}}$ をイメージ周波数(image frequency)と呼びます。イメージ周波数は、LOの周波数を挟んで目的信号と対称な位置にあり、目的信号との間隔は正確に $2f_{\text{IF}}$ です。
イメージ周波数妨害の深刻さ
イメージ周波数の信号は、IF フィルタでは除去できません。なぜなら、IF に変換された時点では目的信号とまったく同じ周波数だからです。つまり、IF 段に到達する前、すなわちミキサーの前段で除去する必要があります。
たとえば、AM 放送で 1000 kHz の局を受信する場合(IF = 455 kHz、上側ヘテロダイン)を考えます。
- LO周波数: $f_{\text{LO}} = 1000 + 455 = 1455$ kHz
- イメージ周波数: $f_{\text{img}} = 1000 + 2 \times 455 = 1910$ kHz
1910 kHz に他の放送局(短波帯の端付近)が存在すれば、その信号もIF = 455 kHz に変換されて目的信号に混入します。
イメージ除去比(Image Rejection Ratio)
RF同調回路によるイメージ信号の抑圧能力をイメージ除去比(IRR)で定量化できます。RF同調回路を、目的信号 $f_s$ に同調させた Q 値 $Q$ の並列共振回路とすると、イメージ周波数 $f_{\text{img}}$ における減衰量は、正規化離調パラメータ
$$ \rho = \frac{f_{\text{img}}}{f_s} – \frac{f_s}{f_{\text{img}}} $$
を用いて近似的に
$$ \text{IRR} \approx \sqrt{1 + (Q \rho)^2} $$
と表せます。$f_{\text{img}} = f_s + 2f_{\text{IF}}$ を代入すると、
$$ \rho = \frac{f_s + 2f_{\text{IF}}}{f_s} – \frac{f_s}{f_s + 2f_{\text{IF}}} $$
この式から、IRR を大きく(イメージ除去を強く)するには以下の方法があることがわかります。
- Q 値を高くする: 共振回路の選択性を上げる。ただし帯域幅が狭くなりすぎると目的信号まで減衰するおそれがある
- $f_{\text{IF}}$ を高くする: $\rho$ が大きくなり、IRR が改善する。前節で述べたIF選定のトレードオフそのもの
- RF同調回路を複数段にする: 総合IRR は各段の IRR の積になる
対策手法の整理
実際の受信機では、以下の対策を組み合わせてイメージ妨害を抑えます。
(1)RF プリセレクタ: ミキサー前段に同調回路(バンドパスフィルタ)を設け、イメージ周波数帯の信号を減衰させます。AM受信機ではバリコン連動型のRF同調回路が一般的です。
(2)高いIFの採用: 先述の通り、IFを高くすることでイメージ周波数を目的信号から遠ざけます。
(3)ダブルスーパーヘテロダイン方式: 2回の周波数変換を行うことで、イメージ除去と選択度の両立を図ります。これは次節で詳しく解説します。
(4)イメージリジェクションミキサー: ハートレー型やウィーバー型と呼ばれる特殊なミキサー構成を用いて、回路上でイメージ成分を相殺する手法です。直交信号(I/Q信号)を利用し、イメージ成分を位相的にキャンセルします。
イメージ妨害対策の中でも、実用上もっとも広く使われているのがダブルスーパーヘテロダイン方式です。
ダブルスーパーヘテロダイン方式
単一IF方式の限界を超える
前節で述べたように、IF の選定にはイメージ除去(高IF有利)と選択度(低IF有利)のトレードオフがあります。ダブルスーパーヘテロダイン方式は、周波数変換を2回行うことでこのトレードオフを解消する方式です。
構成は以下の通りです。
- 第1ミキサー + 第1IF(高い中間周波数): 受信信号をまず高い第1IFに変換する。イメージ周波数が受信信号から十分離れるため、簡単なRFプリセレクタでイメージを除去できる
- 第2ミキサー + 第2IF(低い中間周波数): 第1IF信号をさらに低い第2IFに変換する。低い周波数では高い選択度のフィルタ(水晶フィルタ等)を使いやすく、隣接チャンネルの分離が容易
数学的な表現
受信信号の周波数を $f_s$、第1LOの周波数を $f_{\text{LO1}}$、第2LOの周波数を $f_{\text{LO2}}$ とすると、
$$ f_{\text{IF1}} = |f_s – f_{\text{LO1}}| $$
$$ f_{\text{IF2}} = |f_{\text{IF1}} – f_{\text{LO2}}| $$
たとえば、VHF帯(100 MHz付近)の通信受信機の場合、
- 第1IF: 10.7 MHz(イメージ周波数が $2 \times 10.7 = 21.4$ MHz 離れて除去が容易)
- 第2IF: 455 kHz(高い選択度が実現可能)
とすることで、イメージ除去と選択度を両立できます。
ダブルスーパーヘテロダインの注意点
ダブル方式にも課題があります。周波数変換が2回行われるため、第2IFにもイメージ周波数が存在します。第2イメージ周波数は第1IF信号に対して $f_{\text{IF1}} + 2f_{\text{IF2}}$ または $f_{\text{IF1}} – 2f_{\text{IF2}}$ の位置に現れます。これは第1IFフィルタの選択度で抑圧する必要があります。
また、2つの局部発振器が必要になるため回路が複雑化し、各LOのスプリアス信号や相互干渉にも注意が必要です。
コスト・回路規模と性能のバランスに関わる議論を踏まえた上で、次はスーパーヘテロダイン受信機のもう1つの重要な機能であるAGCについて解説します。
AGC(自動利得制御)の役割
なぜAGCが必要か
実際の受信環境では、入力信号のレベルは大きく変動します。近くの強力な放送局から遠方の微弱な放送局に切り替えたとき、あるいは移動体通信でフェージング(電波の強度変動)が生じたとき、入力信号のレベルは 80〜100 dB 以上も変化することがあります。
受信機の増幅器ゲインが固定だと、弱い信号では出力が小さすぎて聞こえず、強い信号では増幅器が飽和して歪みが生じます。この問題を自動的に解決するのがAGC(Automatic Gain Control: 自動利得制御)です。
AGCの基本動作原理
AGCは、IF増幅段の出力信号レベル(または検波出力レベル)を検出し、その大きさに応じてIF増幅器(場合によってはRF増幅器も含む)の利得を制御するフィードバック系です。
動作を数式で表現しましょう。IF増幅段の利得を $G(V_c)$ とし、AGC制御電圧を $V_c$ とします。IF段の出力電圧 $V_{\text{out}}$ は入力電圧 $V_{\text{in}}$ に対して
$$ V_{\text{out}} = G(V_c) \cdot V_{\text{in}} $$
AGC回路はこの $V_{\text{out}}$ を検出し、目標レベル $V_{\text{ref}}$ との誤差に基づいて制御電圧 $V_c$ を調整します。
$$ V_c = f(V_{\text{out}} – V_{\text{ref}}) $$
ここで $f$ はAGCループのフィルタ特性(積分器を含む)を表します。結果として、入力信号レベルが大きく変動しても、出力レベルはほぼ一定に保たれます。
AGCの時定数
AGCループのフィードバック速度を決める時定数は重要な設計パラメータです。
- 時定数が短すぎる場合: AGCが変調信号の振幅変動にまで追従してしまい、変調成分が抑圧されます。AM信号の場合、包絡線(= 音声情報)がつぶれてしまいます
- 時定数が長すぎる場合: 急激な信号レベルの変化(フェージングなど)に追従できず、一時的な過大入力による歪みや信号喪失が生じます
一般的な設計指針として、AGCの時定数は変調信号の最低周波数の周期よりも十分長く、かつフェージングの変動速度には追従できる程度に設定します。AM放送受信機の場合、典型的には 0.1〜0.5 秒程度の時定数が使われます。
AGCの適用範囲
AGCは通常IF増幅段に適用されますが、入力信号のダイナミックレンジが非常に大きい場合は、RF増幅段にもAGCを適用します。これを遅延AGC(delayed AGC)と呼びます。弱い信号のときはRF段のゲインを最大に保ち(感度を確保)、信号が一定レベルを超えた時点でRF段のゲインも下げ始めます。RF段のゲインを下げることで、ミキサーに入る信号レベルを制限し、ミキサーの非線形歪み(相互変調歪みなど)を防ぎます。
AGCによって受信機のダイナミックレンジが大幅に拡大されることがわかりました。最後に、受信機の性能を定量的に評価するための指標を整理しておきましょう。
受信機性能指標の定量的定義
感度の定量化
感度は「所定のSN比を得るために必要な最小入力信号電力」で定義されますが、具体的な指標として最小検出可能信号(MDS: Minimum Detectable Signal)や雑音指数(NF: Noise Figure)が使われます。
受信機全体の等価入力雑音電力は、ボルツマン定数 $k$、システム温度 $T$、雑音帯域幅 $B_n$、雑音指数 $F$ を用いて
$$ P_{n,\text{in}} = kTB_n F $$
と表されます。ここで $kT$ は単位帯域幅あたりの熱雑音電力密度で、室温($T = 290$ K)では
$$ kT = 1.38 \times 10^{-23} \times 290 \approx 4.00 \times 10^{-21} \;\text{W/Hz} $$
すなわち $-174$ dBm/Hz です。SN比 $\text{SNR}_{\text{req}}$ を要求値として、必要な最小入力信号電力は
$$ P_{s,\min} = kTB_n F \cdot \text{SNR}_{\text{req}} $$
デシベル表記では
$$ P_{s,\min}[\text{dBm}] = -174 + 10\log_{10}(B_n) + \text{NF}[\text{dB}] + \text{SNR}_{\text{req}}[\text{dB}] $$
となります。この式から、感度を向上させるには雑音指数 NF を小さくする(低雑音化)か、帯域幅 $B_n$ を狭くする(ただし信号帯域以下にはできない)ことが有効だとわかります。
選択度の定量化
選択度は通常、IF フィルタの形状係数(Shape Factor)で定量化します。形状係数は、フィルタの減衰量が $-x$ dB となる帯域幅と $-y$ dB となる帯域幅の比で定義されます。
$$ \text{SF}_{x/y} = \frac{B_{-x\text{dB}}}{B_{-y\text{dB}}} $$
たとえば、$\text{SF}_{60/6}$ は「$-60$ dB 帯域幅と $-6$ dB 帯域幅の比」です。理想的な矩形フィルタではこの比が1に近づきます。実用的なフィルタでは $\text{SF}_{60/6} = 2 \sim 5$ 程度で、値が小さいほどスカート特性が急峻で選択度が高いことを意味します。
SN比
受信機出力における信号対雑音比は、以下の要素で決まります。
$$ \text{SNR}_{\text{out}} = \frac{P_s}{P_{n,\text{total}}} = \frac{P_s}{kTB_n F} $$
ここでの雑音 $P_{n,\text{total}}$ には、外部雑音(大気雑音、人工雑音など)と受信機内部雑音の両方が含まれます。低い周波数帯(HF帯以下)では外部雑音が支配的であるため、受信機のNFを極端に小さくしても全体のSN比はあまり改善しません。一方、VHF帯以上では内部雑音が支配的となるため、低雑音設計が効果を発揮します。
ここまでで受信機の理論的な枠組みを一通り解説しました。理論を数値的に確認するため、Pythonでスーパーヘテロダイン受信機の周波数変換とイメージ妨害をシミュレーションしてみましょう。
Pythonでの実装: 周波数変換スペクトルの可視化
まず、ミキサーによる周波数変換の基本動作をスペクトル上で確認します。受信信号とLO信号を時間領域で乗算し、FFTでスペクトルを観察することで、差周波数成分(IF)と和周波数成分がどのように生成されるかを目で見てみましょう。
import numpy as np
import matplotlib.pyplot as plt
# パラメータ設定
fs_sig = 1000e3 # 受信信号周波数: 1000 kHz (AM放送局)
f_lo = 1455e3 # 局部発振器: 1455 kHz (上側ヘテロダイン)
f_if = f_lo - fs_sig # IF = 455 kHz
f_sample = 20e6 # サンプリング周波数: 20 MHz
duration = 0.001 # シミュレーション時間: 1 ms
t = np.arange(0, duration, 1/f_sample)
# 受信信号(AM変調: 搬送波 + 1 kHz 音声信号)
f_audio = 1e3
m = 0.5 # 変調度
v_rf = (1 + m * np.cos(2 * np.pi * f_audio * t)) * np.cos(2 * np.pi * fs_sig * t)
# 局部発振器信号
v_lo = np.cos(2 * np.pi * f_lo * t)
# ミキサー出力(乗算)
v_mix = v_rf * v_lo
# FFT計算
def compute_spectrum(signal, fs):
N = len(signal)
freq = np.fft.rfftfreq(N, 1/fs)
spectrum = np.abs(np.fft.rfft(signal)) * 2 / N
return freq, spectrum
fig, axes = plt.subplots(3, 1, figsize=(10, 9))
# RF信号のスペクトル
freq, spec = compute_spectrum(v_rf, f_sample)
axes[0].plot(freq/1e3, spec, color='steelblue', linewidth=0.8)
axes[0].set_xlim(0, 3000)
axes[0].set_title('RF Signal Spectrum (AM modulated at 1000 kHz)')
axes[0].set_ylabel('Amplitude')
axes[0].axvline(fs_sig/1e3, color='red', linestyle='--', alpha=0.5, label=f'fc = {fs_sig/1e3:.0f} kHz')
axes[0].legend()
# LO信号のスペクトル
freq, spec = compute_spectrum(v_lo, f_sample)
axes[1].plot(freq/1e3, spec, color='darkorange', linewidth=0.8)
axes[1].set_xlim(0, 3000)
axes[1].set_title(f'Local Oscillator Spectrum (LO = {f_lo/1e3:.0f} kHz)')
axes[1].set_ylabel('Amplitude')
axes[1].axvline(f_lo/1e3, color='red', linestyle='--', alpha=0.5, label=f'LO = {f_lo/1e3:.0f} kHz')
axes[1].legend()
# ミキサー出力のスペクトル
freq, spec = compute_spectrum(v_mix, f_sample)
axes[2].plot(freq/1e3, spec, color='seagreen', linewidth=0.8)
axes[2].set_xlim(0, 3000)
axes[2].set_title('Mixer Output Spectrum')
axes[2].set_ylabel('Amplitude')
axes[2].axvline(f_if/1e3, color='red', linestyle='--', alpha=0.5, label=f'IF = {f_if/1e3:.0f} kHz (difference)')
axes[2].axvline((fs_sig + f_lo)/1e3, color='purple', linestyle='--', alpha=0.5, label=f'Sum = {(fs_sig+f_lo)/1e3:.0f} kHz')
axes[2].legend()
for ax in axes:
ax.set_xlabel('Frequency [kHz]')
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('superheterodyne_spectrum.png', dpi=150, bbox_inches='tight')
plt.show()
上のグラフからは、3つの重要なポイントが読み取れます。
- RF信号のスペクトル(上段): 1000 kHz を中心に、変調によるサイドバンド(999 kHz と 1001 kHz)が左右対称に現れています。これはAM変調の基本的なスペクトル構造です。
- LO信号のスペクトル(中段): 1455 kHz に鋭いスペクトル線が1本立っています。LOは理想的な正弦波なので、単一周波数です。
- ミキサー出力のスペクトル(下段): 差周波数成分(455 kHz 付近)と和周波数成分(2455 kHz 付近)の2つのグループが生成されています。差周波数成分がIF信号であり、AM変調のサイドバンド構造がそのまま IF 周波数に移行していることが確認できます。和周波数成分はIFフィルタで除去されます。
このように、ミキサーによる乗算が三角関数の積和公式通りに動作し、受信信号の変調情報を保持したまま IF 周波数に変換していることが視覚的に確認できました。
次に、スーパーヘテロダイン方式特有の問題であるイメージ妨害をシミュレーションで再現してみましょう。
Pythonでの実装: イメージ妨害シミュレーション
目的信号とイメージ周波数の信号が同時にアンテナに到来した場合、ミキサー出力でどのように干渉が起こるかを可視化します。さらに、RF プリセレクタ(バンドパスフィルタ)によるイメージ除去の効果もシミュレーションします。
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal as sp_signal
# パラメータ設定
fs_sig = 1000e3 # 目的信号: 1000 kHz
f_if = 455e3 # IF: 455 kHz
f_lo = fs_sig + f_if # LO: 1455 kHz(上側ヘテロダイン)
f_img = f_lo + f_if # イメージ周波数: 1910 kHz
f_sample = 20e6
duration = 0.002
t = np.arange(0, duration, 1/f_sample)
# 目的信号(1 kHz 音声でAM変調)
f_audio1 = 1e3
m1 = 0.5
v_desired = (1 + m1 * np.cos(2 * np.pi * f_audio1 * t)) * np.cos(2 * np.pi * fs_sig * t)
# イメージ信号(3 kHz 音声でAM変調、目的信号より10 dB弱い)
f_audio2 = 3e3
m2 = 0.5
img_amplitude = 0.316 # -10 dB
v_image = img_amplitude * (1 + m2 * np.cos(2 * np.pi * f_audio2 * t)) * np.cos(2 * np.pi * f_img * t)
# LO信号
v_lo = np.cos(2 * np.pi * f_lo * t)
# ---- RF プリセレクタなし ----
v_total = v_desired + v_image
v_mix_no_filter = v_total * v_lo
# ---- RF プリセレクタあり(目的信号に同調したBPF)----
# 2次BPFをfs_sig中心、帯域幅50kHzで設計
bw = 50e3
f_low = (fs_sig - bw) / (f_sample / 2)
f_high = (fs_sig + bw) / (f_sample / 2)
b, a = sp_signal.butter(4, [f_low, f_high], btype='band')
v_filtered = sp_signal.filtfilt(b, a, v_total)
v_mix_with_filter = v_filtered * v_lo
# スペクトル計算
def compute_spectrum(sig, fs):
N = len(sig)
freq = np.fft.rfftfreq(N, 1/fs)
spectrum = np.abs(np.fft.rfft(sig)) * 2 / N
return freq, spectrum
fig, axes = plt.subplots(3, 1, figsize=(10, 9))
# 入力信号のスペクトル(目的 + イメージ)
freq, spec = compute_spectrum(v_total, f_sample)
axes[0].plot(freq/1e3, spec, color='steelblue', linewidth=0.8)
axes[0].set_xlim(0, 3000)
axes[0].set_title('Antenna Input: Desired Signal (1000 kHz) + Image Signal (1910 kHz)')
axes[0].set_ylabel('Amplitude')
axes[0].axvline(fs_sig/1e3, color='green', linestyle='--', alpha=0.7, label=f'Desired: {fs_sig/1e3:.0f} kHz')
axes[0].axvline(f_img/1e3, color='red', linestyle='--', alpha=0.7, label=f'Image: {f_img/1e3:.0f} kHz')
axes[0].axvline(f_lo/1e3, color='orange', linestyle='--', alpha=0.5, label=f'LO: {f_lo/1e3:.0f} kHz')
axes[0].legend(fontsize=8)
# プリセレクタなしのミキサー出力
freq, spec = compute_spectrum(v_mix_no_filter, f_sample)
axes[1].plot(freq/1e3, spec, color='tomato', linewidth=0.8)
axes[1].set_xlim(0, 600)
axes[1].set_title('Mixer Output WITHOUT RF Preselector (IF band zoom)')
axes[1].set_ylabel('Amplitude')
axes[1].axvline(f_if/1e3, color='blue', linestyle='--', alpha=0.7, label=f'IF = {f_if/1e3:.0f} kHz')
axes[1].legend(fontsize=8)
# プリセレクタありのミキサー出力
freq, spec = compute_spectrum(v_mix_with_filter, f_sample)
axes[2].plot(freq/1e3, spec, color='seagreen', linewidth=0.8)
axes[2].set_xlim(0, 600)
axes[2].set_title('Mixer Output WITH RF Preselector (IF band zoom)')
axes[2].set_ylabel('Amplitude')
axes[2].axvline(f_if/1e3, color='blue', linestyle='--', alpha=0.7, label=f'IF = {f_if/1e3:.0f} kHz')
axes[2].legend(fontsize=8)
for ax in axes:
ax.set_xlabel('Frequency [kHz]')
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('image_rejection.png', dpi=150, bbox_inches='tight')
plt.show()
上のシミュレーション結果からは、イメージ妨害の問題とその対策の効果が明確に見て取れます。
- 入力スペクトル(上段): 1000 kHz の目的信号と 1910 kHz のイメージ信号が共存しています。イメージ信号は目的信号より 10 dB 弱いですが、依然として無視できないレベルです。LO周波数(1455 kHz)はこの2つのちょうど中間にあり、両者はLOに対して対称な位置関係にあることが視覚的に確認できます。
- プリセレクタなしのミキサー出力(中段): IF = 455 kHz 付近に目的信号由来の成分とイメージ信号由来の成分が重なって現れています。両者は同じIF周波数に変換されるため、IF フィルタでは分離できません。イメージ信号の変調周波数(3 kHz)が目的信号の変調周波数(1 kHz)と混在し、音声品質を劣化させます。
- プリセレクタありのミキサー出力(下段): RFバンドパスフィルタにより、ミキサーに到達する前にイメージ信号が大幅に減衰しています。その結果、IF 帯域にはほぼ目的信号由来の成分のみが残っています。これにより、クリアな音声信号が得られます。
Pythonでの実装: イメージ除去比のIF依存性
最後に、IF 周波数を変えたときにイメージ除去比(IRR)がどのように変化するかを定量的にプロットします。これにより、IF 選定のトレードオフを数値的に理解できます。
import numpy as np
import matplotlib.pyplot as plt
# パラメータ
f_sig = 1000e3 # 受信信号: 1000 kHz
Q_values = [50, 100, 200] # RF同調回路のQ値
f_if_range = np.linspace(10e3, 2000e3, 1000) # IF: 10 kHz ~ 2000 kHz
fig, ax = plt.subplots(figsize=(10, 6))
for Q in Q_values:
irr_db = []
for f_if in f_if_range:
f_img = f_sig + 2 * f_if
# 正規化離調パラメータ
rho = f_img / f_sig - f_sig / f_img
# イメージ除去比
irr = np.sqrt(1 + (Q * rho) ** 2)
irr_db.append(20 * np.log10(irr))
ax.plot(f_if_range / 1e3, irr_db, linewidth=2, label=f'Q = {Q}')
# AM標準IF = 455 kHz を表示
ax.axvline(455, color='red', linestyle='--', alpha=0.7, label='AM standard IF = 455 kHz')
ax.axhline(40, color='gray', linestyle=':', alpha=0.5, label='40 dB target')
ax.set_xlabel('Intermediate Frequency (IF) [kHz]', fontsize=12)
ax.set_ylabel('Image Rejection Ratio (IRR) [dB]', fontsize=12)
ax.set_title(f'IRR vs IF Frequency (f_sig = {f_sig/1e3:.0f} kHz, single-tuned RF preselector)', fontsize=13)
ax.legend(fontsize=10)
ax.grid(True, alpha=0.3)
ax.set_xlim(0, 2000)
ax.set_ylim(0, 80)
plt.tight_layout()
plt.savefig('irr_vs_if.png', dpi=150, bbox_inches='tight')
plt.show()
# 数値確認: AM標準のIF = 455 kHz, Q = 100 の場合
f_if_455 = 455e3
f_img_455 = f_sig + 2 * f_if_455
rho_455 = f_img_455 / f_sig - f_sig / f_img_455
irr_455 = np.sqrt(1 + (100 * rho_455) ** 2)
print(f"IF = 455 kHz, Q = 100:")
print(f" Image frequency: {f_img_455/1e3:.0f} kHz")
print(f" rho = {rho_455:.4f}")
print(f" IRR = {irr_455:.1f} ({20*np.log10(irr_455):.1f} dB)")
このグラフからは、IF周波数選定の工学的なトレードオフが定量的に見て取れます。
- IRRはIFの増加に伴って単調に増加する: IF を高くするほどイメージ周波数が遠ざかるため、RF 同調回路による除去効果が高まります。これは理論の予測通りです。
- Q 値の効果が顕著: Q = 50 の場合、455 kHz の IF では IRR は約 30 dB 程度にとどまりますが、Q = 200 にすると 50 dB 以上を確保できます。ただし、高 Q の共振回路は帯域が狭くなるため、目的信号の通過帯域を確保しにくくなるという別のトレードオフがあります。
- AM 標準 IF(455 kHz)は妥当な設計点: Q = 100 の場合、IRR は約 40 dB 程度となり、実用上十分なイメージ除去が得られます。これより低い IF では IRR が急激に悪化し、これより高い IF では選択度の確保が困難になるため、455 kHz は確かに良い妥協点だと数値的にも確認できます。
Pythonでの実装: ダブルスーパーヘテロダインの効果
ダブルスーパーヘテロダイン方式がシングル方式に比べてどのような利点をもたらすかを、スペクトルの推移で確認します。
import numpy as np
import matplotlib.pyplot as plt
# パラメータ設定
fs_sig = 100e6 # 受信信号: 100 MHz (VHF帯)
f_if1 = 10.7e6 # 第1IF: 10.7 MHz
f_if2 = 455e3 # 第2IF: 455 kHz
f_lo1 = fs_sig + f_if1 # 第1LO: 110.7 MHz
f_lo2 = f_if1 + f_if2 # 第2LO: 11.155 MHz
# シミュレーション用パラメータ(縮小スケール)
scale = 1e-4 # 計算を現実的にするためスケールダウン
fs_sim = fs_sig * scale # 10 kHz
f_if1_sim = f_if1 * scale # 1.07 kHz
f_if2_sim = f_if2 * scale # 0.0455 kHz = 45.5 Hz
f_lo1_sim = f_lo1 * scale
f_lo2_sim = f_lo2 * scale
f_sample_sim = 100e3 # サンプリング: 100 kHz
duration = 0.2 # 200 ms
t = np.arange(0, duration, 1/f_sample_sim)
# 受信信号
v_rf = np.cos(2 * np.pi * fs_sim * t)
# 第1ミキサー
v_lo1 = np.cos(2 * np.pi * f_lo1_sim * t)
v_mix1 = v_rf * v_lo1
# 第2ミキサー
v_lo2 = np.cos(2 * np.pi * f_lo2_sim * t)
v_mix2 = v_mix1 * v_lo2
def compute_spectrum(sig, fs):
N = len(sig)
freq = np.fft.rfftfreq(N, 1/fs)
spectrum = np.abs(np.fft.rfft(sig)) * 2 / N
return freq, spectrum
fig, axes = plt.subplots(3, 1, figsize=(10, 9))
# RF入力
freq, spec = compute_spectrum(v_rf, f_sample_sim)
axes[0].plot(freq, spec, color='steelblue', linewidth=0.8)
axes[0].set_title(f'RF Input: {fs_sig/1e6:.0f} MHz (scaled to {fs_sim:.0f} Hz)')
axes[0].set_ylabel('Amplitude')
axes[0].set_xlim(0, 30000)
# 第1ミキサー出力(IF1帯域をズーム)
freq, spec = compute_spectrum(v_mix1, f_sample_sim)
axes[1].plot(freq, spec, color='darkorange', linewidth=0.8)
axes[1].set_title(f'After 1st Mixer: 1st IF = {f_if1/1e6:.1f} MHz (scaled to {f_if1_sim:.0f} Hz)')
axes[1].set_ylabel('Amplitude')
axes[1].set_xlim(0, 30000)
axes[1].axvline(f_if1_sim, color='red', linestyle='--', alpha=0.7, label=f'1st IF = {f_if1_sim:.0f} Hz')
axes[1].legend(fontsize=9)
# 第2ミキサー出力(IF2帯域をズーム)
freq, spec = compute_spectrum(v_mix2, f_sample_sim)
axes[2].plot(freq, spec, color='seagreen', linewidth=0.8)
axes[2].set_title(f'After 2nd Mixer: 2nd IF = {f_if2/1e3:.0f} kHz (scaled to {f_if2_sim:.1f} Hz)')
axes[2].set_ylabel('Amplitude')
axes[2].set_xlim(0, 500)
axes[2].axvline(f_if2_sim, color='red', linestyle='--', alpha=0.7, label=f'2nd IF = {f_if2_sim:.1f} Hz')
axes[2].legend(fontsize=9)
for ax in axes:
ax.set_xlabel('Frequency [Hz]')
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('double_superhet.png', dpi=150, bbox_inches='tight')
plt.show()
# 実スケールでの周波数関係を表示
print("=== Double Superheterodyne Frequency Plan ===")
print(f"RF signal: {fs_sig/1e6:.1f} MHz")
print(f"1st LO: {f_lo1/1e6:.1f} MHz")
print(f"1st IF: {f_if1/1e6:.1f} MHz")
print(f"1st Image: {(fs_sig + 2*f_if1)/1e6:.1f} MHz (separation: {2*f_if1/1e6:.1f} MHz)")
print(f"2nd LO: {f_lo2/1e6:.3f} MHz")
print(f"2nd IF: {f_if2/1e3:.0f} kHz")
print(f"2nd Image: {(f_if1 + 2*f_if2)/1e6:.3f} MHz (filtered by 1st IF BPF)")
このシミュレーション結果から、ダブルスーパーヘテロダイン方式の動作原理が確認できます。
- 第1ミキサー出力(中段): 100 MHz のRF信号が第1IF = 10.7 MHz に変換されています(スケールモデル上)。第1IFが高いため、第1イメージ周波数は受信信号から 21.4 MHz も離れており、RF プリセレクタで容易に除去できます。
- 第2ミキサー出力(下段): 第1IF信号がさらに第2IF = 455 kHz に変換されています。この低い周波数では、水晶フィルタや SAW フィルタによる高選択度のフィルタリングが容易です。
- 周波数計画の表示: 実スケールでの各周波数の関係が出力されます。第1イメージは受信信号から 21.4 MHz 離れており、第2イメージは第1IFフィルタの帯域内で処理されるため、どちらのイメージも効果的に排除できることがわかります。
受信機設計の全体像: 各パラメータの相互関係
ここまでの議論を踏まえて、スーパーヘテロダイン受信機の設計パラメータ間の関係を整理しておきましょう。
受信機設計は、以下の相互に関連する要素のバランスをとる作業です。
IF周波数の選定は、イメージ除去(高IF有利)と隣接チャンネル選択度(低IF有利)のトレードオフを決定します。このトレードオフが許容できない場合はダブルスーパーヘテロダイン方式を採用します。
RF段の設計は、感度(低雑音・高ゲイン)とイメージ除去(高Q値のプリセレクタ)、さらに大信号処理能力(相互変調歪みの抑制)のバランスを取ります。フリスの公式が示す通り、初段の雑音特性が全体の感度を支配するため、LNA(低雑音増幅器)の選定は最も重要な設計判断の1つです。
IF段の設計は、隣接チャンネル選択度(フィルタの形状係数)、群遅延特性(信号歪み)、利得配分(安定性)のバランスを取ります。IF フィルタの性能は受信機全体の選択度を事実上決定するため、フィルタ技術(水晶、SAW、デジタルフィルタなど)の選択も重要です。
AGC設計は、入力ダイナミックレンジ、応答速度(時定数)、出力安定性のバランスを取ります。遅延AGCを採用するかどうかは、RF段の大信号処理能力と感度の要件によって決まります。
これらの設計パラメータは互いに独立ではなく、1つを変更すると他にも影響が波及します。だからこそ、スーパーヘテロダイン受信機の設計は「アーキテクチャレベルでの全体最適」が求められる高度な工学的課題なのです。
まとめ
本記事では、スーパーヘテロダイン受信機の原理と設計上の重要な考え方について解説しました。
- 受信機の基本性能は感度・選択度・安定度の3つで評価される。直接増幅方式ではこの3つを同時に達成することが困難であり、スーパーヘテロダイン方式が考案された
- ヘテロダイン原理(周波数変換)は、三角関数の積和公式に基づいて受信信号を固定のIF周波数に変換する。これにより、IF段では固定周波数に最適化した高性能なフィルタと増幅器を使用できる
- IF周波数の選定にはイメージ除去と選択度のトレードオフがあり、AM放送では 455 kHz、FM放送では 10.7 MHz が標準的なIF値として広く使われている
- イメージ周波数妨害はスーパーヘテロダイン方式に固有の問題であり、RF プリセレクタ、高IF化、ダブルスーパーヘテロダイン方式などで対策する
- ダブルスーパーヘテロダイン方式は、高い第1IFでイメージ除去を、低い第2IFで選択度を確保する実用的な解決策である
- AGCは入力信号レベルの変動に対して出力を安定化するフィードバック制御であり、受信機の実用的なダイナミックレンジを大幅に拡大する
- 受信機感度は雑音指数、帯域幅、要求SN比で定量的に計算でき、初段の雑音特性がフリスの公式によって全体を支配する
スーパーヘテロダイン方式は100年以上の歴史をもつ古典的なアーキテクチャですが、その基本原理は現代のソフトウェア無線(SDR)やデジタル受信機にも受け継がれています。SDRではミキサーの乗算とIFフィルタリングをデジタル信号処理で実装しますが、周波数変換によって処理を容易にするという核心は同じです。
次のステップとして、以下の記事も参考にしてください。