Simple I/Q Modulator (SIQM)

Nov.5 2007 Last update

SIQMプログラム

パネルの様子

概要

このプログラムは、PCのサウンドカードを用いてデジタル信号処理を行い、 SSBの変調を行うものです。基本的な動作原理は、DSsbPの変調部とほとんど同じなのですが、サウンドカードのL/RチャネルからI/Q信号として出力するところが異なります。

具体的には、サウンドカードのLINE IN(L channel)から入力した音声信号を処理し、 デジタルPSN変調によってキャリア周波数=12kHz(-15kHz〜15kHzで変更可能)のUSBまたはLSBの信号に変換し、LINE OUT(L/R channelからI/Q信号として出力します。 なお、キャリア周波数(IF周波数)を0Hzと設定した場合は、通常のAF-PSNと同様の動作になります。
この出力をRF-PSNと組み合わせることにより、SSB信号をより高いIF周波数(455kHzや8MHzなど)に変換したり、3.5MHzや7MHzなど実際に送信する周波数に変換することができます。

DSsbPでは12kHz程度の低い周波数からの周波数変換の際に発生するイメージをカットするためのセラミックフィルタなどを必要としました。 それに対してSIQMではI/Q出力とし、RF-PSNと組み合わせることにより、そのようなフィルタを通過させる必要がなくなります。
そのかわり、RF-PSN回路やサウンドカードなどの位相/ゲインのばらつきによるイメージ信号の発生を抑えるための工夫が必要となります。 SIQMでは後述するようにある程度ソフトウェアでこれを補正する機能がありますが、場合によってはハードウェア側で補正する必要もあるかも知れません。

今回のプログラムは非常にシンプルな変調処理のみであり、ALCなどの処理は行いません。 ALCやコンプレッサ、スペアナ表示その他の機能をお求めの方は、PowerSDRのsoftrock対応版や、KGKSDRなどのソフトウェアを検討されてみてください。

利用形態

SIQMプログラムとサウンドカードの組合せにより扱える信号は、もっとも一般的な サンプリングレート48kHzのカードを用いた場合で+-20kHz程度までです。 実際に電波を送受信するためには、もう一段高い周波数に変換する必要があります。 上で述べたとおり、RF-PSN(メリゴ方式やバタフライ方式を含む)を用いて目的周波数まで持ち上げます。SIQMでは(SIQMの)IFを-15kHz〜15kHzの範囲で動かせるので、RF-PSNのキャリア周波数が水晶発振のように固定の場合でも、そこを中心に上下15kHz以内のどこでもSSB波を発生させることができます。

プログラムの使用方法

動作環境

現在動作を確認しているのは、Windows XPとLinux (kernel 2.4/2.6)のみです。 まず公開するのはWinXPバージョンのみです。Linux版やソースコードは近日中に公開する予定です。 実際に手元で動作させたマシンのスペックは、Pen4 3.0GHz/1GB RAMのデスクトップと、 Centrino 1.2GHz / 512MBのノートPCのみですが、大した処理は行っていないので、 最近の普通のスペックのマシンなら大抵動くのではないかと考えています。

利用できるサウンドカードの条件として、ASIOドライバが必要です(Windows環境の場合)。お手持ちのカードがASIO対応で無い場合は、ASIO4ALLというプログラムを使ってください。 複数サウンドカードが存在している場合には、siqmが最初に認識したカードが選ばれます。他のカードに割り当てを変更することはプログラムからは出来ません。 今回は変調だけですので、MIC入力とステレオヘッドフォン(あるいはスピーカ)出力を利用することも出来ます。

インストール

下の方にあるリンクからSIQMプログラム一式をダウンロードし、適当な場所で 展開してください。'bin'ディレクトリの下に実行ファイルsiqm.exeが、 'src'ディレクトリの下にソースファイル一式とwidestudioでの開発に必要な プロジェクトファイル等があります。

起動

エクスプローラからsiqm.exeをダブルクリックして起動してください。 図のようなパネルが出るはずです。サウンドカードのオープンに失敗した 場合はダイアログが出ます。

以下、簡単にボタン等の説明をします。

あとは実際に動作させて、レベル調整等を行なってください。

既知の問題点・制限など

現在わかっている問題点等としては、 こんなところですが、まだまだ色々あると思います。

上記を含めて、 このソフトウェアおよびこのサイトで紹介している情報によって 何らかの障害が生じたとしても著者はいっさい責任を負うことができません。 ご自分の責任での使用をお願い致します。サウンドカードの出力をモニターする場合などは特に耳を傷めないようレベル設定にご注意ください。

質問等がありましたら出来るだけお答えしたいと思います。 私のブログのコメント欄や メール(コールサイン@arrl.net)等で連絡お願いします。 間違いのご指摘や機能の提案などもありましたらそちらもよろしくお願いします。

ダウンロード

今回(2007.11/5)に追加したver.0.1bは、DELTA44のような4in/4out以上の入出チャネルを持つサウンドカードを用いるときに、マイク入力をinput3に、I/Q出力をoutput3/4に割り当てるものです。これは、PowerSDRの送信機能のデフォルトの結線と合わせるためのもので、機能的には何ら変わりありません。PowerSDRとSIQMの両者をとりかえて実験する方からのリクエストに応じたものです。(しかもその実現方法があまりうまくないので、何とかします....と言って早1年が経っていますが Hi.)

謝辞

今回これを公開するきっかけを与えてくださったJA9RS石田さんをはじめ、実際に試用してレポートをくださった方々に感謝します。 その他開発にあたって利用したフリーソフトの作成者の方々、参考にさせて いただいた本やWeb上のハード/ソフトに関する情報の著者の方々に感謝します。
Goto Top