トップメニューへ

SDR-3の概要

既に2019年9月号の「トランジスタ技術」で紹介済みのデジタルトランシーバーです。お値段は 16,200 円也。
JA5CJM 石川OM にやってみないか?メールに添付されたと完成写真を見て驚きました。小さなLCD画面にいろいろなメニューが
配置され、ケースもメーカ製の出で立ちで、興味が湧いてきました。体調の関係で数年間無線関係にはタッチしていなかった私が
2019年5月の連休明けから製作に取り掛かったものです。
CPUなど細かいパーツのほとんどはハンダも終了していますので作業は楽です。まずネットのサーチエンジンで「おじさん工房」
を検索してください。この他にも沢山の記事がでていますが取りあえず http://ojisankoubou.web.fc2.com/sdr-3/index.html
から製作のPDFファイルをダウンロードしてご覧ください。ここでは改めて同じような製作記事を記述するのは避けて、
初めての方に、ちょっと迷うだろうと思う点を中心に簡略化して取り上げることにします。ケースに入れた完成写真を見てください。
初めての方にもイメージが湧くと思います。ケースは JA4DUX 藤井OMが何セットか手配されたものを無理を言って譲り受けました。

作業中のバラックのでの実験中です。CQ出版から送られてきたものはこのような2枚の基板で構成されています。表面実装のICを始め
チップ抵抗やコンデンサーは全てハンダ付け済みで、トロイダルコアに巻くトランス2個の製作と、3.5MHz又は14MHzのBPFを設置する
くらいで、あとはコネクター類のハンダ付け程度の作業で完成します。この写真では既に3.6MHz帯のバンドパスフィルターと
トロイダルコアに巻いたトランスは取り付け済みです。

下の写真はそのケースの中身です。SDR-3の高周波部分に見える3個の青色インダクターは3.5~3.8MHz用のBPFです。
データはこのホームページのLCフィルターの項目にあります。実用的BPFの項目のジャイレータ型の3次のものです。
LCフィルター項目の最初にあるエクセルファイルをダウンロードして用途に応じたバンドパスフィルタを設計してください。

ケース内の下の方、ユニバーサル基板にヒートシンクが付いたものは OPA2677 による約150mW出力のアンプです。これは同様に
ホームページ上にある OPA2677 の項目にある2番目、オペアンプの+端子から入力し、ゲイン調整が出来るタイプです。
SDR-3につなぐには - (マイナス)入力間に入っている500ΩVRと50Ω抵抗でもゲインオーバーになりますので50Ωを撤去して
300Ωから500Ω程度の抵抗に変更してください。私は390Ωにしています。スペースの関係で元の写真のサイズから基板の上下を
切っていますので少しスリムになっています。ヒートシンクを被っていますのでここではOPA2677は見えません。

OPA2677アンプの増幅形式のうち、1番目に表示している、-端子から入力する形式ではVRなどでゲイン調整が出来ず、
そのままでは増幅率がかなり大きいです。SDR-3は数mWの出力ですが、このタイプの2677アンプにそのまま入力
するとOPA2677の出力の IMD が悪化します。(3次IMDが30dBにも及びませんでした。)SDR-3の出力が大きすぎるか、
OPA2677のゲインが大きすぎるかのどちらかですが、SDR出力を-3dBにしてもまだ少々ゲインが大きすぎるのでやはりOPA2677
の方のゲインを調整してやる必要がありそうです。
あるいは50Ω系のアッテネータを介して出力を抑えるかですが、RF基板内の IN/OUT 付近(2677の入出力が返ってくる端子)には
設置する場所がないのでスペース的に問題ありです。


なお、ロータリーエンコーダーをパネルに付け替えるときにSDR-3基板から外すのは難しいので5本の足をニッパで切断します。基板は
少しいたみますが半田吸い取り機で外そうとしても無駄ですからご用心を。へたに手を下すとエンコーダーを壊します。
電源トランスのすぐ左下のRCAコネクタは外部からのオーディオ信号入力端子です。SDR-3本体のマイク入力に直接マイクをつなぐ場合
物によってはマイクのレベルが低すぎることもあり、また音声のレベルを平均化したい場合もあるでしょうから
少し面倒でも外部にオーディオ信号を扱うアンプくらいは設置した方がいいかも知れません。私の場合、外部からマイクアンプと
リミティングアンプを通した信号(自作のPSNタイプSSBジェネレータ本体から)をここで受けています。
見えにくですがここの入力端子近くにVRを設置して適度な入力になるようゲイン調整しています。

プログラムのインストール

まずはSDR-3にプログラムを書き込むために「USB-シリアル変換ケーブル」が必要です。
二つのデバイスを示していますが、どちらでも機能は同じです。上のものは秋月電子で販売している「超小型USBシリアル変換
モジュール」 (FT234X仕様)が安くてパソコンにつなぐケーブルも付属してきます。下はJA5CJM、石川OMに頂いたものです。
SDR-3本体との接続は自分で3Pのメスコネクタを準備しますが、接続はそれぞれ RX - TX、 TX - RX のように接続します。
TX- TX という接続では書き込みは出来ません。

プログラムのインストールは「Microsoft Edge」または「Internet Explorer」から「FLASHER-STM32」
  https://www.st.com/ja/development-tools/flasher-stm32 にアクセスし
