2022年8月5日金曜日

2022/08/05 Amateur Radio Transceiver Made by Software Engineer #15

2022/08/05 softwareエンジニアがつくるtrx #15
Unfortunately this text is in Japanese only.
使用するマイコンSoC chipの選定。候補は枚挙にいとまがないですが取りあえずESP32(無印)にしました。理由は
  • 手持ちがある
  • 安価なのに比較的高速・低消費電力
  • FPU(浮動小数点ユニット)を搭載
  • デュアルコアでRTOS
  • I2Sが内部ADC/DACにDMAマッピングできる(ステレオ1chのみ)
  • WiFi・Blutooth対応(技適なしモデルなので使用予定なし)
開発環境はVS code+PlatformIO(arduino core)
先ず、内部DAC(8bit) I2S経由ステレオ(2ch)でどの程度速度が出るか軽くテストしてみました。先人のsampleをパクッて参考にして実行。

正弦波を出力。オシロは28KHzと表示。

FFT。内蔵DACは8bitなためダイナミックレンジが低いからか少々ジッターが出てるみたいだけど出力周波数を上げてS/N比稼いでどこまでカバーできるか。

L/R 2chへI/Q直交信号みたいに90度移相して同時出力。

振幅違いのsin()/cos()のツートーン。任意波形を生成できることを確認。DACの確認は終了。本日はここまで。

2022年7月24日日曜日

2022/07/24 Amateur Radio Transceiver Made by Software Engineer #14

2022/07/24 softwareエンジニアがつくるtrx #14
Unfortunately this text is in Japanese only.
また、半年近くも更新が滞ってた...💦

知識の習得と実験で寄り道し過ぎて遅々として進まなかったmicrowave SSBハンディー機製作ですが、スローモーションのように進んでいます。
フレンド局から「いつ完成するの?」というプレッシャーの中、他の方が着々と成果をblogにて綴っておられる中、「急がば回れ」と自分に言い聞かせて公私の合間にやってます。

遅れの主な原因は、送受信系統を従来のダブルスーパーヘテロダインの様な正攻法な構成にすると、例え直交変調にしたとしてもLO漏れ等が原因で、どうしてもアナログフィルター作成の必要がありそうで新スプリアス基準に適合した電波の質を確保するためにはアナログ的技術鍛錬に時間を要するため、送信系統はμSDXの様なダイレクトコンバージョンにしたかった事(終段のE級増幅は除く)。それとソフト屋としては、無線工学(=数学)の知識が乏しくても、仕組みについては最低限の理解をするため、ソースコピーと改変でなくスクラッチから起こしたかった事です。とりあえず送信系は目途がついた...かも。

で、ごちゃごちゃやってたのは

〇 SSBのベースバンド信号生成(ヒルベルト変換)

 実信号からのIQ信号分離後、FFTして負周波数をゼロに、正周波数を2倍にしてiFFTする方式。
 任意の帯域でUSB/LSBが生成できたが、これを極座標変換し、振幅と位相成分に分離し、低周波のキャリアに同時変調し、確認のためベースバンドへ復調して再生すると、FFT時に適用した窓関数の周期で音声レベルに周期性が出てが揺れてしまう。
 まぁ、連続する音声サンプリング信号を定周期で切り出して窓関数かけてからFFTするため揺れるのは当たり前だと思うがどうすれば良いのか分からないので挫折。

 で、皆さんがやってるフィルター方式に切り替える。複素フィルターを設計できないといけないので頓挫するかと思いましたが、  [数式をほとんど使わずに理解するディジタルフィルタ] のサイトを読んで意外にも簡単にできました。この説明、「本記事では、できるだけ直感的にディジタルフィルタを理解することを目指して解説していきます。」って書いてあるだけあって凄く分かりやすい。

総合的なテスト(確認)はRFワールド No.22  「らくらく!SDR無線機入門」 のC#ソフトを改造しました。この記事は非常にためになりました。記事、ソフトの

[良かった点]
 ・単純乗算でのmixerと比べて直交mixerの仕組みと優位性が分かったこと。
 ・演算を回転(移相)ととらえて角速度がイメージできるようになり、位相や周波数が回転速度で表現できることが直感的、視覚的に理解できたこと。
 ・ソースを読んで、AM/FM変調、フィルタ畳み込み演算など具体的な手法(計算方法)が分かったこと。

[混乱した点]
 ・入力がIQ信号に分離されている区間のAPになっているため、IQ分離は外付けハードウェアを想定されていて、IQ信号形式のファイルやcos()/sin()しか入力できず、PCのマイクやLINE端子から実信号を入力してソフトウェアでIQに分離する処理がなかったこと。
 ・使用されているフィルタはSINC()実数フィルタのため正負の対象性を使用して±1.5KHzで3KHz帯域を切り出しているが下限が0と時は良いがゼロ以上に設定すると帯域の中心から情報が欠落すること。

