RedPitayaを使ったSDR構成のまとめ

1.はじめに
SDRとしてRedPitayaを使い始めて約2年半経ち、その間ディジタル、SSB、AM, CWなどのQSOをしながらその時々の興味にしたがって構成を変化させてきた。その中での成果を日々の運用に生かせるようまとめてみた。これはその忘備録である。


FT8オペレーション風景
FT8の運用周波数である14.074MHzにWSJT-Xを設定するとOpenHPSDRとRedPitayaを経由してTS-680Sのダイアルも14.074に設定されていることに注意


2.全体構成
現在のQTHは密集した住宅地でもあり50Wの移動局運用であるが将来の帰郷を想定して500Wの固定運用も可能な構成としてみた。


JA5AEA局全体構成
Keyer, SP, MICをRedPitayaに収容するかPCに収容するかユーザの好みに応じて選択できる



試みたことは

1)HPSDRのSDRの機能をほとんど実現した

2)既存リグを流用して低廉なSDRを実現した

3)RedPitayaにCAT制御機能を搭載し既存リグの改造を最小限にした

4)Auto-atttenuate機能を含むプレディストーションを可変減衰器一個で実現した

5)RedPitayaにオーディオコーデックを接続した

6)RedPitaya側のハードを最小限にしてPC上のソフトウエアを多用した構成を試みた

7)受信専用のループアンテナでダイバーシティーを構成しOHレーダー近隣雑音などの除去してみた

等々である。

RedPitayaを使って実際の送受信機を構成する方法とそれに従ったボード類が世の中に多く存在するが、本構成はその中での位置付けとしては最も簡単な構成法でボード上に追加された部品数は最小であると自負している。これはRedPitayaのコネクターE1,E2で既に存在するンターフェースでのみ実現してみたからである。

3.TS-680S CATインターフェース
TS-680Sへの周波数指定とPTT制御をRedPitayaのUSBポート接続としてみた。これでPavelのマニュアルにあるようなコネクタE1のHermes Ctrlとの接続のための改造と配線は不要になってRedPitayaとは3本(USBケーブル一本、送受細心同軸2本)でよい。

速度はTS-680S時代の4,800bpsのみならずそれ以降のKenwood機種に対応する高速の38,400bpsも用意してみた。Kenwood以外のリグには対応していないが2つのCATコマンドの変更なのでそんなにハードルは高くない。


中央の白いコネクターがTS-680SをCAT制御するUSBコネクタ。
左の青はイーサケーブル
上部に移っているのは右から受信ループアンテナ、50オーム終端抵抗、TS-680Sのプリセレクタからの入力、プレディストーションのためのスニファーからの入力、CWキーヤー出力
下段は右から+5V、2AのUSB電源(iPAD用を流用)、RedPitayaのARMモニター用シリアルケーブル

4.S-ATT & SW
S-ATTは0.5dBステップの受信部入力減衰器(PE4302)である。当局の環境ではRFの過大入力はないので不要であるが、プリディストーションで自動でIMを最小に調整する機能であるAuto-Attenuateを働かせている。これがないと送信送信出力が変わると最適なIM値は得られない。プリディストーションで要求される周波数平坦性は受信サンプルレイト(例えば192kHz)のナイキスト周波数帯域内に限られるので、トロイダルに30L-1の出力同軸に通す簡単な構成のスニファでも補正できる。具体的には#61トロイダルコアにエナメル線を33巻いて同軸の芯線に挿入して50Ωで終端時に30dB損失の結合器ができるのでこれに16dBのATTを直列にいれてー46dBのスニファーを構成した。下に組み立てた実際の運用時の構成のスニファーをNANOVNAで測定した損失の周波数特性を示す。PE4302の損失可変範囲は31dBであることを前提に50MHz帯までのHF帯の利用に十分な特性(1.8MHz~50MHzで4dBの偏差)である。






最適入力レベル(+10dBm)に合わせるための16dB固定減衰器を通して最大31dBの減衰器PE4302を通して最後に3:8のステップアップトランスで約4dBの利得を稼いでみた。制御はPE4302がSPIインターフェースを持っているのでRedPitayaのSPIインターフェースに直接接続している。このためPavelのRedPitayaのマニュアルにあるI2S接続とかI2C接続の場合に必要な外付けインターフェースが不要となっているのが特徴である。