てSTM32 Flash Loader demonstrator のソフトウェアを入手します。ダウンロード手続きで「ライセンス契約」という項目が
出るので名前、姓、メールアドレスを入力します。(面倒なことは起きないので心配なし)
下に I have read and understand sales terms & conditions . . . がですので [] にチェックを入れる。
すぐに Your registaration has been successfully submitted ! が表示され、これで申し込みは終了。
しばらく待つと入力したメールアドレスに down load 許可の知らせがくるので、このメール上から「down load new」を
クリックしてソフトをインストール。ファイル名は「 en-flasher-stm32.zip 」です。ダウンロードしたZIPファイルをそのまま解凍して
次々とクリックを続けると Cのルートに 「C:\SDR3\Software\Flash Loader Demo」のディレクトリーが出来ます。
この中に STMFlashLoaderDemo.exe と言う「エグゼファイル」がいますのでプログラムのインストール時に使います。
次に SDR-3 に書き込むプログラム本体のHEXファイルを準備します。
http://ojisankoubou.web.fc2.com/sdr-3/index.html から下の画面がでますので、

この中の「 実行ファイル 20180812 」をダウンロードしておきます。ここでのファイル名に拡張子はありませんが HEX ファイルで、
そのまま CPU に書き込むことができる main20180812.hex がダウンロードできます。これで書き込み用のソフトとプログラムが
準備できましたのでSDR-3とパソコンをUSB-シリアルケーブルで接続します。
STMのソフトを起動しますが、CPU側の書き込み受け入れの準備のため、SW9とSW10を同時にオンし、次にSW9をオフ、続いて
SW10をオフにします。これでCPU側のブート受け入れ態勢ができましたので、UARTのポート番号(例えば com9 ) を入力して接続を
確認します。NEXTを押してエラーが出るようなら Baud Rate を下げる(スピードを遅くする)とうまく行きます。
プログラムは下の画面の①の場所にこの main20180812.hex の場所を指定します。書き込みは数十秒で終了します。

以上で SDR-3 の設定は完了です。あとの組み立て手順は「おじさん工房」の「SDR-3 組み立てマニュアル20180628」をダウンロード
してPDFファイルで確認してください。SDR-3本体はあまり苦労なく完成出来ると思いますがケースを作るのが少々大変ですね!
では、
出来上がりのデータをお見せします。左はSDR-3からOPA2677を経由して150mW出力を50Ωの抵抗で受けたデータです。
3次IMDはほぼ-50dB、5次は-65dB程度になっています。中央はこれを1KWリニアーアンプに入力、アウトは50Ωダミーロードに
出力した時のひずみをFFTで解析したデータです。ちなみにSDR-3本体に設定されているツートーンの第2音の周波数はRE2で
調整可能ですが、defaultのツートーンは幅が狭く、直流に直してゲインコントロールしている回路には少し厳しい2信号です
(再変調ひずみ)。
なお、マイクゲインは送信時(defaultは40)に第2エンコーダーを回すことでで増減可能ですが、SDR-3本体の
シングルトーンやツートーンはゲイン設定ができないので注意が必要です。概ねツートーン出力が強すぎる傾向があり、
次段を飽和させる危険があるので、必要なら外部から音声入力と同等レベルの2トーンを入力してIMDを測る方が正確
にSDR-3を評価できると思います。

一番右は私がいつも使っている状態変数型発振器からもらった2トーン信号をSDR-3➡120mW OPA2677➡1KWアンプに出力した
データです。最終データでも3次ひずみが -40dB ~ -43dB程度になっています。百数十mW入力の真空管3段の1KWアンプは
同じシステムのものですが、自作のPSNタイプのジェネレータから入力したデータと比べると少々劣ります。
しかしこれでも機能満載の超小型デジタルトランシーバとしては十分過ぎるものです。耳慣れしたOMのレポートによると
自作の「アナログPSNによる SSBジェネレータ ➡ リニアーアンプ 」の構成で得られる3次IMDが-55dBのシステムと、
このSDR-3を切り替えて音を比較してもらうのですが、音質の変化はほとんど分らないと言われます。

     

SDR-3に使用するマイクアンプやリミティングアンプ他

このホームページで処々に別々に記載していたリミティングアンプやオーディオイコライザーの記事をまとめて書き下ろししました。
マイクアンプは回り込み防止の為、フロートバランを経由して入力します。回路構成はインスツルメンテーションアンプと呼ばれる回路で
CMRR特性(雑音成分を除去できる能力や高周波の回り込みを防ぐ効果)に優れています。
図中にもありますが増幅率は (1+(R2+R3)/R1)×(R5/R4)になります。
ここでは(1+(22+22)/0.22)×(10/10)なので約 46dB のゲインが取れています。ゲインが大きすぎる場合は R1を大きくします。
またどうしても不足する場合は参考に示したようなオペアンプをアウト端子とVRの間に入れてください。使用するオペアンプは汎用
のものでOKです。

Frequency equalizer は他の場所で紹介しているものですが、一般のオーディオアンプに設定されているものとは異なります。 3KHzという
SSB特有の狭帯域のなかで通りのいい、あるいは抜けのいい音質を出すため、Qを高く設定してバンドエッジ付近のみを持ち上げ、
あるいは低下させ、マイクの特性を補完させるものです。数十万のマイクを買わなくても普通のマイクで”一皮むけた音”になります。
リミティングアンプは元来ISB用として自作ジェネレータに入っていたものなので今回は M5283P は片チャンネルしか使用していませんが
必要なら 15番ピンと2番ピンをつなぎ、14番のアウト端子を外して8番のインプットにつなぎ変え、最終的には3番から出力して、両方の
チャンネルを利用する方法もあります。15Vラインから6.8Kと5KΩVRが直列に゙つながりVR中点から4.5V程度を取り出しているのは
M5283Pのコントロール電圧の初期値(信号が何も入っていないフルゲインの状態)を設定する為です。信号が入ると4.5V➡2Vのように
電圧が低下してゲインを抑えます。つり上げが図中では15Vとなっていますが12VでOKです。
私の場合は自作のジェネレータから出力を取り出し 2m ほどのケーブルを引っ張りますので、数十mVの信号では周囲のノイズや
回り込みの影響を受けやすく、そういった外部要因を避けるため、リミティングアンプから1Vp-p程度の大きな信号で出力します。
これはSDR-3のマイク入力には大きすぎる信号なので図のように受けのSDR-3ケース内部で20KΩ抵抗と5KΩVRで絞り込みます。
SDR-3は過入力には敏感ですので注意が必要です。