取りあえず複素フィルタパラメータ計算の結果とSdrStudy(mod)での検証結果のみ。

 [Tj LabのAF PSNの記事] と結果が同じ。サンプリング周波数は16,000sps、バッファ長は1024個でtap数は512。

 


SDRstudy C#のソースを追加/変更して結果の確認作業。







「SSB」チェックボックスは実信号からのSSB(USB) RF信号生成。







  • PCのLINE端子ステレオ実信号をモノラル信号に変換。
  • FFT/iFFTを使用してヒルベルト変換し負周波数をカット。
  • 極座標変換し、位相と振幅でキャリア(4KHz)に同時変調。

複素フィルターでの実装









  • PCのLINE端子ステレオ実信号をモノラル信号に変換。
  • 複素フィルター(設計値は300Hz~3KHz)で加重平均畳み込み演算

バッチリ指定帯域が切り取られてる。切れ味最高!アナログでは不可能でしょうね。検証は終わった感あるので、そろそろ実機ハード作成とマイコンソフト作成時期かなぁ。

2022年2月13日日曜日

2022/02/13 Amateur Radio Transceiver Made by Software Engineer #13

2022/02/13 softwareエンジニアがつくるtrx #13
Unfortunately this text is in Japanese only.
長らく更新が滞ってた...💦
仕事が忙しいのもあるケド、次から次へと脱線して覚えたり実験したりする事項が多すぎたのと、パワーアンプ部分がどうしてもクリアできない。検証結果の一部分のみ記録。

( TQP7M9103 )
• 400 – 4000 MHz
• +29.5 dBm P1dB
• 16.5 dB Gain at 2140 MHz
• +5 V Single Supply, 235 mA Current
Pout=+29.5 dBm CW
片面基板に銅テープでマイクロストリップライン引いた渾身の作でテストしたケド全く出力出ない!。3ヶ試してみたけど全くでない!フェイクチップの可能性大。

続いて例によって中華のcomplete。
-30,-20,-10dBと入力側アッテネータを緩めていって250mw程度出た気がする(記憶があいまい)だが0dBにした瞬間にお亡くなりになったチーン
HackRFから、じわじわと連続的にUpすれば良かったと後悔。


NETでもフェイクが多いという報告がみられるシリーズ。ディスコンなのにピッカピカのシルク印刷なんて怪し過ぎるが、偽物でもパワーが出れば全く文句はないのでテストしたが出力出ない、全くでない!!さすがに心が折れます。


やっぱパワー計は要るなと思って仕入れる。中華(蟻)で3K以上したぞ!
しかし、こんな物でも有るのと無いのとでは大違い。絶対値は正確でないにしろ傾向が分かるのは大きい。


セットするのは周波数とOffset。Offsetは外部に挿入したアッテネータ値を±して表示するだけの値で実際にアッテネーションされる訳ではないので注意。周波数を入れるのは感度補正と思われるが不明。
大して電子工作の力量もないのに、こんなものも購入。プローブ2本ついて20K強の激安。30数年前に会社で使ってたのとほぼスペックは同じだが小さく軽くcheepだが、100万円!してたのに。しかもこちらはデジタルストレージだし。

まだ少し触っただけ。液晶画面は綺麗だけど110Mspsのうたい文句だが2CHにすると50Mspsに落ちる...マジか。XYリサージュプロットやFFTも付いてるが、REGOLの様にSPI,I2C等デジタル系のdecode機能はない模様(こちらは1,000円I/OカードとPCのPulseViewで賄えるし)。


ADF4351も良いケド、本命の1200MHz,2400MHz SSB/オールモードハンディー機作製で必要な直交変調I/Q信号用にsi5351aのブレークアウト基板。簡単に移相信号が発生できて超便利。しかも安い!


2mからtrvするための1,150MHzを作るために7逓倍を狙って164.285MHz。BPF通せば十分使えそう。このボードは160MHz、chipは200MHzまでの様だが5逓倍狙って230MHzでもちゃんと発振しました。これだけでも当分遊べそうだが時間が...


2021年8月21日土曜日

2021/08/21 Amateur Radio Transceiver Made by Software Engineer #12

2021/08/21 softwareエンジニアがつくるtrx #12
Unfortunately this text is in Japanese only.
追加でオーダーしてたものがボチボチと到着中。
( SPF5189Z )
シクル印刷がなんか偽モノっぽいケド💦
替え部品として購入。
( TQP7M9103 )
PAとして1W絞り出せるのか?
• 400 – 4000 MHz
• +29.5 dBm P1dB
• +45 dBm Output IP3
• 16.5 dB Gain at 2140 MHz
• +5 V Single Supply, 235 mA Current
Pout=+29.5 dBm CW
Pout=+20 dBm WCDMA
 
