Skip to content

ポータブルでスタンドアローンなソフトウェアラジオ,ゼネラルカバレッジ版

License

Notifications You must be signed in to change notification settings

mizutanilab/SDR-V3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ポータブルでスタンドアローンなソフトウェアラジオの製作例です。DDSのAD9851とミキサ612を使った構成で、国内AMから案外遠くの短波放送まで聞けます。スペクトル(スペクトラム)が出て、ウォーターフォール表示できて、長波~短波をカバーしています。シリーズでSi5351A採用のSDRもあります。

overall
全体像です。右側のプッシュボタンで、ゲインや選局を選んで、ツマミで値を変更します。周波数は、20 kHzから65000 kHzまで設定できます。国内の中波AM、短波のラジオNIKKEIや、いろんな海外放送が聞けます。選局は最小0.01 kHz刻みまで自由に変えられます。同調の選択度は結構高く、音声AM局で5 kHz離れていれば混信はほとんどありません。
 周波数の低い方は、長波帯の50 kHz以下がノイズが多くて聴くのが難しいですが、そこから上は使えます。高い方は、30 MHz以上は入ってくる局が少ないので、どこまで受信できているのかわかりません。
 銅色の部分にアナログ部が隠れています。右側の出来合いのモジュール2つがAD9851です。全体を秋月の樹脂ケースに入れて、大きさはおよそ横110 mm、縦100 mm、厚30 mmです。

LCD
液晶表示です。上半分が周波数スペクトルです。横1ピクセルが4.16 kHz幅、スペクトル全幅は532 kHzです。中央のTBS(954 kHz)を選局しているところで、スペクトルの上の▼が選局位置を示しています。左の小さいのが米軍AFN(810 kHz)で、右の強いのが文化放送(1134 kHz)です。スペクトルの下はウォーターフォールです。だいたい1秒間隔で降りていきます。
 一番下の行は、左から音量(ゲイン)、復調(AMだけ)、周波数の順で、一番右が局発の位相調整です。プッシュボタンで項目を選んで反転表示させ、ツマミで値を変えます。横幅と局発の位相の件については一番下に書きました。

PCB
シールドの銅張基板を取ったところです。まだ製作途中の写真でRF前段がありません。コンデンサの多い回路です。

回路図

circuit

いろいろ検討していったら、全体に面白みのない回路になってしまいました。今回は局発を正弦波にして、3fや5fの高調波をなくすのを目的にしました。移相回路とかいろいろ考えましたが、結局DDSを2つ使うことにしました。それをどこから調達するかですが、ちょうどいいデバイスを調べたら
AD9958(2出力):国内@4500円
AD9851(1出力):国内@2500
AD9851モジュール:eBayで中国直送@1400、国内@2000ぐらいから
でした。デバイス自体をいじくってもよかったのですが、値段とお手軽感に負けてAD9851のモジュールを2つ注文しました。届いたモジュールは、よく出回っている回路と変わらない感じで、正弦波出力をLPFに通してスプリアスがとれた信号(たぶん)を使っています。位相が90度ちがう信号にするために、片方のクリスタルで両方駆動するように配線し、裏でパターンをカットしています。
 RF前段は、初め省略していましたが、短波帯でゲインが足りなかったので2SC3355で1段だけ作りました。中波帯以下ではあまりゲインが出ないように定数を決めています。もともと強い局は強くなりすぎるらしく、FMのゴーストが入るようになってしまって、痛し痒しです。ミキサはギルバートセルのSA612(NE612)を使いました。602と並んで伝統あるチップです。その出力をオペアンプで差動増幅しています。612はレギュレータも入っているので、電源ノイズを気にしなくていいです。
 局発は、SA612Aのデータシートに外部から入れるときは200-300 mVppと書いてあったので、いい加減ですが抵抗で分圧して210 mVぐらいにして入れてます。半固定抵抗は振幅が同じぐらいになるように調整します。熱電圧より相当高いので、高調波はどうなるんだろうと思いましたが、ほとんど入りません。中で振幅を調整している可能性もあります。本気な場合は、RFのゲインに気をつけて、局発を20 mV以下にするのもいいと思います。
 PICまわりは前とほとんど同じです。6 MHzのクリスタルがありますが、これを使うと6 Mとか12 MHzとかでRFにノイズが入るので止めてあります。代わりに内部発振+PLLを使っています。コアの動作周波数は計算上は39.936 MHzで、最大2%変動するそうです。
 AD9851の制御信号は5 Vにプルアップして、初めはオープンドレインしていました。でも、信号が正論理なのに波形の立ち上がりが遅く、抵抗を小さくしたりしましたが、うまく制御できないことがあるようなので、結局オープンドレインはやめました。プルアップされていますが、意味なくなっています。5 V耐性のピンなのでいいことにしています。本当はレベル変換の回路が必要だと思います。
 AFアンプは、PICのDAC部分のデータシートには差動増幅の回路が書いてあったのですが、せっかく平衡出力されているのでBTLもいいかと思い、試してみました。音量は2号機より大きくなり、うまくいってる感じです。これならスピーカも鳴らせそうです。オペアンプは電流がとれるものということで手持ちからNJU7043を選びました。音質は普通です。気にする場合は4580なんかも使えると思います。ヘッドホンは左右が直列になるように結線しています。
 電源は、予想はしていましたが、消費電流が実測360 mAと大きいです。AD9851が熱くなるくらいなので、仕方ないです。パナEvoltaも秋月GoldenPowerも何時間かで終わりました。SA612の動作電圧が4.5 V以上で、それより低くなると感度が落ちて発振気味になり、位相もぐるぐる変わるようになります。次に液晶がおかしくなって、最後は2.5 VでPICのBORがかかります。
 材料はネックになるのがDDSのAD9851です。注文先はeBayで探しましたが、こればかりはご自身のご判断で。届かなかったこともあるので、そう思って取引するしかないです。それが2ヶで送料込3000円ちょっとです。ミキサのSA612は探せば手に入ると思います。602でもいいです。その他そろえて全部で6000円~7000円です。  