オペレーション時の注意事項

下の図のはSDR-3に200Hz、約30mVp-pのサイン波を入力したときの周波数特性です。入力オーバーによる奇数次の高調波が
沢山出ています。3倍の600Hzでは基本波から31dB落ちた所に見られます。基本波の右に見えるのは逆サイド漏れによるUSB側の
波形です。アドバンティストのスペアナでよく分かりますが、SDR-3本体のスペアナでもある程度はそれと分る変化が見られます。

   

たまにQSOを拝聴していると、SDR-3はスプラッターをまき散らしている訳でもないのに歪んだ音がする、と言った話題を耳にします。
このひずみはデジタル処理の段階で A-D 変換するときに生じるひずみで、あくまでオーディオ帯域内のひずみなので高周波アンプの
IMD悪化によるひずみとは根本的に異なります。低周波領域の高調波ひずみは送信周波数の3KHzの帯域内に収まります。
また、A-D変換に伴うひずみはあるポイントから急激に、かつ大きく始まります。アナログアンプにおける過入力による高調波ひずみの
発生現象とはかなり異なります。従って前述のようなリミティングアンプの設置が必須になってくると思われます。
こういった現象を理解せず「SDR-3はひずみっぽい」などと評価されるのはSDR-3の本意ではないと考えます。ひずみの種類については
「ひずみの種類」の項目で述べていますので参考にしてください。

ハードウェアーに関するちょっとした注意

SSBで運用している限りめったなことでは起こりませんが、ここ1カ月で1回のみSI5351のメモリーが飛んでしまい、QSOがNGになった
経験があるので防ぎ方を紹介します。おじさん工房の掲示板ではすでに述べられていることですが、実物でお見せします。
左はSDR-3の開発者、小川一郎さん(おじさん工房)の記載です。バグの報告と対処方法を述べられています。
真ん中はこの話題になっている部分の回路図面です。右図は少々 focus が合っていませんがおじさん工房の指示通り、Cを追加
している写真です。ケースに組み込む前にハンダ付けしておけば処理が楽でしょう。

     

周波数ロック回路

このSDR-3は周波数の安定度もよくSWオン後、数ヘルツの偏移がみられますが、音声帯域が300Hz~3KHzの所謂電話の音で
通信される方には全く問題ありません。しかしPSN受信機で帯域を広げてHiFi音(ちょっと古いかな?)で送受信を楽しむ御仁には
周波数の安定は1丁目1番地の大問題です。50ヘルツくらいから出ている低音は1ヘルツずれただけでエコーのような気持ちの悪い
音声になってしまいます。さてこのSDR-3の周波数安定度を受け持っているのは信号発生器「SI5351A」のクロックを受け持っている
27MHzのX4とプリントされている水晶発振子です。3.2mm×2.5mmの非常に小さなデバイスですので水晶発振子と気付かないことも
あるほどです。下は製作する27MHzの発振回路図面ですが、至ってシンプルな回路です。配線に間違いなく無理な長い配線を
しない限り、一発で成功すると思います
【追記】図面の中、最初の4017で1/3にする回路、矢印の通り13番ピンのアースが抜けていました。訂正してお詫びします。

 まず、SDR-3は3.3Vで動いていますので、水晶発振を受け持っている74HC04の電源は5Vから3端子レギュレータで3.3Vに変換した
電源を使います。図中のような接続で5V→3.3Vの3端子もあるようですが私が使っている、NJU7223はヒートシンクのフィンが入力
の5Vを受ける端子になっています。デバイスの配線を確かめて間違いのないように!
水晶発振子の周辺は図中あたりのCやトリマーコンデンサーの容量で27MHzをよく発信します。74HCUタイプを使わなくても通常の
74HC04Pでちゃんと発振します。
分周回路は74HC4017と74HC390を使います。27MHzを4017で1/3して9MHz、さらに1/9分周して1MHz、最後は390で1/10で100KHz
を得ています。この発信機からの100KHzと、GPSからロックアップした100KHzと位相比較してPLLロックをおこないます。
74HC390の9ピンから15ピンは使用していませんのでGPSの出力信号が10KHzの場合はさらに1/10にしてお使いください。
最終調整はTP(テストポイント)の電圧が2.5V周辺に落ち着くように30pのトリマーコンデンサーをセットします。バリキャップの電圧
制御は0~5Vで行うので2.5Vがその中心になり周波数の変更範囲が広がります。分周方法に関してははいろいろ
ありますのでこのホームページ上の分周回路を参考に各自設定してください。いきなり1/9の3MHzに落としても可能かと思います。
なお、27MHzの信号を長く(1m以上)引っ張る場合は74HC04の余っているピンを利用してインピーダンスを下げてください。
8番ピンから13番ピンまでは余っているのでそれらをパラに接続して取り出すといいでしょう (点線内の回路図面)。

