ポータブルでスタンドアローンなソフトウェアラジオの製作例です。局発にSi5351Aを使ってミキサ612に入れる構成で、周波数的にはAM帯からFM帯までカバーしています。回路は、うまくいったAD9851+SA612構成のSDRを元にしたのですが、性能的にはそこまでいってません。カラー液晶でスペクトル(スペクトラム)が出て、ウォーターフォール表示できて、見かけだけはいい感じです。AM受信の様子>YouTube
This is a homebrew model of portable, stand-alone software radio. The circuit uses Si5351A for the local generator and puts its outputs into mixers 612. This model covers AM and FM bands. The circuit is based on a successful SDR with AD9851+SA612 configuration, but the performance is not as good as that one. The color LCD shows the spectrum, can display waterfall, and looks nice. AM reception >> YouTube
全体像です。右側のプッシュボタンとツマミで周波数とか変更します。周波数は、一応19.6 kHzから225 MHzまで最小0.1 kHz刻みで設定できます。国内のAM局やFM局が聞けます。海外の短波放送も入りますが、そっちが目的ならAD9851採用のSDRの方がずっといいと思います。高い方は、110 MHzまでは普通です。それ以上は局発の設定の仕方が変わって、散発的に大きいのが入ったりして何かおかしいですが、ところどころでそれらしい入感があります。低い方は26.3 kHzより下は変で、局発がついていっていない感じです。
今回の局発は方形波なので、1/3fや1/5fなどの奇数分の1のところでも同調します。偶数分の1のところでも若干入ります。そのせいで長波帯にはAMのゴーストが出ます。短波帯もFMのゴーストがあちこちで出ます。
銅色の部分は前作で貼った銅箔です。中では同軸でコネクタに配線しているだけで、何も入っていません。全体を秋月の樹脂ケースに入れて、大きさはおよそ横115 mm、縦80 mm、厚25 mmです。
実際の動作例はYouTubeでどうぞ。液晶は、eBayで買った350円の中華カラー液晶を使いました。上半分が周波数スペクトルです。横1ピクセルが4.16 kHz幅、スペクトル全幅は532 kHzです。写真は中央のTBS(954 kHz)を選局しているところで、スペクトルの下に横軸をkHz単位で表示しています。左の小さいのが米軍AFN(810 kHz)で、右の強いのが文化放送(1134 kHz)です。同調から外れた両側が弱くなるのは差動増幅のカットオフ周波数からですが、この回路ではなぜかブロードにもなります。スペクトルの下はウォーターフォールです。1秒に3ラインぐらい進みます。
一番下の行は、左から音量(ゲイン)、復調(AMとFM)、周波数の順です。右側のプッシュボタンで、値変更(赤カーソル)と項目の移動(緑カーソル)を切り替えます。ボタンでカーソルを緑にして、ツマミでカーソルを移動させて、ゲイン・復調や選局の各桁のところに持っていって、ボタンを押すとをカーソルが赤に変わるので、そうしたらツマミで値を変更します。
液晶を取ったところです。28 pinのDIPがPICで、その左下は、局発に使ったSi5351のモジュールです。その右隣にくっついているのがバックライト駆動用の2SA1015、そのさらに右がオーディオ用のNJU7043です。中央下寄りに変換基板にのっているのは差動増幅のNJM2746、一番下に2つあるのがSA612Aです。左上は電源関係です。初めは下半分をシールドしようと思って、そのスペースも作ってあったのですが、あんまりな性能でやめました。
回路はAD9851+SA612構成のSDRを元にしました。局発には、Silicon LabのSi5351Aが周波数範囲が広く、出力も3つあって位相が変えられそうだったので、これを使ってみることにしました。秋月のデバイス単体¥150と、ストロベリーリナックスの水晶付モジュール¥900で悩みましたが、またしてもお手軽感に負けて出来合いのモジュールにしてしまいました。その方が水晶の配線が短くてノイズが少ないメリットもあるということで、納得することにしました。
位相ではまたちょっとハマリました。Si5351のデータシートに位相を設定できるレジスタを見つけて、それで安心して作った後に気づきましたが、計算してみると位相の可動範囲は結構小さくて、7 MHz以下では90度もずらせないことに気づきました。でも、困っていろいろ試しているうちに、変な方法が見つかり、kHz帯でも90度位相が違う波が出せるようになって、それでやっています。
RF前段は、実はベタアースの1石アンプを作って付けたのですが、FMの信号があまりに強くなりすぎて、取りはずしました。アンテナのBNC端子から直でミキサの612に入れています。短波帯ではゲインが足りないようですが、つけたらゴーストも強くなるので無いほうがいい感じです。ミキサはギルバートセルのSA612(NE612)を使いました。その出力をオペアンプで差動増幅しています。612の電源は4.5 V以上なので、5 Vのステップアップ電源にしていますが、これがノイズの元でやっぱり良くありません。電池が3本しかないので仕方ありません。局発は、テキトーに抵抗で分圧して250 mVぐらいにして入れてます。半固定抵抗は振幅が同じぐらいになるように調整します。
PICまわりは前とほとんど同じです。クロックは内部発振+PLLを使っています。コアの動作周波数は計算上は39.936 MHzで、最大2%変動するそうです。AFアンプも、前作同様にNJU7043を使ってBTLな感じにしました。音質は普通です。ヘッドホンは左右が直列になるように結線しています。ステレオは処理速度的に無理です。トータルの消費電流は、液晶バックライト点灯時で200 mAぐらい、消灯時165 mAです。バックライトはしばらく操作しないと暗くなり、そのうち消えるようになっています。電池電圧が下がると暗くなると同時に消えます。
今回の材料で変わっているのは、カラー液晶です。ネットでいろいろ探して選んだのは、128x128ドットの1.44インチ液晶で、コントローラはST7735でシリアル通信です。eBayで探して買いましたが、別の部品では届かなかったこともあるので、そういうときも対処できるように、よくショップを選んだ方がいいです。初めは秋月の極小モノクロ液晶をつけていたので、それに対応した配線もあって、ファームウエアにもルーチンだけは残してあります。ミキサのSA612Aは探せば手に入ると思います。他はありふれた部品です。全部で4000円~5000円ではないでしょうか。
2016.6.26。回路図に間違いがあります。NJM2746の100 kΩにつながる5 pFは、本当はnon-inverting入力側についています。考えれば当然ですが。
以下の局を確認しています。アンテナは、BNCから1 mぐらいのビニール線をのばして窓枠に引っ掛けているだけです。周波数は設定値です。強度「FSゲイン」はピークをフルスケールに合わせた時のゲイン(VOL)の設定値で、小さいほど強い信号です。ここでいう「ゲイン」は、信号処理でのゲインで、1段階で√2倍です。「-」はフルスケールに届かない局です。
周波数(kHz) | 局名 | FSゲイン | 聞いた感じなど |
---|---|---|---|
594.0 | NHKラジオ第1 | 15 | 弱い |
693.0 | NHKラジオ第2 | - | 弱い |
810.0 | AFN | 12 | 普通 |
954.0 | TBSラジオ | 11 | 強い |
1134.0 | 文化放送 | 7 | 非常に強い |
1422.0 | ラジオ日本 | - | 弱い |
3925 | ラジオNIKKEI第1 | 12 | 強い |
3945 | ラジオNIKKEI第2 | 16 | 普通 |
6003 | Radio Echo of Hope | - | コリア語。弱い |
6055 | ラジオNIKKEI第1 | 15 | 普通 |
6115 | ラジオNIKKEI第2 | 13 | 普通 |
6600 | Voice of the People | - | コリア語。弱い |
7275 | KBS World Radio | 16 | コリア語 |
7430 | China Radio International | 14 | 中国語。このあたりでは強い |
9595 | ラジオNIKKEI第1 | 15 | 普通 |
9645 | ラジオ日本(NHK国際放送) | - | 早朝。なんとか聞こえる |
9650 | 朝鮮の声放送 | 17 | 日本語 |
9805 | KBS World Radio | 16 | 日本語 |
9880 | China Radio International | 15 | 中国語 |
11620 | China Radio International | 13 | 英語。このあたりでは強い |
11865 | 朝鮮の声放送 | 14 | 日本語 |
13570 | China Radio International | 15 | 中国語 |
15160 | KBS World Radio | - | コリア語 |
15230 | China Radio International | 13 | 中国語。強い |
15415 | Radio Australia | - | 英語。フェージング大 |
15480 | China National Radio 1 | - | 中国語。弱い |
15710 | China National Radio 6 | - | 中国語。弱い |
17485 | Voice of America | 17 | 中国語。弱い |
17770 | Radio Free Europe | - | ロシア語。ごく弱い |
21695 | Voice of America | 16 | 中国語。このあたりでは強い。 |
周波数(MHz) | 局名 | FSゲイン | 聞いた感じなど |
77.1 | 放送大学 | 16 | 弱い |
78.0 | bayfm | 17 | 弱い。聞き取りにくい |
79.5 | NACK5 | 15 | 弱い。聞き取りにくい |
80.0 | TOKYO FM | 12 | 弱い |
81.3 | J-WAVE | 7 | 強い |
82.5 | NHK FM | 6 | 非常に強い |
89.7 | InterFM897 | 16 | 弱い。聞き取りにくい |
90.5 | TBSラジオ | 8 | 普通 |
91.6 | 文化放送 | 8 | 普通 |
93.0 | ニッポン放送 | 7 | 普通 |
中央で選局しているのがKBS World Radioの日本語放送で、その右が中国国際放送(北京放送)、左の方のが朝鮮の声放送です。短波帯はFMのゴーストがバンバンでますが、それがないところでこんなのが入ります。
2016.4.29。前作を編集して、局発のSi5351とカラー液晶のST7735の制御ルーチンを追加しました。どちらもハマリ要素満載で、ずいぶん手こずりました。カラー液晶にデータを送るのが時間がかかるので、オーディオ出力はタイマー割り込みを発生させて、8 kHz強の一定間隔で出しています。今回はFM復調のルーチンを追加したのですが、それがいまいちで恥ずかしい感じです。
2022.2.23。LCDに何タイプかあるようです。それに対応した初期化ルーチンclcd_init2()をソースコードのst7735.cに作りました。clcd_init()の代わりに使って下さい。
このページの内容はMITライセンスの下で提供されています。掲載した情報は検証はしていますが、ご利用はご自身のご責任でどうぞ。
SDR-X -
SDR-V3 -
Google sites -
GitHub -
YouTube -
Mizutani Lab