(ANT) SW機能は受信入力の選択機能でPTTに連動している。RedPitayaは通常IN2をダイバーシティー受信と送信時プリディストーションのフィードバック入力と共用しているために必要な切り替え回路である。IN1については必ずしもSW機能は必要ではないが、送信時にはループアンテナの増幅器から歪んだ過大な信号が加えられている。この信号の漏洩信号がIN2に回り込みプリディストーションのフィードバック入力に重畳することでIMの最適化に悪影響を与えることを防止するために設けてある。送信時は50オームのターミネーターで終端した。





5.SPおよびMICインターフェース

SPおよびMICのインターフェースの選択は2つある。

(1)RedPitayaにI2SインターフェースでAudio Codecボードを用意する

(2)PCのマイクおよびスピーカーを利用する

(1)の方式はTAPRのHPSDRプロジェクトが採用したためにOpenHPSDRソフトの標準でサポートされている。2種類試してみたがRCAのLine-inとLine-outが利用できるAudio Injector社のZero Soundcardを採用した。(2)の方式と比べても遅延量は少ない。音質もPC内臓のコーデックと変わらない。
Zero Soundcard


(2)の方法では遅延特性、ポップアップ雑音、操作性を考慮して「VOICE MEETER Banana」をソフトミキサーとする構成とした。

右上にOpenHPSDR、左下にはVAC1の設定外面、右下にVOICE MEETER Bananaのメイン画面、右上にはMacro Button


OpenHPSDRとBananaはVAC1でBananaのVIRTUAL INPUTSのVoicemeter VAIOで接続されている。接続の詳細はHPSDR SetupのVAC1のパラメーターを参照して欲しい。遅延特性からASIOを選択してポップアップ雑音を抑制するためにResamplerをチェックしている。

スピーカーはHARDWARE OUTのA1でPCのRealtekを選択してマイクはHARDWARE INPUT1で同じくRealtekを選択している。両者とも遅延特性のよいWDMを選択してバッファーサイズは512となっている。マイクはHARDWARE INPUT2にLogicool Webcam C270のUSBマイクも収容して選択可能となっている。

操作は右上のMacro.Buttenで例えばShureでPCのマイクをLogicoolでUSBマイク(16kbps)をOne Clickで選択できるようになっている。Logicoolの場合のマクロ例を以下に示す。Bananaの場合はスライドで利得が最大で12dB取れるのが好ましい。

Strip[0].A1=0;  
Strip[0].B1=0;   
Strip[0].Gain=+0.0;


Strip[1].A1=0;  
Strip[1].B1=1;   
Strip[1].B2=0;   
Strip[1].Gain=+12.0;

Strip[2].A1=0;  
Strip[2].B1=0;   
Strip[2].Gain=+0.0;

Strip[3].A1=1; 
Strip[3].A3=0;  
Strip[3].B1=0;   
Strip[3].Gain=+0.0;

Strip[4].A1=0;  
Strip[4].B1=0;   
Strip[4].Gain=+0.0;

Bus[0].Gain=+0.0;
Bus[1].Gain=+0.0;
Bus[3].Gain=+6.0;

6.CWインターフェース
CWに関してもSPおよびMICと同じく2つの方法がある。RedPitayaの内臓キーヤーはOpeHpSDRフロントパネルでコントロールできるしAudio Codecでのモニタ遅延特性も良好である。

一方PC上では汎用のソフトは多種あるがASIOインターフェースが利用可能なEho CWを利用した。

右下にEhoCWのメイン画面とParametersタグを開いている

接続パラメーターはEho CWのPametersタグを見て欲しい。CWのモニターはASIOでBananaのVIRTUAL INPUTSのVoicemeter AUXに接続することで低遅延を実現しており30WPM以上でも遅延は感じない。パドルへの接続とRedPitayaへのCW出力はSerial接続のDTRとRTSであるために別途eBayでDualのPCI基板(IC:TX382)を購入してPCに用意した。これは同じくParamaterタグのCW keyer input portとOut port select(Pc to TX)で確認できる。


RedPitayaへのCW出力は光カップラーでRedPitayaのE1コネクターのDION2_N(Dot,in)に接続している。