さてSDR-3本体の細工です。RF基板の27MHz水晶発振子を撤去します。水晶とSI5351Aの間のパターンを切って繋ごうとトライしましが、
相手ピンが微細すぎて私にはパターン加工だけでで処理するのは無理でした。結局四角の水晶発振子を二つのハンダこてで撤去する
こととしました。同様の水晶は販売されているので元に戻したいときは4ピンを半田しなおせばいいかと思います。
下の写真は水晶片を外してシールド線をつないだ状態です。新しく作った27MHzはこのIC7の2番ピンに入力されます。
シールド線の外皮がハンダしているポイントはアースです。

これで一応ハードの面は完成ですが、水晶発振器が変わったので通常なら周波数の設定をし直す必要があります。
未改造なら、基準となる外部の正確な10MHzと、SDRのRF基板にある CN2 の10MHz を外部トリガーとして掃引して
オシロスコープの見えている波形が動かないようにSetting からFreq Adj を選んで調整し、
(SI5351Aが抱いている水晶片の周波数を合わせる為)-28とか-60とか入力していたと思います(SDR-3操作マニュアルの 7-2 参照)。
しかし、GPSや恒温槽などでロックされた27MHzを使う場合はちょっと事情が違います。
SDR-3のSI5351Aに供給している27MHzが世界標準の周波数管理が出来ているので、Freq Adj は 「0」でいいのです。
GPSによる周波数管理が出来ている受信機でモニターすると低音もスッキリ聞こえ大変快適です。
ちなみにGPSロックされた10MHz信号をCh1に入力し、SDR-3のCN2から取り出した30mVの10MHzで外部トリガーをして観察した
動画をアップしました。見事なまでにドンピシャと合っています。これで世界標準の周波数でSSBが運用できます。
電源オン後も1時間後も関係なく、受信・発信周波数のずれは皆無です。状況がよく理解できると思い、その動画をアップしました。

最後に内部写真をお見せします。トランスのすぐ上の基盤が27MHzの発振基板です。5Vの3端子レギュレータは発熱がひどいので
ケースの下面にビス留めしました。いろいろ変更して、このコーナーでお見せした初期の内部写真とかなり変わりました。
ヒートシンクを背中に乗せたOPA2677基板のリレーは送信時のみOPA2677に12Vを供給するためです。受信時も12Vをかけたまま
にしているとかなり発熱します。

このSDR-3デジタルトランシーバと自作のPSN送信機&PSN受信機を組み合わせて、切り替えスイッチひとつでどちらでもQRV出来る
体制を整えています。マイク入力アンプとしてのインスツルメンテーションアンプやリミティングアンプその他を収納するにはケースが少々
小さすぎました。現状は自作のジェネレータからのリミティングアンプ出力を本機に入力しています。
さてこれで最後なのですが、
スピーカアンプとして、秋月電子で販売されている「TPA2006、5V、1.5W」のミニアンプ
(上の写真では、茶色のベーク基板の下の方、黒い板のような恰好をしているもの)を使用していましたが音質に少々不満を抱き
「TDA2030、10Wモノラルアンプ」に変更しました。音質はかなり改善されましたが、不要な基盤の一部はさらに削って、
小さなケースはいっぱいになりました。
下は最終の出来上がり写真です。5Vも12Vも3端子レギュレータはケース底にビス留めしています。

次にソフト面のアップデートとして、 プログラムを加筆してSメーターを設置しました。下に You Tube を介した動画をアップしています。
3.5MHzのあるQSOを受信していますがプライバシー保護のため音声はほとんど出していません。メーターの動きや画面の配置など
ご覧ください。SDR-3のLCD画面のメニューの位置がオリジナルとはだいぶ変わったのが分ると思います。

プログラムの変更には「おじさん工房」に記載されている開発ツールをインストールしてC言語の内容を書き換えます。
オリジナルのソースファイルは2018年9月号のトラ技の付録のDVDにありますが、それは変更前の「実行ファイル20180521」で
新しい変更後の「実行ファイル20180812」のソースファイルは公開されていません。創作者の「ojisankoubou」の小川一郎さん
あとはご自由に発展させてください、という philosphy かも知れません。
それでおじさん工房の掲示板にもご登場される
ji1uddさんをはじめ、やどさん、まきのさん、ぎょふんさん」などがこの元ソースファイルをもとに数々の変更を加え新しい機能を
追加しています。アマチュア用に安価で高性能なセットに仕上げるため、ボランティア精神でプログラムを公開されている
尊敬に値するプロ(確認はしていませんが、、)の皆様です。
専門知識を持たない方でも、ある程度のC言語の知識があって新機能に挑戦しようと思われる方々は
GitHubの「https://github.com/ji1udd/SDR-3」から更新ファイルをダウウンロードできますので参考にしてください。
ji1uddさんは分かりやすいように、間違いのないように、変更部の写真をjpgファイルの形で提供されています。大変な労力を要したと
思います。私はCWの機能は要りませんでしたので Step13 から始めました。配列のコマ数の違い、単純な「;」の書き忘れなど、
色々なプログラムミスで make 実行ではエラーに悩まされました。修正してHEXファイルが出来上がっても
マイコンに焼いて運用してみるとバグがあったり、このたびは少々苦労いたしました。
GitHub からプログラム改造に臨まれる方は、CW機能は要らなくても、最初のStep1から始めるのが迷うことなく順調に改造できる
コツだと思います。
私のように途中から変更を加えるとプログラム中の配列の数の違いやポインターの指示間違いなど、それまでの既出の
プログラムとの間に齟齬を生じやすいです。C言語の理解とそれまでの、例えばStep1からStep12までの、変更箇所の理解がないと
袋小路に迷い込む結果にもなりかねません(Step13から始めた私の失敗談)。
失礼な言い方かも知れませんが、人様がお作りになったなったプログラムを理解し、納得し、頭の中に整理して、さらに自身の希望
に合わせて多少の変更を試みるというのはかなりのしっかりしたC言語の知識およびSDRに関するアルゴリズムの理解が必要です。
自分好みに作り直そうと考え、始められる方は、心して、覚悟して取り組んでください。