Sパラメータとスミスチャート、これから入出力を50Ωにマッチングとるため、シミュレータで計算させマイクロストリップライン上で回転させたり「C」で調整したりする必要があるんだろうなぁ~。
先は長いな...リタイヤ後の時間潰しには事欠かないが。
半田ペーストが到着したので早速試してみる事にする。融点は183℃、0~10℃で保存しろって書いてあるので冷蔵庫に入れとこう。まぁ、家族もこれは誤食しないだうろから。
 
我が家のリフロー槽。ホットサンドメーカー。美味しくできるかな?
Solder Mounting Condition に鉛はんだとPB-FREEの条件が書いてあるがそんなの制御できんので、コゲない程度💦で適当に。
爪楊枝の先に微量を付けて基板にぬりぬり。chip側にフラックス少量塗布してそっと基板に置いた。

リフロー時間が分からないから時々開けて足の部分のはんだの溶け具合を見ながら進める。本当はフタ開け閉めすると温度が上下 するので良くないとは思いますが。時間計るの忘れた!

少しはみ出してたハンダはpin足に吸い込まれて上手く吸着しているように見えるが...
一応テスターで隣接pinの導通を調べるがブリッジはなさそう。

あんまり綺麗じゃないですね。フラックスしてコテ先当てるといいかもですが先ずはリフローし過ぎてchipがお亡くなりになっていないか調べてからにしよう。micro scopeが要りますね。

2021年8月17日火曜日

2021/08/17 Amateur Radio Transceiver Made by Software Engineer #11

2021/08/17 softwareエンジニアがつくるtrx #11
Unfortunately this text is in Japanese only.
公私共にイロイロ忙しくて作業は進めてるが、作業を優先すると記録が追い付かない。ケド記憶力悪いのでそろそろblogに残すことにする。トピックとしては ...
  • LNAのMMIC chipがフェイクだった件
    →勘違いでした💦 (2021.08.21追記)
  • LO用のPLL発信器のスプリアス問題 → とりあえず解決?(追試予定)
  • Mixerのスプリアス問題(IF周波数)を認識
  • SSB信号の生成 → 後回しにしてFMの親機モジュールで実験中
  • PAの調達 → 実験中 & 新たな試み
このMMIC、シールドに
【SPF5189Z】と書いてあるので少々高かったが信用して買ったのだが偽chipだった

→勘違いでした💦 (2021.08.21追記)
SPF5189Zと思って買ったのは別のshopからのものでパッケージにも説明にもchip名は書いてませんでした。

【SBB5089Z】と印刷してある。
 VCC周りのCと高周波チョーク、入出力のCしか部品なくて使い易いchipではある様だが。
問題は...


【SPF5189Z】
 NFが1以下。
 

【SBB5089Z】
 NFが4以上!!


 
 
 
The SBB5089Z is a high performance InGaP HBT MMIC amplifier utilizing a Darlington configuration with an active bias circuitry. The active bias circuitry provides stable current over temperature and process variations. The SBB5089Z designed to run directly from a 5V supply, does not require a dropping resistor as compared to typical Darlington amplifiers. The SBB5089Z is a high linearity gain
block for applications that require small in size with minimal number of external components. It is internally matched to 50 Ω at input and output.
確かに入出力で50Ωでマッチング取れてて使い易すそうですがLNAとしては失格でしょう、だって "Low Noise Amp" なんだから。流石中華ですねぇ。
因みにこちらはSBB5089Zの2段で40dbタイプ。実験失敗してお亡くなりになったヤツ。2段目のチョークコイル焦げてますね💦

こちらは別に購入してた基板。印刷は見辛いですがSPF5189Zとは書いてあります。でも、何故か全く増幅しない💦

続いてLO用PLL OC基板。

上側:スプリアスが盛大に出てたヤツ。
下側:追加で試しに買って良かったヤツ。
ただし、使い方の問題かもしれないので追試後に記録する事にする。因みにリファレンス周波数が違いました。上:25MHz、下:100MHz。当然、ADF4351に送るコマンドも違う。
 
 


 

 

Mixerの問題はスルーしてた430帯をIFとした場合のLO漏れ。
LO=862MHz、IF=433MHzとすると
 LO - IF = 429MHz、LO + IF = 1,295MHz
で行けると思っていたが実は甘くなくて
 LO x 2 - IF = 1,291MHz