7.プレディストーションに関して
AutoーAttenuateはフィードバック量を最適になるように出力の変動に合わせてS-ATTを自動的に変化させる。どのように変化するかを試してみたのが以下の2つの画面コピーである。TS-680SベアフットではS-ATTは8dBである。これに30L-1のリニアを働かせたときには約10dBアップの17dBになっている。なお、最適なフィードバックがかかっていることを示すFeedBackは緑色になっている。

S-ATTの可変減衰範囲は0~31dBであるのでスニファの固定抵抗をうまく合わせると理論的には例えば1Wから1kWの出力に対応できることになる。1W出力でIMの特性の向上が要求されることはまずないことから当局の場合は10W近辺でプレディストーションが働くことを想定して固定抵抗の値を選んだのでベアフッド50WでS-ATTは8dBとなっている。
50W出力時S-ATTは8dBに注意


500W出力時のS-ATTは17dBに注意

注意:PURESIGNALは送信装置の直線歪を補正するプレディストーションの一方式で適切なフィードバック系が成立していることが前提の機能であり、これが不適切であれば送信波形は所望の改善は得られず最悪で数10kHzに帯域が広がったUnpureな送信波形となってしまうので注意が必要です。実験を行う際はダミーロードに接続するなどのエチケットが大切だと思いますし運用中も時々はRX2で送信波形をモニターするのが良いと思われます。これらに関する注意はPureSignal 2015-0512の文献に繰り返し述べられていますのでよく読んで利用することをお勧めします。

8.自作ハードの詳細
RedPitayaに追加が必要なハードはコネクタ類 E1, E2、IN1, IN2, OUT1, OUT2と接続されるのでRedPitayaの上部にユニバーサル基板を置く配置とした。E1、E2は2列26ピンでeBayでも販売されているが入手はあまり楽でない。そのため、入手が容易な2列6ピン1個と1列10ピン2個を組み合わせて接続する方法を試みた。組み立てに注意を要するがいったんはんだ付けをすると安定してその後の装着は案外容易である。


正面からみた自作ハード
RedPitayaのコネクタ類でOUT1にはTS-680SのPAの入力レベル合わせのために6dBの固定パッドが見える

上部からみた自作ハード
左上にアンテナのSW回路があり左下にS-ATT用のPE4302基板が取り付けられている。右上のステレオジャックはEho CWキーヤーの出力である。右半分にあるのがAudio Injector社のZero Soundcardである。

実験基板を流用したバラック組み立てで一見複雑そうに見えるが専用基板を起こせばRedPitayaのフットプリント内に収容は可能である。

9.RedPitayaの改造ソフトに関して
上記の独自の機能を追加するためにPavelが提供しているソフトに改造を加えた。以下のサイトにアップロードしてある。

https://github.com/ja5aea/TS-680SDR


追加した機能は

1.RedPitayaのUSBコネクターによるKenwood機のCAT制御

2.PuresignalのAuto-attenuate実現のための可変減衰器(PE4302)制御

3.Mikro Elektronika社とAudio Injector社のオーディオコーデックの選択とLine-in制御

である。

1と3に関してはstart.shファイル内のコマンドの引数を適宜変更する必要がある。

RedPitayaのSDカードの作成は下記のサイトの手順のgetting Startedで「Copy the content of the SD card image zip file to an SD card」の後で上記のサイトのソフト3つを上書きすればよい。

http://pavel-demin.github.io/red-pitaya-notes/alpine/

Getting started

  • Download SD card image zip file.
  • Copy the content of the SD card image zip file to an SD card.
  • (ここで3つのファイルをダウンロードして/apps/sdr_transceiver_hpsdrに上書きする。start.shの設定は適宜変更すること)
  • Optionally, to start one of the applications automatically at boot time, copy its start.sh file from apps/<application> to the topmost directory on the SD card.
  • Insert the SD card in Red Pitaya and connect the power.
  • Applications can be started from the web interface.
The default password for the root account is changeme.

もし、小生が加えた以外の機能を追加したい場合の手順はWindowsでもWSL2をインストールすればLINUX環境が利用となったので以下の例のように比較的簡単になってコマンド一つでコンパイルできる。