使用感

以下の局を確認しています。アンテナは、BNCから1 mぐらいのアンテナ線をのばして窓枠に引っ掛けているだけです。窓枠が重要というわけでもないみたいです。時間帯はいろいろで、近場が多いですが、地球の裏側からも短波放送が入っています。
 周波数はDDSの設定値です。小数点以下まで自由に変えられます。製作時に局発を測ったときは、設定とほとんど差はありませんでした。強度「FSゲイン」はピークをフルスケールに合わせた時のゲイン(VOL)の設定値で、小さいほど強い信号です。ここでいう「ゲイン」は、信号処理でのゲインで、1段階で√2倍です。「-」は測定忘れか、弱かったかです。RF前段を作る前(*印)と作った後(印なし)が混ざってます。RF前段を追加して、感度はずいぶんよくなりました。

周波数(kHz)局名言語発信地FSゲイン聞いた感じなど
594.0NHKラジオ第110*普通
693.0NHKラジオ第210*弱い
810.0AFN8*強い
954.0TBSラジオ8*強い
1134.0文化放送4 / 6*非常に強い
1242.0ニッポン放送-弱い
3480.0Voice of the Peopleコリア韓国-弱い。早朝
3925.0ラジオNIKKEI第111 / 15*普通
3945.0ラジオNIKKEI第214*普通
3985.0Radio Echo of Hopeコリア韓国15強いがジャミング有。早朝
4010.0Kyrgyz RadioキルギスキルギスBishkek-弱いがなんとか聞ける
5875.0Voice of AmericaコリアフィリピンTinang14強い
5955.0China Radio International13*普通
6055.0ラジオNIKKEI第111弱い
6070.0朝鮮の声放送-普通
6115.0ラジオNIKKEI第211普通
6600.0Voice of the Peopleコリア韓国-弱い。ジャミング有
7260.0北京放送12*強い
7325.0北京放送-弱い
7580.0朝鮮の声放送15*強い
9580.0KBS World Radio15普通
9650.0朝鮮の声放送10*強い
9735.0台湾国際放送-強い
9760.0Adventist World Radio KSDAグアム14最後に英語のアナウンス。早朝
11795.0KBS World Radioスペイン-強い
11810.0KBS World Radio日,スペイン9 / 13*強い
11810.0BBC南大西洋
Ascension島
16ノイズあるが聞ける。早朝
クイーンズイングリッシュ
12050.0Dandal Kura RadioKanuri南大西洋
Ascension島
16ノイズあるが聞ける。早朝
12065.0Radio Australia豪南部
Shepparton
16ノイズ多。フェージング大
オーストラリアの話題
13590.0China Radio International-普通
15160.0China Radio International13 / 14*強い
15230.0Radio Cairoスワヒリカイロ近郊
Abu Zaabal
13強い
15575.0KBS World Radioスペイン17*普通
17605.0China National Radio 1-弱い
17625.0China National Radio 2-弱い
17770.0Radio Free Europeタイ
Udon Thani
17弱い
21480.0Radio Free Asiaチベットテニアン島17*このあたりでは明瞭
21620.0Voice of AmericaチベットフィリピンTinang16フェージングあるが強い
21700.0Radio Free Asiaテニアン島14強い
日本語と英語の局は内容などから確認しましたが、それ以外はshort-wave.infoやshortwaveschedule.comで調べました。東アジア系の他に、地球の裏の大西洋からもアフリカっぽい言葉で入ります。初めキルギスの局を受信したときは半信半疑でしたが、英語局なんか聞いていると、どうも本当らしいです。他にも色んな局や正体不明の電波がたくさん入ります。  ギルバートセルに入れる局発の振幅は熱電圧よりずっと大きいですが、1/3fや1/5fのゴーストは出ません。むしろ強い局のスペクトルの折り返しで、532 kHz高かったり低かったりするのが出ます。RF前段をつけた後は、FMのゴーストが出てしまうようになりましたが、遠くからも聞けるようになったので許すことにしました。