ちょっと違うタイプのSメーターです。横に水平に動くSメータも気分が変わっていいかも知れません。SW1を長押しして出てくる
1,setting メニューからQSO中でも簡単に変更できます。ここまである程度満足のいくSDR-3になりましたが、依然SSB発生様式の
うち「PHAS」方式をはじめWeaver方式や第4の方法にも少々問題を抱えています。
これについては次の「雑感」の項で詳しく述べています。

雑感

【ここの記事は後日加筆した事項です。】これは次の項目を記述する前の記事です。本文は経時変化を見ていただくためにそのままに
しています。プログラムに何の改変も加えていない大多数の方々のSDR-3はここに登場するデータがそのまま適応されます。

Sメータの表示まで改造したところでこのSDR-3の評価を再検討してみました。 私はCWはやらないのでSSBに関連する検討です。
初めて見られる方には何故3枚も写真が並んでいるんだ?と疑問を持たれるかも知れませんがSDR-3は3種類のSSB発生様式を
持っています。PSNタイプ(ヒルベルト変換)、Weaver方式、第4の方式の3種類で、グラフの中央がキャリアーポイントの位置です。
その位置より左側は周波数の低いLSB、右側は周波数の高いUSB側です。
SDR-3にピンクノイズを入力して、その周波数特性をスペアナで見ています。左右2KHzに展開しているので1メモリは200Hzです。
「0521」とあるのは2018年9月号のトラ技に付録しているDVDのオリジナルソースからコンパイルして出来上がったSDR-3を示すものです。
「おじさん工房の掲示板」で議論されているCW機能やSメータプログラムを追加されたSDR-3も「実行ファイル20180521」も全く同じ
このDVD付録版ソースプログラムから発生しています。

     

左側はHilbert変換によるPSNタイプのSSB出力です。SDR-3ではPHASと表示されています。
LSBの音声帯域はかなり低域まで出ていますが、いかんせん、逆サイド漏れがひどいです。200Hz付近までかなの漏れですので
男性の音声の第1フォルマントはこの漏れの中に含まれます。受信周波数がずれている場合、低域が強調されたり、エコーがかったような
「変な(?)」声で聞こえるでしょう。が、PSN検波で受信側で逆サイドをきちんと切る場合や狭帯域の切れのいいフィルターで200Hz以下は
カットして中高音だけを受信する場合は問題なく受信できると思います。
真ん中と右側の、 Weaver方式、第4の方法の場合は逆サイドの漏れはかなり軽減されています。だだし、よ~く見るとLSBの
音声帯域自体に200Hz以下の低域が含まれていないことが分ると思います。強制的に200Hz以下をカットしているので逆サイドに
漏れていかないのは当然です。Weaver方式も第4方式も同じ傾向で逆サイド漏れを恐れて、HPF設定項目では「50Hz」を設定している
にも拘わらず、強制的に200Hz以下の低周波は出さないようプログラムされているようです。200Hz以下がカットされた音声は
電話の音に近いものになります。以上が第1世代と言うか、出発版のSDR-3です。2018年の5月21日にmainのHEXプログラムが作られた
ようです。

次に下の3例は現在のところの最新版、「実行ファイル20180812」のHEXファイルをコンパイルして出来上がったSDR-3のデータです。
PSNタイプ、つまりHirbert変換して出来たSSBでは第1世代とほとんど変わっていません。相変わらず200Hzまでの逆サイド漏れは
ひどいです。プログラム上ではHPFで強制的に低域を切っていないようで、音声帯域に関しては低域まで出ていてふくよかな低音が
響くでしょう。他方、Weaver方式、第4方式とも大変よくなっています。
まず音声帯域を強制的に200Hzまでに制限せず、を100Hz位までは許したこと。Weaverでも第4でも逆サイドサプレッションはかなり
改善されています。このピンクノイズからのスペアナデータでは定量的に何dBとは言えないですが、先に述べた「0512、第1世代」の
SDR-3からはかなり良くなっています。100Hzまで通ると言うことは電話の音ではなくなることを意味しているので、音質を云々する
ラグチュー族には朗報です。

     

上にピンクノイズのデータをお見せしましたが、これでは具体的な数値は分らないので下にサインの100Hz単信号をSDR-3に入力したデータ
を表示します。PHAS方式では-18dB程度しか逆が落ちていません。一方 Weaver方式や(4THと同じ傾向です。ここには載せていません)
第4の方式では逆サイド -37dB とまずまずの抑制率を得ています。
SSBを主として運用するラグチュー派は50Hz辺りまで通る、ほとんどHPFを効かせていないPHASを使いたいところでしょうが逆漏れの
関係上 Weaverか第4の方式を選ばざるを得ないでしょう。それでも100Hzまで通れば低音も響きますし申し分ないセットに仕上がります。
プログラムに何の変更もせず、そのまま up load されているものだけを使う方は 0812 のファイルを焼いて、4THを使用されるのが
ベストの選択のように思われます。

   

さて、今まではアドバンティストのスペクトラムアナライザー TR4171 でSDR-3 を解析してきましたが実はSDR-3本体の画面でもある程度の
周波数特性はわかります。同じピンクノイズを入力してみました。矢印でしめした部位が逆漏れしている部分です。
少し見にくいですが4THよりPHASのはみ出しがひどいことが分ると思います。両者とも第2世代「実行ファイル20180812」からのSDR-3です。

   

