See https://note.mu/jj1bdx/n/n2ff944b1da20
for the final version.

無線とラジオの人生(8): FM放送とエアチェック(3): FIRフィルタとマルチパスモニタ

8歳のころから46年以上無線とラジオと共に歩んできた。今回もFM放送とエアチェックの話をする。前回からもう半年以上が経過してしまった。

## 前回までの記事

第1回目 <https://note.mu/jj1bdx/n/n15dca14376a4> ではFM放送との馴初めの話をした。

第2回目 <https://note.mu/jj1bdx/n/nb5771be759cb> ではなぜFM放送をソフトウェア無線機(SDR)で受信するのか、という話をした。

今回は前回に引き続いて、Macの上でSDRをどう作っていくか、そしてどう実装していくかについて書く。

## SDRの名前と公開場所

開発しているSDRの名前は[airspy-fmradion](https://github.com/jj1bdx/airspy-fmradion)という。[Airspy](https://airspy.com/)で動くFMラジオ、というつもりで名前を付けた。radionと、最後にnがついているのは、スウェーデン語の定形(bestämd form、英語の定冠詞をつけた形と同義)のつもりである。

## 受信機改良の道程(1): IF用FIRフィルタ

前回の2019年1月初めから8月中旬までの時間をかけて何をやっていたか。一言でいえばフィルタの改良と、アルゴリズムの高速化である。

FM放送を受信するためには、いろいろな周波数の電波を選り分けて、目的の信号を取り出す必要がある。そのためにはフィルタが必要になる。良いフィルタとは、希望する信号のみを取り出せるように、希望しない信号（妨害信号）を最大限排除する能力を持っているフィルタのことをいう。

![](airspy-fmradion-vs-ST-S7A-filter.png)

上に示したのは、私が1984年から1990年代半ばまで使っていた従来のFMチューナ（テクニクスST-S7A）のIF（中間周波数、SDRソフトウェアにとっては入力にあたる）用フィルタの仕様書を独自に再現した特性と、2019年3月ごろに実装していたairspy-fmradionのIF用FIRフィルタの計算上の特性である。「再現した」と但し書きをつけたのは、現物を測定することは不可能であったこと、そしてアナログの（おそらくセラミックの）フィルタであったため、IIRフィルタ（アナログでいえばバターワースフィルタ）とみなして再現したからである。表示には[Iowa Hills Software](http://www.iowahills.com/)のデザインツールを使った。

一見してわかるのはスカート特性の違いである。従来のFMチューナのフィルタは広がっていく形なのに対し、airspy-fmradionのフィルタはむしろ絞っていく形になっている。これは通過域をできるだけ広く取りつつ、不要な帯域を排除する設計にしたからである。混信妨害排除という意味では、現代のFIRフィルタの方がより適していることがわかる。実際に適切に設定することで、強い局による混変調あるいは相互変調妨害から、弱い局の電波を拾い上げることもできている。

もっとも、FIRフィルタといえども不要なフィルタは省いたほうが良いので、2019年8月現在の実装ではIF用フィルタはサンプリングレートコンバータライブラリ(libsoxr)のフィルタに任せている。また、このフィルタを省略できる場合、例えばSDRフロントエンドの出力がそのまま希望帯域になっている場合は、フィルタを追加しないようにしている。後述するAF用FIRフィルタと同様、どうしても通過域にレベルの大小が小さいながら発生することでFM復調後の歪特性に問題が出るため、できるだけフィルタの段数は減らしたいというのもある。

## 受信機改良の道程(2): AF用FIRフィルタ

AF（音声、オーディオ）フィルタにも鋭い特性のものが必要になる。FM放送の再生保証帯域は15kHzまでだが、19kHzには変調度10%のステレオ用のパイロット信号が控えているため、19kHzをカットせずにそのまま再生してしまうと耳やスピーカーを痛めかねない。そのため、15kHzまではなるべく平坦に再生するが、19kHzは確実に遮断するフィルタを使うことになる。幸い、FIRフィルタを使えばそのようなフィルタを設計することは難しくはない。

![](airspy-fmradion-48kHz-filter.png)

上はFM受信の最終段階で19kHzをカットするための127段のFIRフィルタの特性である。19kHzでは-160dB近くという特性になっており、実際に出力を見ても19kHzの存在は検出できない。そういう意味では申し分ない性能といえる。

![](airspy-fmradion-48kHz-filter-detail.png)

またこのフィルタの通過域の特性を上のように拡大して見てみると、±0.000001dBという特性が出ている。20dBで10倍なので、倍率に換算すると1.00000011513倍（そしてその逆数）となり、1を引いてdB換算すると-138.78dBとなる。ビット数に換算すると約23ビットの精度であり、FM放送用としては十分すぎる性能である。

## 受信機改良の道程(3): マルチパスとマルチパスモニタ

電波伝搬（電波の伝わり方）を考える上で重要な要素の1つが、マルチパス(multipath)である。

通常2点間の電波は最短距離でまっすぐ届くものと仮定して考えるが、現実には送受信ともにアンテナは無指向性であることも多く、この場合電波のエネルギーは複数の経路に分散して届くことになる。これをマルチパスという。

![](Multipath_propagation_diagram_en.svg.png)

上の図はレーダーにおけるマルチパスが引き起こす問題を示したものである。（出典: Original image: Lithium57, English translation: MichaelBillington, [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Multipath_propagation_diagram_en.svg), public domain）

この図は本来存在すべき対象(Actual Target)からの電波が、マルチパス上空で屈折して届く電波や地面での電波の反射によって、本来存在しない場所から来たように見えてしまう様子を示している。

放送局と受信機との間でも同様の問題が起こり得る。具体的には複数の経路を通ってきた同じ信号が干渉し合うため、振幅と位相（周波数）両方で歪が発生する。

![](Multipath_impulse_response.png)

上の図では、ごく短い一瞬の信号（インパルス）を送った場合、横軸に時間を取ると、最初の信号（τ0で示されているもの）が到達した後、反射等によって、振幅や位相が変わった様々な信号がマルチパスによって届くことを示している。これらが相互に干渉したものがマルチパス歪になる。（出典: I, Cantalamessa, [Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Multipath_impulse_response.png), licensed CC BY 2.5）

![](audacity-echos.png)

上の図では、マルチパスの振幅に対する影響を図示するため、振幅一定で10Hzから500Hzまでスイープした信号に対し、17msごとに0.3倍になるエコー（ディレイ）を加えたもの、さらに41msごとに0.2倍のエコーを加えたもの、そしてさらに79msごとに0.15倍のエコーを加えたもの、を示している。反射が増えると振幅一定だった信号が大きく変わってしまうことがわかる。

FM放送では、マルチパスの影響は復調後の信号に非線形に現われるため、聴感上非常に耳障りな音になる。しかしマルチパスの成分のみを取り出して定量評価するのは、従来の方法では不可能に近かった。この定量評価を可能にしたのが、Brian Beezleyによる[Quadrature Multipath Monitor (QMM)](http://ham-radio.com/k6sti/qmm.htm)である。

FMステレオ放送では、差信号をD38kHz±15kHzの信号でDSB変調で送信している。この信号を復調するためのクロックの位相を90度ずらすと、理想的な状況では何も出てこないはずである。しかし、実際には送信機や途中の電波伝搬経路で発生したマルチパスなどによる各種の高調波歪や相互変調歪によって、歪の程度に比例した音声信号を得ることができる。これがQMMの原理である。

QMMの信号を取り出す回路はアナログだとバランス調整等に手間がかかるが、デジタル信号処理だと、差信号を取り出す部分のクロックがsinだったものをcosにしてやれば良いため、簡単に実装できる。

実際の放送の音声ファイルで比較してみよう。2019年8月18日にNHK-FM大阪で放送されていた内容を1秒だけ切り取ったものを以下に示す。

jobkfm-stereo.wav

この放送の直後（同一の曲）のQMMによって得られた信号1秒分を20dB増幅したもの（もともとの音量が小さいため）を以下に示す。

jobkfm-stereo-qmm.wav

airspy-fmradionでは、-XオプションでQMMが起動し、そのAF信号レベルも表示できるため、元のAF信号レベルと比較することでマルチパス等に対する一定の定量評価が可能になった。

[以下次回に続く]

#音楽
#ラジオ
#とは
#技術
#無線
#FMラジオ
#無線とラジオの人生
#エアチェック
#FM放送


