TRX-305 改造

2014年に「トランジスタ技術」から「フルデジタル無線機」が信号処理の教材として発売されました。
実験キット、コントロール&ケース、合わせて20万円弱でした。
この価格なら、アマチュア無線メーカー品の方がはるかに優れていますが、ハードもソフトも公開されるのでとても魅力でした。
なにしろ、メーカー製品を買えなくて、部品を集め自作した無線機で交信した喜びは忘れられないものですから、通信出来ていろいろいじれるのは面白そうでした。
https://toragi.cqpub.co.jp/tabid/740/Default.html

しかし、実用には遠かった!
バージョンアップが繰り返されて、2017年に最終バージョンが出たのですが、やはり何かがおかしい。
プログラムの勉強はさておき、何とか実用したいので、設計者に不具合事項をお知らせして、製品を送って調査してもらったのですがダメでした。
何がおかしいのか、他の受信機と鳴き比べすると、LSB、USB共に25Hzほど周波数が異なるのです。
10Hz程度なら気付かないところですが、20Hzもずれると聞いても分かります。
なら、自分で解決するしかないことになったのですが、FPGAは初物。
更にDSP処理のプログラムは技術提供先のメーカーから非公開となり、期待は裏切られました!
代わりにDSP処理が開発できる環境を提供はしてくれましたので、早速開発環境を整えました。


まずは、復調されたオーディオ信号の代わりにサイン波をDSPからFPGAへ送って波形観測しました。
それがこれ

なんじゃこりゃ!


ちなみにSGから信号を入れて復調波の観察
 
SGから7.100000MHzのキャリアを入力して、USBモードで7.099000で受信した波形


SGから7.100000MHz 1KHzのAM60%変調を入力し、AMモードで受信した波形

こんな寝ぼけた波形では話になりません!
ここからハマってしまいました。
数年は棚に上げていたものの、もったいないから引っ張り出しては1か月ほど格闘、また棚の上・・・

で、ようやく実用化の目途が立ちました。
以下改良後の波形

SG out 7.100000MHz-60dBm  LSB 7.101000MHzAF波形

SG out 7.100000MHz-60dBm  USB 7.099000MHzAF波形

SG out 7.100000MHz-60dBm AM 1000Hz 60%変調  AM 7.100000MHzAF波形

信じられないくらい奇麗な波形になりました。
SSBをワッチしていますが、周波数、音質とも全く問題無くなりました\(^o^)/

バージョンアップを繰り返して、当初の計画のオーディオサンプリング周波数31.738KHzが、DSPへのクロック周波数を変更したため、オーディオサンプリング周波数が39.063KHzになり、送信はこのサンプリング周波数に変更したけれど、受信は31.738KHzのままとなり、2つのサンプリング周波数が存在することになりプログラム・バグが発生していました。
 詳細説明
 codec.vhd内のData shifter
 40MHzクロック同期にて、CostbのタイミングでDAデータを送り出していた。
 CostbはAD変換のタイミングで19.531KHz(AD変換サンプリング周波数39.0625KHzの1/2)
 DA変換は65MHzクロック同期(31.738KHz)でなければいけないのだが、Costbの同期に合わせられていた。
 プロセスを2分割してそれぞれの同期を取りました。
 これで波形がとても綺麗になりました。
 
DSP開発環境は上の写真で分かるようにデータフレームが欠落する欠陥があります。
開発者に問い合わせましたが、昔のことなので取り合ってはもらえませんでした。
RTOSなので、設計仕様が見えないと面倒で解析のやる気がでません。
波形が奇麗になったことですし、周波数のずれもデータフレームの欠陥のせいではないと分かったので、DSPの自作は諦めて実用化を目指します。
LSB、USB、CWにおいて20Hzの周波数誤差がありましたが、解析のスキルと根性がありませんから、それぞれのモードでオフセットを入れて抑えることにしました。
サイドトーン発生プログラムで19Hzのオフセットを入れてあるところを見ると、開発段階で何かしら問題が出ていたのかもしれませんが…。

まだ残る問題点
 なんといっても操作性が悪い!(コントロールパネルを自作する必要あり)
 CW受信時のアタックが好みではない(コマンドに時定数変更があるので、コントロールパネルを自作すれば解決できそう)
 サイドトーンも使用できるようになったけど、まだ周波数の正確さに欠ける(かなりずっこけてましたが(600Hz設定で470Hz)何とか使用できます。ピッチ600HzではOK、800Hzでは10数ヘルツ違ってきます。)
 キーダウンで送信しない工夫をしないと、サイドトーンでのゼロインが出来ない(難問)
 CWのディレーが長すぎ、フルブレークイン動作は望めない(難問)
 AGCをOFFにしないとRFゲインが使用できない→アッテネータを入れるしかない
 受信音は奇麗に柔らくなりましたが、フィルターの変更が必要と感じています(フィルターの設計は容易だけど、切替は難問)
 送受とも基本性能は大変良くなりましたので楽しみが出来ました。

ここまでのFPGA改良版を公開します。
 trx-305_veif.zip
 以下が含まれています。
 codec.vhd
 dspserialiftwo.vhd
 main.vhd
 Mdac.vhd
 mixer.vhd
 shifrd.vhd
 shifwr.vhd
 transmittotal.vhd
 cyclon.SRC
 SERIAL.SRC
 xar.MOT

 xar.MOTをマザーボードに書き込めばOKです。