おじさん工房の先進的皆様が苦労して第1世代のプログラムを書き加え、CW機能やSメータ表示、さらには WaterFall まで加えたSDR-3は
根本的なSSB発生様式のプログラムにはタッチしていないようで、この低周波領域の逆漏れに関しては第2世代の性能を有して
いないようで残念なことです。第2世代のプログラム、「実行ファイル20180812」のソースファイルが公開されることを待ち望みます。

さて最後に参考までに自作したアナログタイプのPSN送信機のデータをお見せします。このホームページ上でいろいろ記載しているセット
のデータです。測定条件は全く同じです。私は3.5MHzマンなのでセットの電源オン後、周波数が3602KHzのメモリーを呼び出し、
7MHzに変更するのが面倒でそのまま出力しました。SDR-3後のアンプも異なり、出力は少し大きいのでREFは-10dBから+10dBにして
スペアナ入力をしぼっています。アナログタイプのヒルベルト位相変換器によるSSBはきちっと調整すればこうなります。

   

朗報(逆サイド漏れが解決)

2019/06/29、たまたま私のホームページをご覧になった「 ji1udd 小松本さん」 からプログラム変更のアドバイスをいただきました。
本来なら既出の「雑感」の項も状況に応じて変更すべきですが、経時的に記述していくのもまたご覧になる方々の参考になるかと、
そのまま追記という形で公表させていただきます。
0812の4THでしばらく運用を余儀なくされていましたが、0521のPHASでも素晴らしい特性がでることが分りました。
既におじさん工房の「小川さん」が元のソースファイルにヒントを記述していたのですが、それに気づかず ji1uddさんに指摘されご
教示をいただくまでPHASのひどいデータとお付き合いしていた訳です。恥ずかしい次第です。与えられた資料はきちんと読みこなし
理解漏れのないようにしないといけません。
さて、ソースファイルを書き換えた結果はスペアナの写真を見れば一目瞭然と思います。(ソースファイルの全般的な変更に関しては
https://github.com/ji1udd/SDR-3」を参照されるといいかと思います。)

下の写真は全て既述の項目でひどい逆漏れと酷評していた PHAS のデータです。
左側はホワイトノイズを入力してLSBのパスバンド全体を眺めています。この span 10KHzのデータではLSBの周波数特性は
100Hz以下の低周波から4KHzくらいまではフラットであることが分ります。元々 PHAS では Weaver や第4の方法のように
HPF 設定とは関係なく強制的に200Hzや100Hz以下を切るやり方はしていません。これはオリジナルの 0521 でも 0812 でも同じです。

真ん中は上の「雑感」で示したものと同じピンクノイズを入力したものです。ピンクノイズは低域が強調されたノイズです。
(蛇足ですが、ホワイトノイズはあらゆる周波数を一様に含むノイズです。どうして white 白ノイズ又は pink 桃色ノイズと言うか
それぞれの周波数構成を考えれば納得ですが、命名者のウィットが少し入っていて面白いです。余計なことでした_(._.)_。)

この span 2KHz のグラフでは50Hz以下の周波数ににやや逆漏れが見つかります。HPFで50Hzと設定されている加減なのか、
LSB側でも50Hz以下は減衰しています。しかし、この辺の周波数は「超低周波の領域」で、通常の男性の母音の一番低い周波数
の音(第1フォルマント)は100Hz近辺にあり、通常のQSOでは出てきません。そして、その大事な第1フォルマントに匹敵する
100Hzのサイドバンドサプレッションは右図のごとく 80dB以上あります。上空にヘリコプターでも飛ばない限りこんな超低域の音は
混入しないので20~50Hzの多少の逆漏れは全く問題にはなりません。テスト的にmusicを送信する場合も50~100Hzが出ていれば
重低音が楽しめるでしょう。

     

次の写真も sine の単信号による逆サイド漏れを見たものですが 200Hz 近傍に少し逆漏れが見つかるくらいでそのレベルも -70dB
ほどもあり問題になるものではありません。
バンドエッジに近い低域の特性ばかりを見てきましたが、90度位相をきちんと保つことはアナログPSNでもデジタルPSNでも同じことです。
この領域より高い方、3~5KHzまでは処理は比較的簡単で、上の10KHz span のスペアナグラフを見ていただいても様子は分ると思います。
さて、0521のソースファイルにしろ、0812のソースファイルにしろ、ヒルベルト変換 (PHAS) によるSSB発生様式が一番
逆漏れがひどく、ちょっと仕様に堪えない出来上がりでしたが、オリジナルのC言語ソースを少し変更するだけでこの「PHAS」が大変身を
遂げました。このHilbertフィルター変更に関しては
https://github.com/ji1udd/SDR-3/tree/master/firmware/modification%20step%20by%20step」に特化して記載されています。
トップに記載されている「Option1_HilberFilter」です。Hilbertフィルターの変更だけですので、CW機能やSメータ表示の
プログラムが未設定でもトラ技付録のDVDのソースファイルを一部を書き換えるだけで、他のプログラムの動作にも
SDR-3の機能にも何ら影響を与えないので是非挑戦してみてください。
モニター音を聞いてみても逆が出ていないので本当にスッキリした音声になりました。プログラム変更前のPHASと比べると
雲泥の差です。アドバイスをいただいたMr.X氏 (氏の了解を得ましたので、 ji1udd 小松本さんです。) に感謝です。本来の作者の
小川一郎さんも見つかったか!と内心喜んでおられるかも知れませんね(?)。

     

【追記】ji1udd 小松本さんのアドバイスを受け、Hilber変換もフィルター数は255個のまま、低い方や高い方のエッジ正規化周波数を色々
自分なりに試みましたが、低い方の正規化周波数 96Hz 高い方は 5904Hz (0.008 & 0.492 、上のデータ)が一番良い特性を示しました。
欲をかいてもう少し低域まで (0.006 & 0.494 、72Hz & 5928Hz など) とトライしてみましたが、LSBのF特性も多少ギザギザして来たり、
USB側の逆漏れも 100Hzや200Hz などで、悪化してしまい結局この作戦は NG (過ぎたるは…) でした。
さて、
これだけのデータが揃えばほぼ何の問題も無くなりましたが、一層の完璧を目指す方は次のようなオペアンプによるHPFをマイクアンプと
リミティングアンプの間に入れれば完璧でしょう。設計はこのホームページでダウンロードできる「HAMSTOOL」にその項目がありますので
各自が納得できる方式、段数、カットオフ周波数をきめてください。HAMSTOOLの起動画面の左下にそのプログラムがあります。
なお、古い2002年にアップしたソフトなので少々使い勝手が悪いです。数値を入れた後エンターキーを押して数値の下に「OK]サインが
出てから「RUN」キーを押してください。具体例として4次の0.25dB、chebyshevで設計したデータと LTspice の結果を参考にお見せします。
これで SDR-3 は音に”うんちく”を述べる、7MHzや3.5MHzのOM達も一目置く存在になったと自負しています。

     

