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をダブルクリックして起動してください。
図のようなパネルが出るはずです。サウンドカードのオープンに失敗した
場合はダイアログが出ます。
以下、簡単にボタン等の説明をします。
- startボタン: 押すと色が緑に変わり、動作状態(変調処理)になります。もう一度押すとボタンの色が戻り、動作を中止します。
- TONEボタン: IF周波数に対して1kHzのトーンで変調した信号を発生させます。押すとボタンが赤くなり、もう一度押すと色が戻ってトーンの発生を止めます。
TONEボタンを押した状態で、位相とゲインの調整用のスライダーバーを
動かすことで、イメージ信号のnullを取るようになっています。
モニター受信機などでイメージ信号を確認しながら調整してください。
ただ、結構クリティカルなので、右の矢印で微調整できるようにするつもり
なのですが、それはまだ実装できていません。押しても何も起こりませんHi.
なお、位相/ゲイン調整の右側に出る数字の絶対値に意味はありません。
- mode選択ボタン: 見ての通りです。希望のモードを選んでください。AMは実装していません。
- Filter setting: フィルタの帯域を設定することができます。変調の処理中でも
設定を変更可能です。変更する場合は、下端と上端の周波数の数値を入力し、
applyボタンを押してください。数値を入力したけれど間違ってしまったなど、
変更したくない場合はcancelボタンを押してください。applyを押した場合でも
数値が適正な範囲を越えている場合はその旨のダイアログが出ます。
DSsbpを使用された方からのリクエストもあり、今回フィルタの特性に関するパラメータを設定できるように開放しました。設定できるのは次の二つです。
- 保証減衰量(dB) attn: 今までは60dB固定でしたが、99dBまで設定できます。
- シャープさ(Hz) trans_bw: 落ち始めから、保証減衰量に至るまでのバンド幅です。DSsbpでは200Hzで固定でしたが、50Hz程度まで狭くすることができます。
上記パラメータは減衰量が大きく、
かつシャープになるほど低音を伸ばすこができますが、処理は重くなり遅延も大きくなります。
あまりパラメータを厳しくすると、音が途切れるなどの症状が出るかも知れません。
- IF setting: サウンドカードからの入出力のキャリア周波数を設定できます。
デフォルトは12kHzとなっていますが、今のところ-15kHz〜15kHzまで 設定可能です。矢印を押すと10Hzごとにup/downできます。
数値をダイレクトに入力してリターンキーを押すと1Hzステップで設定できます。
IFを0Hzに設定すると、通常のダイレクトコンバージョンのPSN送信機用のAF-PSNとして動作します。
あとは実際に動作させて、レベル調整等を行なってください。
既知の問題点・制限など
現在わかっている問題点等としては、
- startボタンを最初に押した時、また帯域幅設定変更時に大きめのポップノイズ
を発生する。
- 帯域の下端の設定とフィルタのパラメータの設定によっては、逆サイドに信号が漏れてしまうことがあります(これについては説明を加えたいと考えています)。
- 複数サウンドカードが存在している場合には、siqmが最初に認識したカー
ドが選ばれます。他のカードに割り当てを変更することはプログラムからは出
来ません。ユーザが選択できるように変更したいと思っています。
- 48kHzサンプリングにしか対応していません。そのうち96kHzにも対応したいと考えています。
- いまだにパラメータの保存が出来ません。申し訳ありませんが、毎回設定をやり直す必要があります。
- 同じく、いまだにPTT信号の制御を組み込んでいません。
こんなところですが、まだまだ色々あると思います。
※上記を含めて、
このソフトウェアおよびこのサイトで紹介している情報によって
何らかの障害が生じたとしても著者はいっさい責任を負うことができません。
ご自分の責任での使用をお願い致します。サウンドカードの出力をモニターする場合などは特に耳を傷めないようレベル設定にご注意ください。
質問等がありましたら出来るだけお答えしたいと思います。
私のブログのコメント欄や
メール(コールサイン@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