単なるアナログスイッチがRF信号のミキサーになる理由

SDRを調査してみると、ほとんどの場合において、受信した信号にsin信号とcos信号を乗算してI, Q信号を得るという処理が含まれています。

ダイレクトサンプリング方式だと、この乗算はデジタル領域で行うことになります。 自作SDR受信機では、この方法を取りました(参考)。 40Mサンプリング程度のADCを使用すれば、FM放送全体の周波数帯を(折り返しも含めて)十分サンプリングでき、 デジタル乗算方式を用いれば物理的回路が不要になり、とても簡便です。 また、sin, cos信号をデジタル的に生成しているので、位相誤差などが大きな問題になることもありません。

I, Q信号を得るための別の方法もあります。同調したい周波数(近辺)のsin, cos信号をPLLで生成し、 アナログ乗算器(ミキサ)で乗算を行い、結果をADCでサンプルする、というものです。 この方式を応用すれば、音声帯域(最大192kHz程度)の、 つまりマイクロフォンの音声を取り込むための汎用ADCのL, R入力に乗算結果を入力することで、 I, Q信号を得ることができます。すなわち、帯域幅の狭い、廉価なADCが使用できるということです。

このように、アナログ領域で乗算を行う方式の方が、昔から行われている手段のようです(当然といえば当然)。 もっとも、FM復調には300kHz程度の帯域が望ましいそうなので、192kHzだと少し音質は犠牲になるかも知れません。 また、Zero-IFにするとDC成分がのったりして、また別の問題に対処する必要があるようですが、それは別の機会に。

上記を回路として実装するにあたっては、ミキサが重要になります。ただ、少し調べてみると、 どうやら単なる(On/Off切り替えしかない)アナログスイッチがミキサの代わりになるという情報を見つけました。 参考として、How to Multiply RF Signals without a Multiplier: The Switching Mixerと、 Square Wave Signalsがとても分かりやすかったです。

大雑把にいうと、10MHzの方形波は結局のところ、10MHz, 30MHz, 50MHz,…という周波数のsin波の合成ですので、 たとえば、11MHzの信号を、10MHzでOn/Offが切り替わるアナログスイッチを通すことで、 11-10=1MHzの信号が基本波として残ります。もちろん、11+10=21MHzや、 その他30MHz, 50MHzとの差分の周波数にも信号が現れますが、これらはLPFで取り除くことができます。 結果として、10MHzの方形波をもって10MHzのsin波の代わりとすることができました。

考えてみれば三角関数のちょっとした応用ですが、数学がそのまま使えるところがSDRのまた面白いところです。

comments powered by Disqus