そして最終的に

Hilbert 変換器に慣れたせいか次々と欲が出て、無理かもと思いながらやった結果が大変良好なので最後に記述します。
PHASに関してはファイル「0521」がフィルターのTAP数=127で、「雑感」の項で述べたように逆サイド漏れがひどく、おまけに強制的な
HPFも効いていない状態なので使いにくいメニューでした。小川さんは元ソースファイルに255タップに version up 出来るヒントを
記入しているのに何故127タップを default として選んだのか疑問が残ります。発展性を残したかったのかも知れませんね。
「朗報」の項目で述べたように ji1udd さんのアドバイスでコンパイルしたフィルターは TAP数=255 で、100Hzの逆サプレッションは
80dB以上、50Hz付近に多少の逆サイド漏れはあったとしても、SSBとしてはもう問題のない状態でした。

今回はさらに Mr.X氏 (笑い) からハッパをかけられ(2019/06/29)、もしかして出来るかもと、タップ数を増やして511としました。
つまり、フィルタ長 N=511 低い方のエッジ正規化周波数:0.004、高い方のエッジ正規化周波数:0.496、 48Hz-5952Hz の設定です。
challenging なトライアルです。
原作者の小川一郎さんが昨年のトラ技9月号で述べられていますが、大きなフィルターで処理して演算時間が長くなると
送受信ともども、割り込み周期の5.3m秒を越えてしまい、進行中の演算と鉢合わせして、シシステムが暴走する可能性です。
しかし、ji1duu さんが 511 を測定された結果では2.9ミリ秒だったとか、これは定期的なDMA割り込み 5.3m秒以内に収まっていて
問題はなさそうです。小川一郎さんは送信終了までのトータルの時間を測定しておられます。Hilbert変換の時間は2.9ミリ秒だとしても
マイクに入力信号が入ってRF出力として出ていくまでに、デジタル処理の合計で約 17.4ミリ秒の遅れがあったと
トラ技9月号に記載され、データも示されています。
送信遅延時間はDMAのバッファーサイズに依存するとのことですが、私には未だしっかりとは理解できていません。
しかし、実際にやってみると現実の運用には問題は起きませんでした。理論より実践ということです。
さらにテストは必要ですが、今までのところ送信、受信、テキパキと切り替わり不都合は全く感じていません。

     

3枚の写真を見ていただくと既出のデータとは明らかに違うことが分ると思います。50Hzよりさらに低域、20Hzくらいに少しの逆漏れが
あるように見えますが、もう議論するまでもないでしょう。中央写真は100Hzではなく50Hzのサインのデータです。
50Hzという超低周波で呆れるくらいのサプレッションを得ています。実験で味をしめ、早速運用しているしている3.5MHz帯にセット
してみました。右図です。white noise を出力した画面ですが、本体でも、もう逆サイドの影が無くなっています。
HILBERT プログラムの記述は1つのデータは有効数字 16 桁、128行に及ぶ膨大なデータです。ある研究所の計算ソフトを利用できた
おかげで比較的簡単にプログラムの変更ができました。操作は大変でしたが試した甲斐があったというものです。
もうしばらく実運用して、全てOKを確認すれば ji1udd さんの GitHub を通じて公開することになろうかと思っています。
【追記】7月7日(旧暦の七夕(たなばた))の日に ji1udd さんがこの Hilbert フィルターのデータをアップロードされています。
https://github.com/ji1udd/SDR-3/tree/93d6904de5dc78b1edd24a2522810409305eb521 Option2: に記載されています。
(July 8 2019 記載)
改めて示す必要もないでしょうが、下に span 10KHz のホワイトノイズデータ、100Hzと200Hzのサイン単信号のスペアナ写真を
お見せします。フィルター長 255 と比べてもキャリアーポイントを中心にして USB 側が本当にスッキリ切れていることが解ります。
逆サイドサプレッションは超低域まで広がりましたが、一部の周波数、例えばこのTAPS 511の場合は100Hz、で若干の特性悪化が
認められますが、それも -75dB 程度ですので議論する余地もないと思います。このあたりはアナログでのヒルベルト変換と少し
様子が違います。ともあれ、これで 2019/06/30 現在、ことSSBに関してはSDR-3は 「0521 ソースファイル」から出発した
PHAS 方式がベストの選択になりました。

     