がいらっしゃる事。追試中だけどしっかりMixerのスプリアスと計算通りの周波数に信号出てる。キャビティーやヘリカル共振器の様なHiQな狭帯域フィルタで切るしかないがバンド内だし。で、LO=1,728MHzで引き算ならOKだったんだけど、IFとRFの増減が逆になるのでFMなら良いケドSSBは使いにくしTRVとしても使えないので思案中。

親機代わりのFM通信モジュール
RDA1846
中華ハンディー機のUV-5R,3Rあたりに使われているヤツ。でも5mm角に足が32本も生えていてはんだ付け不可能なため半田ペーストをオーダー中。pitch変換基板は裏側がQFN32。


で、もっと簡単に実験できるモジュール。
G-NiceRFのSA818
中華にありがちな、他にもそっくりさんな類似品が数種類あるみたいだが、どちらがコピー品か分からない💦
アンテナ、マイク、スピーカー(とAFアンプ)をつないでTTLシリアルでATコマンド!!!送ると即FM無線機の出来上がり。殻割りしてないケド、きっとRDA1846が使われてるんだろうなぁ~。
空中配線。アンテナとTX SW'付けてない状態ですが、ちゃんと受信はできてます。モジュールは左下。かなりコンパクト。
新製品?でSA828というのが有ってそちらが更にお手軽だが価格面で818で遊ぶ。







PAは懲りずに中華品のPAモジュールをオーダーして待ち状態。
それと実験でポンポン火を噴いて煙でたおかげか、中華PAモジュールはLNAと違って特定周波数用みたいな気が。使用 final chip は広帯域だが、使用周波数での入力と出力のインピーダンス整合を取る必要があるみたい。で、PA用 chip単体も適当にオーダー。ソフト屋がRFの世界に足踏み入れたので前途多難(だから面白い)。

2021年3月14日日曜日

2021/03/14 Amateur Radio Transceiver Made by Software Engineer #10

2021/03/14 softwareエンジニアがつくるtrx #10
Unfortunately this text is in Japanese only.
PAは火を噴きまくってテンションダダ下がり気味。
[コスモウェーブ] さんの高性能であろう2Wアンプを買おうかチラッと脳裏をよぎる💦。
(※webページのスクショを編集してます)
が、これをポンポン飛ばしたら破産しちゃう。

泣き言は止めて2.4GHz用のmixerが着弾したので気を取り直してテスト。
RFin=1.5-4.5GHz RFout=DC-1.5GHz
LO=312
このLO=312の意味が不明だったが300円しないので2ヶオーダー。
RTL-SDRは ~1.7GHzまでなので公称6GHzまでイケるHackRF ONEを使用。中華の「モドキ」TCXO+ケース付きで壱諭吉強だった様な。オープンソースなので。ただしモノホンより性能が落ちる?らしいが正規品買うと参諭吉強なので買えません!
 
 
 
 
 
まだ信号も入れてないのに2GHz辺りに出てる。やっぱ中華コピー品はだめなのかFFTの特性上?そうなるのか不明。
 
 
 
 
 
 
 
ADF4351から試しに2GHz
入れる。この方は出力周波数範囲:35MHz~4400MHzなので1200を親機にすれば5600まで頑張ったらいける?かも...
 
出るには出るが2GHzもスプリアス酷い。
(右横隣に並んだ高レベルの信号はHackRFによるもの)
拡大したくないが仕方なく。やはり左右対称でAM変調みたく電源周りが怪しいが取りあえず後回しに。

ターゲットのmixer。chip名が書いてあるのかないのか?小さすぎて老眼には見えない。データシート参照したいんだけどなぁ~。
 
一応LO漏れの確認。スプリアス引き連れて盛大に漏れとる。
拡大してみる。等間隔だが形状から見ると電源由来ではない気がしてきた。
(右横隣に並んだ高レベルの信号はHackRFによるもの)
RFout(IF側?)に433.1MHzを入れる予定でその周辺を確認するとやっぱり何か信号が出ている様な表示になる。LOに信号入れなくても出てるのでFFTの問題か、HackRFの内部的な問題か。不明。
 
-10dBのATT経由でRFinにハンディー機を接続。RFoutはHackRFに接続した状態で受信。
2433.1MHz付近に邪魔な表示があるので433.5MHzで信号注入。
それらしい周波数に信号が出た!250円位のmixerはちゃんと動いている模様。しっかりスプリアスも引き連れてシフトしてる💦
音声無変調状態で拡大してみる。無変調にしては帯域広く感じるのだが...
試しにしゃべってみた。まぁこんなもんかな。元凶のPLL OCスプリアスを解決できれば2.4G帯もイケそうな感じ♪
2.4G/5.6GのISM帯周波数はWiFiやドローン向けに大量生産された部品が出回っているのか入手性・性能・価格で有利なのかも。