ESP32 SD-TRX (3) 【2024.12.19】 |
この機器もすでに一時的な完了報告から1年が経ち、運用するうえで、いろいろ改良したい点が増えてきました。当時は、「それなりの形に」SDRを仕上げることに注力していたために、検討が面倒な部分は先送りしていて、最後まで来てしまったからです。その後は、JF3HZBさんのSDRを組み立ててTRX化したり、中断していたダイレクトコンバージョンのSD-TRXをくみ上げたりと、興味深いネタが続いたので、本機の改良に関しては全くの手つかずじまいでした。
さて、それらが一段落して、以前から気になっていた本機の改修にかかろうという気が起きたので、気が変わらないうちに着手しておこうということで、検討を再開しました。以降、相変わらずの日記的でまとまりがないですが、時系列順に改修した部分についてメモしておこうと思います。
まず、何が一番「お気に入り」になっていなかったかということですが、性能はともかく、TRXとしてあまり美しい構成ではないという点です。特に、RF部分が顕著で、TXのスプリアス対策のためのIF周波数の2系統(13.4MHz/20MHz)化やメカリレーを多数使ったTRXミクサーの構成は当時としては、ある程度性能を犠牲にしないで、なるべく早くTRXとして完成するために妥協した部分ですが、なんとかそれからスッキリさせたいと思っていました。
ということで、下図に示すように(大部分が)バイラテラル構成でアップコンバージョンによるIFのスッキリ化を画策しました。
IF/Mixer部分を大幅改造する?
この図の上側が現状で、IF Filter切り替えとTRX Mixerの経路切り替えに大量のSW(IF Filter切り替えは半導体SW、他はメカリレー)を使っていました。経路もごちゃごちゃで、メンテナンス性もあまりよくありません。
これを改善するために、できる限り双方向性の素子を使って信号経路をスッキリさせ、IF周波数をアップコンバージョンで45MHzとして二系統のIFという妥協策を解消します。当時はこの構成の素子は決め打ちしていなかったのですが、検討を進めて、最終形に収束していきました。その過程を以下に示します。
まずは、本構成の要となる双方向性Mixerの検討です。性能の点からは、単なるDiode DBMより、もうちょっと上級の匂いのするものが欲しいと思っていました。まぁ、最悪は単純なDiode
DBMでもいいのですが、これだともとのSL6440Cの方がマシということになるので少し他を当ってみます(笑)。
候補となるのは、H-Mode Mixer とFETをBridgeに配したSD8901です。後者は以前にアナログのメイン機やAPB-3の周波数拡大アダプタに使ったことがあるので、土地勘があるのですが、H-Mode
Mixerは弄ったことがなかったので、こちらから調査を始めます。
可変デューティー180度移相回路
超有名なH-Modeミクサーのサイト を参考に、まずは色々なH-Mode Mixer用のクロック発生器を組んでみます。高速なロジックである74AC86と74AS86を用意したのですが、ASの方はまともに動作しませんでした。回路図をよーくにらむと、ショットキーでは動かないことが理解できました。回路を組む前に回路図をよく睨めよ!と自戒の念で一杯です(笑)。
VRを可変して、デューティー50%から下の写真にあるくらいまで移相関係をずらすことができます。
デューティー可変移相回路の波形
さて、肝心のH-Mode Mixerですが、かのサイトに面白い形のものがありました。回路を見ると、構成が簡単に見えたので、まずはこれに飛びついてみました。
TLT Mode H-Mode Mixer
殆ど見たことが無い、伝送線路トランスとSW二個で構成できるので、これで特性が出るなら面白い・・・・と飛びついたのですが、結果はけっこう無残で、普通のDiode
DBMにも劣る蟻様でした。勿論、どこかに私の稚拙さ故のミスがあるのかもしれませんが、簡単な回路なので、じっくり舐めまわしましたが(笑)、劣化?原因が不明でした。他にも候補がたくさんあるので、今回は次に行ってしまいます。
次に作ったのが、オーソドックスな3トランスを使うH-Mode Mixerです。
3-Trans H-Mode Mixe
これもかのサイトを参考にしました。左側が74AC00のデューティー可変移相回路で、右はスイッチング素子にQS3126を使ったMixerです。どえらい空中配線ですが、この方法だと、ほぼ最短で配線できたと思います。結果ですが、(RF,IF,Local)MHzが
(24,45,69)時 IIP3=24dBm Loss=-8.8dB
(7,9,16)時 IIP3=36dBm Loss=-4.3dB
となりました。以下にその様子を示します
IFが9MHzの時の特性例
IFが45MHzの時の特性例
これを見ると、HFではいい特性が出ていますが、IFが45MHzになるとかなり特性が劣化してしまいました。多分QS3126のスイッチングスピードが遅いためだと思われます。また、電源電圧を7Vくらいまで上げると特性が改善するようですが、今回は早々に撤退してしまったようです(笑)。
なお、かのサイトには2Trans H-Mode Mixerの記述もあったので、この際だからと懲りずに実験しておくことにしました。
2Trans H-Mode Mixer
このミクサーには高速なスイッチである74LVG1G3157を採用してみたのですが、特性は3Transのものとほぼ同等という平凡な結果に終わりました。こうなると、あとは74AC00をさらに高速なCMOSロジックに置き換えるくらいしかなさそうなのですが、ご覧の通り、回路がけっこうな面積を占有するので、期待がそがれてしまいました。
こうなると最後はD-MOSのSD8901HDしか残っていません。
SD8901Mixerの様子
この石は15年以上前に作ったアップコンバージョンのアナログメイン機に多数採用したもので、高い周波数においても良好な特性の実績があります。実装のための面積もあまり大きくなく、今回の用途には向いています。ただし、ローカル供給電力が大きめで20dBm近く必要になるのが難点ですね。さくっと45MHzの特性を見たのが以下の図です。
SD8901Mixerのリニアリティ
特性的には、RF=24MHz,LOCAL=69MHz(16dBm)でIIP3=33dBm,Loss=6dB、Carrier Leak=20dBとギリ合格ですかね。Local
Levelが20dBmに増力するとIIP3=35dBmを超えますがCanが若干熱くなるようでした。写真のCanの上に製番があるハズシ品の石は、共同購入したのですが、何故か動かずでした、うーーん?
とりあえず、普通の特性は得られたようなので、これをバイラテラルミクサーの候補として話を進めます。
さて、一番の要の高IPミクサーの剪定が終わったので、次は、45MHzのIFフィルタの確認です。というのも、このフィルタは1段で済まそうとすると、送信Spur.が抑えきれずにスペックアウトする可能性が極めて高いのです。
というのも、74CBTLV3253のQ-MODを45MHzで使用すると、キャリアリークとサイドバンドリーク特性がかなり劣化してしまっています。この場合、Low-IFの24kHzを45MHzにアップコンバージョンすることになるので、キャリアは中心Fから24kHz離れ、逆サイドバンドは48kHz離れに残留することになります。
Q-MODの出力スペクトラム
この不要波達はパーツレイアウトや各種バランスに配慮すれば、若干は向上するかもしれませんが、それは期待せずに、力づくで抑え込むことを考えます。で、IFフィルタが一段でだめなら2個使いにして突入です。さらにロス補正のためにノートンアンプを入れて特性を測ったのが下図となります。
MCFの二個使いの図
系の振幅特性
このMCFは一個あたり2.5dB程度のロスがあり、損失補正のためにアンプが要るのでこの間はバイラテラル構成を取ることができないのですが、それは仕方のないことですね。
ちなみに24kHz離調時の減衰量は70dB以上取れるので、キャリアリークは抑えられると思います。48kHz離れのサイドバンドリークは減衰量が充分なので、全く考慮する必要が無くなります。
以上、特性が気になっていたコンポーネンツの確認ができたので、全体の構成をレイアウトしてみます。ナマ基板の上に各部品を並べてみて、それを御本尊のTRXと見比べてみます。この感じだと、なんとか収めることができそうです。
ざっくり並べてみる
御本尊のTRXと見比べる
さて、次はローカルに移っていきましょう。まずは、AD9952DDSを使うのは規定路線として、クロックをどのあたりにすれば、スプリアスが問題なくなりそうかあたりをつけてみます。
昔作ったDDSの評価ボード
これは大昔にアナデバのDDS(AD9850/9851/9952)を試験できるようにした実験系です。今は懐かしいBASCOMで書いていました。青いビニルシートの掛かった部分でAD/9850/9851用に作ったのを、AD9952用に増築したようです。
ここでは、2種類のクロックを用意しました。いずれもジャンクですが、400MHz近辺のものと200MHz近辺のものです。これらをクロックに使って生成スペクトラムを見たのが以下の図です。
200MHz帯クロック使用時
400MHz帯クロック使用時
試しに75MHzあたりを生成してみました。これはIFの45MHzのアッパーコンバージョンでHFの30MHzまで使うことを考えての事です。これをみるとクロックが200MHz帯の場合はクロック周波数(200MHz帯)-目的周波数(75MHz)である125MHzあたりに生じるエイリアスが目的周波数と近接してきて何となくこの抑制に不安な感じがしています。かといってこの400MHz帯のでかい発振ユニットを引っ張り出すのもなんだかなぁ・・・と躊躇していました。
部品棚の水晶発振子の箱をみると、なんと、そういや昔にオクで求めた、TOYOCOMの314MHzの発振モジュールが見つかりました。そういや、こんなの落札したよな・・・なんて今更のように思い出して喜んでいます。
TOYOCOMの314MHzの水晶発振モジュール
しかしあまりにも小型なのでスペクトラムが心配になって様子を見たのが以下の図です。
TOYOCOM発振モジュールの近傍スペクトラム
TOYOCOM発振モジュールの広帯域スペクトラム
これを見ると、いずれもかなり綺麗なので、AD9952DDSのクロックとして使うのは申し分なさそうですね。
次に、御本尊のチューナーを引っ張り出して、AD9952DDSを動作させてみます。
AD9952DDSをArduino NANOで動作させてみる
これは以前、Arduinoの習作でDDSを弄っていたころに、EFAD9952.h/cppなるライブラリを、EFAD9850というライブラリから改造して作ってあったので、スムーズに動作させることが出来ました。ArduinoのライブラリでAD995X用のもので使いやすそうなも見あたらなかったので、自作してみたという次第です。
うまく動作したので、いままでのモジュール類をざくっとナマ基板上に並べて、本体に収容できるか確認します。
生基板に部品類を並べて収容可能か判断する
実際に配置し配線を行う
上図は一応配線を施して見た様子です。ミクサーはHD8901、ローカルはAD9952DDSでクロックは先のTOYOCOMの314MHzのもの、RX系IF AMPは2SC1251のノートンアンプ、TX系のIF AMPはµPC1677Cを採用しています。DDSクロック用AMPにµPC1654、SD8901のドライブにRD01MUS1の広帯域アンプといった面々です。全て手持ちの部品でカバーすることが出来ました。
要所要所にSMAコネクタを配して、ちょっと繋ぎ替えるだけで、スペアナやトラッキングジェネレータを用いて特性を見ることができるようにしてあります。これがあると調整やトラブルを早期に発見するのに役立ちます。
さて、バイラテラルということなので、送受のIF帯域特性を見ておきます。
RX系の特性
TX系の特性
いずれの特性もなんとか形になっているので、微調整は全体の系を仕上げた後に回したいと思います。以下ではTX側に45MHzのIF信号(ここではSSGからのCW)を入力して、7MHzと28MHzのスペクトラム(SD8901の出力)がどうなるか見ておきます。
7MHzのスペクトラム
28MHzのスペクトラム
これを見ると、けっこうなスプリアスが出ていて、抑圧できるのかいな?と思ってしまいますが、大丈夫です。28MHzはかなり厳しそうですが、いつも使っている3連の直列共振型のBPFを用いれば、減衰量が急峻なので、なんとかなるはずです。
28MHz用BPFを繋いで確認する
上図のように、JH3HZBさんのSDR TRCVを弄っていた時に作っていたプラグインBPFを繋いでスペアナでスペクトラムを見たのですが、しっかり抑圧されていました。ここではそのデータは省略しますが、こうなると、早く御本尊のSD-TRXに繋ぎこんでみたいと思い始めます。
試験中のモジュール類を御本尊に繋ぎこむ
上図は本体のQ-MODからの45MHzの信号を検討中のIF/MIX部に入力して試験をしている様子です。SD8901Mixerの出力は本体のバンド毎のBPFを通過してPA出力を見ようとしています。
実際のデータは以下の通りです。
7MHzのスプリアス
28MHzのスプリアス
いずれも50W以下の領域なので50µW以下の条件は満足しています。高調波は定K型3段のものを使っていますが、これだとあまり余裕がないので、HFハイバンドは4段にしたほうが安心かもしれません。
一方、あれだけうじゃうじゃあったスプリアスはバンド毎の3連直列共振型BPFで綺麗に抑圧することが出来ています。毎度のことですが、これにはほっとしました。
以下、7/28MHzの2ートーンの最大出力(@IMD3=30dB近辺の)と7MHzのスペクトラムの様子を示します。
7MHzの2-トーン波形
28MHzの2-トーン波形
7MHzの2-トーンスペクトラム
7/28MHzの出力は23W/12Wといったところで、ハイバンドで出力が減少してしまいましたが、今後レベル配分の見直しをして、ハイバンドも復活させたいと思っています。その他のバンドも同様な特性が得られており、問題なく運用できると考えています。
ここまででほぼ目鼻がついたので、IF/Mixerモジュールを本体に実装すべく、細々とした回路(送受切り替えリレードライバ等)を組み込んで、一応の完成形としました。
機能が確認できたモジュール基板
これを御本尊に実装していったのが下図です。
御本尊の全体図
なんとか収まった感じですが、この2階建屋の下側、即ち一階には、従前のミクサー回路が鎮座ましましています。あまり考えたくないのですが、ここで検討してきたモジュールになにか不具合が発生した場合は、元の構成に戻すことも可能なように動態保存してあります。御本尊の左上方あたりには、13.4/20MHz帯のクリスタルフィルタも残してあります。
ここまで来ると、当初の目論見はほぼ達成できたのではないかと思っていますが、あとはソフトの小改修をしておくことにします。
まずは、受信帯域の拡張です。現在2450/2850Hzの帯域でNarrow/Wideとしていますが、Narrowの方はSSB受信には問題ないのですが、Wide側はFT-8用には少し狭いのでこれを拡張します。
Wide側フィルタを3000Hz近くに拡張
これはいつもお世話になっているJF3HZBさんのフィルタ係数計算スクリプトで、帯域を3000Hzとして計算したものです。DSPの場合、計算通りの帯域を実現できるので、あえて、実測特性は載せませんが、計算通りになっているのはFT-8のスペクトラムを見て確認しました。
次はAGCの改良です。これも、何とかの一つ覚えではないですが、JF3HZBさんのCodeを借用してしまいました。どうも私は処理フレーム毎に平均化してAGC処理をしていたので、遅延が大きく、聞いていて若干不快を覚えていました。
JF3HZBさんのAGCのCodeの効きは不自然では無かったので、そっくりアルゴリズムごと転用させていただきました。制御レベルのパラメータを変えながら、本機に合うように検討しました。
AGC応答の様子
上図は無信号時から-60dBmのキャリアを入力した時のAF応答です。反応に4mSくらい掛かっていて、アナログのAGCに比べると、ちょっと遅いです。JF3HXBさんのSDRは120kspsですが、私のは96kspsなのでその分遅くなっているので、これはいたし方ありません。なにせ、「計算」で制御しているわけですから。ただ、聞いた感じでは殆ど違和感なく受信できているので、これで充分と判断しました。
また、ここではデータを示しませんが、RXトップに置いた半導体ATT(PE4302)も制御しており、ゆったりとしたレベル変動や過大な入力に対応できるように対処してあります。
ここらで終わりにしようかと思いましたが、データが少し残っているので以下に追加しておきます。まずは50MHzの話です。
実は、今までの検討中に50MHzはあまり期待していませんでした。もともとIF=45MHzで50MHzの出力って、かなり厳しい条件なのです。Localは95MHzになるのですが、IFと希望周波数が5MHzしか離れていないのでTXMixerによるIF信号の漏れを抑圧するのがきついのです。
もともとアップコンバージョンのアナログメイン機では、この抑圧にノッチフィルタ(45MHz)なんぞで対処していたのですから、大変さが分かります。今回も何も対処しないで、3連の直列共振BPFではスプリアス比が-50dBときつかったので、今回は追加のBPFで対応してみました。
50MHzの追加BPF
BPFの特性
これを見ると45MHzに置ける減衰量は10dB以上になっているので、これの追加でどうだぁ!と追加してスプリアスを見たのが以下の図です。
50MHzのスプリアスの様子
なんとかスプリアスも-60dB以下になっているので、晴れて50MHzで送信できる特性になりました。これで一安心です。他の周波数帯もオペレーションするための規格はクリアしていますので、早い時期に変更申請をしておきたいと思っています。
長々と書いてきましたが、とりあえず、改修のメモはこの辺りにしていきたいと思います。但し、時間が経てば、またなにやら弄りたくなる事も起きると思いますが、その時まではじっくり使い込んで行きたいと思っています。