【注意】常に自分の送信電波をモニターしながらQSOされる方々に注意です。
デジタル処理の結果遅延した送信信号を通常のアナログ式モニター受信機が拾い
17.4ミリ秒遅れの音声と、骨伝導を通じて聞こえてくる時間ずれのない自分の音声とを重ねると」多少違和感のある音声
になります。明瞭度もある程度落ちてしまいます。
ちょうどTVでアナログ受信機と地デジ受信機を並べて同じチャンネルを聞いている感じで、エコーがかった二重音声が聞こえます。
勿論相手方は17.4ミリ秒遅れの信号しか聞いていないので違和感はありません。この辺の事情を理解していないと TAP 511 を
完成しても、一時的に「ええ!ちょっと変?」と一瞬失望するかも知れません。でも受信局のレポートを聞いて安心してください!。

【追記】ちなみに、アナログ受信機とSDR-3で同時に同じ電波を受信するとまるでSDR-3のメニューにある「PSD STEREO」を
セットして聞いているみたいです。感性によっては「ステレオちっく」に聞こえ、返っていい感じに聞こえる人もいるかも、です。

遅まきながら WaterFall の動画をアップしました。

通常のQSOをWaterFallで観察してみました。スペアナ画面は上下 12KHz に渡って波形が出ています。強力なアマチュア局が出ると
中央付近に赤いドットの波が出現して信号強度が強いことが分かります。
色の設定は様々できて色の濃さ、色の種類を好みに応じて設定できます。(個人情報保護の観点から音声はかなり絞っています。)

ピンクノイズをダミーロードに出力した動画です。LSB領域だけに波形が流れています。ある程度の経時的変化を画像で見られますから
送受信機の調整にも役立つでしょう。もちろんメニューひとつで WaterFall を消してスペアナ画面に戻すこともできます。

通常のQSOをしている下側に強力な妨害(?)信号が出てきました。単にテストなのか直ぐに停波したので問題はなかったのですが、
このようにスペアナ(バンドスコープ)と WaterFall を合わせることによる、視覚によるバンド管理はまた違った趣があります。
受信機のVRを絞っていてもたまに眼で監視すれば、例えばローカルが出てきたとか、今はバンドが空いているとか、様々に利用できます。

所感。

これだけコンパクトにまとめられた2枚の基板で3次IMD -40dB、周波数管理をして全くFずれのない送受信機が出来れば
これ以上のものはないという感想です。ここ20年程のアナログPSNでの設計や製作の苦労を思うと隔世の感ありです。
アナログの世界で以前からIQ直交変換、所謂90度位相の周波数変換には興味をもっていましたがデジタルの世界でも同様に
あるいはさらに洗練され、広く応用され使われていること良くわかりました。SSBの第4の方法(小川方式)、iirフィルターなど
デジタルフィルターの領域に関しては、私には全く未知なものですが興味も湧いてきたところです。

さて、SDR-3に紆余曲折はありましたが、最後の段階でMr.X氏(ji1uddさん)のご指導でほぼ完璧なセットに仕上がりました。
100mW程度のSSB信号を出力出来ますので、既成トランシーバで周波数変換の必要が無くなったミクサー後の適当な所に
入力してやれば100Wあるいは1KWなどに出力アップできるでしょう。購入したことはありませんが100万円もするメーカー製の
性能に基本的には優劣つけがたいほどに仕上がったと思います。SDR-3の後のステージではIMDを悪化させない
いいアンプを使ってください。

私はオペアンプによるヒルベルト位相器を作りPSNタイプのSSBを長年楽しんできました。アナログPSNは調整が難しく経年変化
も問題になるという批判も一部にありますが、オペアンプによるオールパスPSNでここ10年以上逆サイドサプレッションが-60dBを
切ったことはありません。コンデンサーの経年変化も同じ材質を使えば全てのCが同じ%だけ変化するわけで、位相グラフ上では
少し特性が横軸移動するだけで、特定の周波数で位相がずれるとか、全体の特性が悪化するとかはありません。しかし今回の
最終チューンアップした SDR-3と比較してアナログPSNが優勢のところは20~30Hzの超超低音領域でも逆漏れが少ない、また
IMDが自作機は3次でマイナス 60dB は行っているという点くらいでしょうか?!(笑い)。
(しかし、3rd IMD -40dB と -60dB ではIQ直交検波器を備えた受信機で逆サイドを聞くとその違いがよく分かります。-60では
不要な”ブチブチ”が全く聞こえませんが、-40ではバンド近傍の他局には分からなくてもが自局のモニターでは
少し聞こえます。SDR-3の次の課題はRFのIMDをどう改善するかですが、今の所見当もつきません。)
いろいろ苦労はありましたが、SDR-3と自作機がほぼ同程度の性能になりましたので私も activity は高くないのですが、
アナログPSN機とSメータ付きのSDR-3を交互に切り替えてQRVしています。

SDR-3は全てデジタル処理をしているので調整の面倒さもなく、経年変化も関係ありません。この点はデジタル処理の特典です。
プログラムのインストールさえ出来れば慣れないビギナーさんにも同じ性能のセットが出来上がる結果となります。
また、SDR-3はHilbert変換によるPSNタイプSSB、Weaver方式によるSSB、それに第4の方式によるSSBと3種類のSSB電波を
発生できます。これをアナログで実現しようとすると大変な作業になります。小さなCPUの中でこれだけの演算ができるとはやはり時代
ですね。いろいろ考えると感慨深いです。

膨大なシステムを開発され、大変な苦労をされた「おじさん工房の小川一郎さん」、改造プログラムに大変な労力を使われ、初心者に
献身的な指導をされてきた ji1udd氏 に、また廉価で素晴らしいセットを供給していただいたトラ技スタッフの皆様に感謝申し上げます。