1.gitコマンドで小生が作ったCファイル類をダウンロードする。

    $git clone https://github.com/ja5aea/TS-680SDR

エディターで適当に修正した後に

2.ARMプロセッサー用の以下のgccコマンドを使ってコンパイルすると実行ファイルsdr-transceiver-hpsdrが作られる。

  $arm-linux-gnueabihf-gcc -static -O3 -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=hard -D_GNU_SOURCE sdr-transceiver-hpsdr.c -o sdr-transceiver-hpsdr -lm -lpthread

ここで

Command 'arm-linux-gnueabihf-gcc' not found, but can be installed with:

sudo apt install gcc-arm-linux-gnueabihf

のように不足のARMプロセッサー関連のライブラリーのインストールが必要との警告がでるが指定された手順を実行して再度gccコマンドを実行すればよい。

10.ディジタル運用に関して
ディジタル運用に関しては特段のハードは不要で当局の場合BananaのHARDWARE INPUT3にVB-AUDIOを収容できるので遅延にも厳しくないのでMME接続してこれをWSJT-X等のAUDIO設定をすればすべてPC上で運用できる。

あえて言えばHPSDR系のSDRはPCへの処理依存が高いことからSDRへの投資を控えてPCに予算を費やしてCPUはできるだけ高位のものを選択しておくのが賢明だと考えている。当局も最近6年使ったDUALコアからHEXコアのIntel7-8700に変えると途端にFT8のデコード時間が短くなってSSB時のポップアップ雑音も遅延も少なくなって快適な運用環境になった。

11.ダイバーシティ受信に関して
特にローバンドのOHレーダーなどからのQRMを回避するために有効である。まずはW1AEXデモ動画を見てほしい。

画面は3.873MHzを受信しながら左にあるPhasing Controlのレーダー画面をぐるぐる回すと3.873MHzの受信キャリアの振幅は大きく変わりあるところではほとんど見えなくなる。

これを実現するには

1.2つの固定したアンテナ(2.項で示した例では一つは送受兼用、一つは受信専用)


2.位相同期した2つの受信回路


3.妨害信号に位相差が生じる方向から送られてくる

必要がある。

1つの受信回路のANAN-10とかHermes Liteの場合は2台並べて位相同期させなければ実現できないがRedPitayaの場合一台ですむ。また、位相差を生じさせるために2つのアンテナの配置は妨害波が来る方向に(例えば中国からの)にしておく必要がある。これは指向性アンテナのバックで妨害波を切るのと同じである。従来のDUALワッチの機能とは全く異なっている。

このダイバーシティー受信がアマチュアのHF運用で近年悩まされている近接の雑音(電力線の重畳雑音とか近接の太陽パネルとか基地局のスイッチ電源雑音)にも有効な例がG7CNFのYoutubeが面白い。mrXPSのダイバーシティー受信は位相差のみでなく実際に2つのアンテナで受信され雑音レベルにアンバランスがあっても受信アンテナを切り替えることによってキャンセルでき雑音レベルを数十dB改善できることを紹介している。ダイバーシティ処理はデジタル処理である。

もう一つのダイバーシティーがステレオダイバーシティーである。これはRX2グループの中にあるSDアイコンをクリックすれば左がRX1右がRX2の音声がヘッドホーンに聞こえる。この原理は人間の頭脳には左右の音を別々に認識処理できる能力がありこれを利用すると耳に入ってくる信号のうち明瞭な方を信号として認識できるようになる。これをステレオダイバーシティと呼んでいる。このダイバーシティはヘッドホーンで行うのでアナログ処理に分類されている。メーカーリグによく装備されている古典的なダイバーシティー技術である。利用例として

1)スローフェージング下で左右のチャネルでフェージング位相差があれば強い信号を選んで聞けばよい。
2)2つの受信アンテナに指向性の違いがあれば左右の受信音で強い信号を選んで聞けばよい。

である。N1EUのデモビデオは指向性アンテナで15mでコンテスト中であるが受信アンテナに160mのロングワイアーを加えてサイドからの呼び出しに160mのロングワイアーを利用して効率よくさばいている例である。









コメント

このブログの人気の投稿

Thetis完全対応:sdr-transceiver-hpsdr-ananxd(3月1日改定)

DAIWA CNW-518 アンテナチューナのフィルター特性