VOA
休日昼中の13 mバンド。Voice of America (21620 kHz)を選局しています。チベット語とのことですが、中国語と聞き分けられません、すみません。

RCairo
昼の19 mバンド。Radio Cairo (15230 kHz)を選局。結構強く、それらしい感じの言葉。スワヒリ語だそうです。

KBS
昼の25 mバンド。KBS World Radio (11810 kHz)の独壇場。スペイン語。

Taiwan
夜の31 mバンド。台湾国際放送の日本語放送(9735 kHz)を選局。中央の小さいピークです。

CRI
49 mバンド。英語のChina Radio International (5955 kHz)を選局中。他にもいっぱい聞けない程(本当に)の放送局が見えてます。

RHope
早朝の75 mバンド。Echo of Hope (希望のこだま放送, 3985 kHz)を選局。コリア語。朝からたくさんの放送が見えますが、ジャミングも多いです。

ファームウエア

2016.3.21。前作の2号機とだいたい同じです。周波数の変更はケタごとに反転させて、10 kHzとか1 kHzとかの刻みで変更できるようにしました。小数点の下一つ目を変えると、その下も変わるバグがあります。初めは復調をAM以外も作るつもりでいましたが、必要なさそうでAMだけです。音声信号の取り方や、表示更新の頻度の件は、前と同じです。オーディオ出力のナイキスト周波数も4.5 kHzぐらいで同じです。
 表示一番右の「Φ」は局発の位相の調整です。周波数を大きく動かしたり、長い時間使っていると局発の位相がずれるらしく、スペクトルで左右対称の位置にピークが出てくることがあります。そういう時に、対称イメージがなくなるように調整します。中波ならテキトーなAM局で位相が調整できます。短波帯にいる時は強い中華系が使えます。周波数の高い方では、30 MHzにDDSのクロックらしいのが入ってくるので、それを使います。どうして位相がずれるのか、よくわかりません。
 局発の位相では他にも謎があって、起動時にDDSにRESETをきっちり同時に入れても、2つのDDSの位相がメチャクチャです。上のプルアップのこともあったので、RESET信号の波形を確認して同時になるようにしましたが、位相はランダムな感じを受けました。なので、起動後に位相を変えながらI/Q信号の差を求め、いちばん小さいところから90度ずらした位相に設定しています。怪しいですが、そうするしか解決法がありませんでした。やっぱり3.3 V→5 Vレベル変換しないとダメなのかもしれません。それでも位相がずれていく件は説明つきませんが。

2016.3.27。PICのクロックがRFに入ってうるさいので、内部RCクロックに変更。DDSはクリスタルなので横軸原点(中央)はまあ信用できますが、横軸の幅はPIC内蔵のFRC依存で、データシート的には最大2%の誤差が出ます。同調点はFFTで3ポイント目にしていて、4.16 kHz x 3 = 12.48 kHzなので、その2% = 0.25 kHzのズレは出るかもしれません。

2016.4.3。PICマニュアルのI/Oポートのセクションに、連続のビット出力はPORTに書き込むのでなくLATに書き込むべき、との記載を見つけて直しましたが、位相などの動作は変わりませんでした。


このページの内容はMITライセンスの下で提供されています。掲載した情報は検証はしていますが、ご利用はご自身のご責任でどうぞ。
SDR-X - SDR-V3 - Google sites - GitHub - YouTube - Mizutani Lab

About

ポータブルでスタンドアローンなソフトウェアラジオ,ゼネラルカバレッジ版

Topics

Resources

License

Stars

Watchers

Forks

Languages