IQ補正をゲインだけで行う

JI3GABさんから質問があったので、今考えている方法を書いておきます。
IQのアンバランスに関しては、以前考察したようにゲインと位相のアンバランスが両者とも大きくイメージ抑圧に利いてきます。理想的にはゲイン・位相の両者を正負のナイキスト周波数の間全体でIQぴったり同じになるようにディジタル・フィルタで補正してやるのがいいのですが、一体どんなフィルタを持ってくればいいのか私には見当が付きかねます。
そこで、一部妥協して、受信帯域内に対するイメージ妨害のみを防ぐ方法を考えて見ます。つまり、聞いているおよそ3kHzの帯域でのみ、ゲインと位相があっていればいいと考えることにします。これをさらに推し進めてゲインと位相がおおよそあっていればいいと妥協しましょう。
具体的に言えば、受信中の信号の帯域(3kHz)のうち、中心でだけぴったりとゲインと位相が合うような補正方法を採用することにします。そうすると、SSBの場合音声の高域と低域でイメージ妨害が生じますが、これについてはあとで考えることにします。
正負のナイキスト周波数の間のIQのゲインずれ、位相ずれは既知であるとします。
ゲインずれの補正は簡単です。受信している周波数でのゲインのずれはわかっていますので、それを補正するように乗算器を一回通します。これは十分単純ですし、まったく無視しうる計算量です。
位相のずれの補正に関しては、三角関数の性質を利用します。いま、Q信号の位相が受信周波数で理想状態よりθだけ進んでいるとします。そうして、理想状態(位相ずれがない)でのQ信号をq、理想状態でのI信号をi、実際のQ信号をsとすると、sは次の式で与えられます。

s=cos(θ)q - sin(θ)i

つまり、位相のずれと言うのはI信号からQ信号へのクロストーク(と、ゲイン誤差が同時に発生したもの)と考えられます。これを補正するのは簡単で、qについて上の方程式を解けば済みます。

q = (s + sin(θ)i)/cos(θ)

この補正は近似ではなく厳密解ですので、完璧に働きます。割り算部分はあらかじめcosの逆数を計算すれば済むことですので信号処理のオーバーヘッドは微小です。直感的にはI信号にも位相ずれがありますので、上の式で理想I信号iを使っているのは奇異に見えます。しかしながら、位相ずれはI/Q間の相対ずれだけ考えればいいため、Iにも位相ずれがあることは問題になりません。言い換えると、IQ両者がどれだけ直交からずれているかをQの位相ずれとして処理すれば問題ありません。
ただし、この補正方法は最初に説明したように可聴帯域内の1点でのみ完璧です。他の周波数ではまだずれが少しですが残っています。仮にこの補正によって可聴帯域内での位相のずれが最大0.1度まで押さえられるとすると、イメージ妨害は-60dB程度残っていることになります。
補正に当たっては事前にIQ信号系の理想状態からのずれを測定しておく必要があります。Rockyのように自動的にデータを集めるのもよいですが、Rebunとしては開発後に一回較正すればいいや、という立場です。
なお、アナログ系をAC結合にすると、コンデンサのばらつきの影響で、DC付近での位相ずれが極めて大きくなる可能性があります。私がDC結合を計画しているのはその辺に理由があります。DC分はオーディオCODEC内蔵のHPFで切り捨てれば済みますし、その場合Hi-Z起因の雑音を気にする必要もありません。