おじさん工房  APB-1  APB-2  APB-3  SDR-1  SDR-3

おじさん工房 BBS

365502
名前
件名
メッセージ
画像
メールアドレス
URL
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

SDR3 でCW(その4) - 笛吹きおじさん

2018/10/19 (Fri) 07:47:42

長くなりましたので、その4に致しました。
ji1uddさん、おはよう御座います。
CWモード追加ではお世話になりました。
ちょっと気がついたことがあります。

先ず、周波数がアマバンド内にある時、LSB、USB、AMモードでkeyをONにすると送信状態になり、サイドトーンが出ます。
これらのモードは通常PTTで送信受信を切り換えますので、問題はないと思いますが。

もう一つ、アマバンド以外を受信中にkeyをONすると、その瞬間サイドトーンが出てすぐフェードアウトします。
時間をあけるほど、はっきり聞こえます。
この原因は、常時サイドトーンの矩形波がでていますので、HPへのゲートの特性でこうなるのかも知れませんね。

別に支障はございません、ちょっと気がついたものですから。

Re: SDR3 でCW(その4) - ji1udd

2018/10/19 (Fri) 21:24:52

笛吹きおじさん、こんばんは。

> 周波数がアマバンド内にある時、LSB、USB、AMモードでkeyをONにすると送信状態になり、サイドトーンが出ます。

10/8の投稿に書いたように iambic.c の処理で modをチェックしていないのでこのような動作になっています。サイドトーンは出ますが、CWモードではないのでCW波は送信されません。
LSB/USBモードであればマイクゲインを絞っておくことで音声も送信されませんのでキーヤー/TRリレーのテストなどに活用できると思ってこのままにしてあります。

> アマバンド以外を受信中にkeyをONすると、その瞬間サイドトーンが出てすぐフェードアウトします。

オフバンドでは気が付きませんでしたが、settingメニュー表示中にキーヤーを操作しても同じような現象が起こることは確認しています。キーヤーの処理は1ms毎に処理するのでシステム全体に影響がでないようになるべく簡素化しています(と言いながら活用していない処理が残っていたりするのですが…)。それゆえトランシーバーの動作モード/状態のチェック処理をいれていません。算段としてはオフバンドやsettingメニュー表示中は送信状態に移行しない(=受信状態)のでヘッドフォンアンプの入力ソースとしてはDACが選ばれ、サイドトーンは聞こえないというハズだったのですが、なぜかIN1L/IN1Rから入力しているサイドトーンがしばらくの期間漏れ聞こえます。これはオーディオコーデックICの中のアナログセレクタの特性起因と推定しています。こちらもCW波が送出されることはありません。

これら、もし気になるようでしたら、mod をチェックする、txをチェックする を追加すれば対処できると思います。

Re: SDR3 でCW(その4) - 笛吹きおじさん

2018/10/19 (Fri) 23:41:38

ji1uddさん、今晩は。
仕様と云うことですね。了解です。

Re: SDR3 でCW(その4) - ji1udd URL

2018/10/20 (Sat) 10:26:29

仕様というわけではないです(^^;)
2つ目の方は修正しました。
Step9として git に upload しました。

おまけで Step10 を作りました。
settingメニューで CWのピッチ周波数を設定できるようにしました。加えてスペクトラム表示中に CWモード時のチューニングポイントを示す縦の赤ラインを追加ました。CW受信音がお好みのトーンとなるようにピッチ周波数を設定するとSidetoneのトーン周波数も連動して変更され、スペクトラム表示中のチューニングポイントを示す赤ラインの位置も連動して変更されます。ピッチ周波数の可変範囲は500~800Hzで10Hz単位としました。

Re: SDR3 でCW(その4) - 笛吹きおじさん

2018/10/20 (Sat) 18:21:32

ji1uddさん、今晩は。
ニューバージョンを試してみました。
先ずSTEP9はOKです。サイドトーンは出なくなりました。
STEP10、これも解説どおりの動作をしています。

STEP8までのプログラムはそのまま残し新たなフォルダーを作り其処へSTEP8までのコンテンツをコピペしてそのフォルダでSTEP9,10をコンパイルしたのですが、何故かbin フォルダにmain.hexが出来ません。空のままです。
原因が分らず、STEP8までのプログラムに修正を加えました。

Re: SDR3 でCW(その4) - ji1udd

2018/10/21 (Sun) 06:46:54

笛吹きおじさんへ

Step9と10の動作報告どうもありがとうございました。

> 何故かbin フォルダにmain.hexが出来ません。

パスの問題と思いますが、具体的にここというのは良くわからないです。

では、また。

Re: SDR3 でCW(その4) やどさん

2018/10/21 (Sun) 12:38:34

ji1uddさん 笛吹きおじさん こんにちは!

まだまだ進化してますね!!

さっそく、STEP9,10適用しました。
オフバンドのサイドトーンフェードアウト無くなりました。
ピッチの可変もバッチリでした。 もう一台のトランシーバと実際に対向送受信してみてピッチを可変して問題なくゼロインして交信できました!すばらしい!

あとは、サブロータリーエンコーダでCWスピードを変更する記述を真似して、ブレークインタイムを変更できるようにしました。
笛吹きおじさんの画面メニューの並び替えもおこないました。ありがとうございます!

で、MAX7400というAF-LPFのキレがとても良いと知りまして、CW用LPFはハードで追加しようかと思っているところです。

//

Re: SDR3 でCW(その4) - 笛吹きおじさん

2018/10/21 (Sun) 14:29:04

ji1uddさん、やどさん、今日は。
今日は秋晴れの良いお天気です(JA1エリア)。
やどさんもSTEP9,10を適用されなおかつBRK タイムの調整も出来る様に変更されたのですね。素晴らしいです。
低周波アンプを付けSPがなる様にしましたが、SPを何処へ置くか?決まっていません。

全面にパネルを置きたいのですが、どうもうまい方法が見つかりません。
取り合えず4箇所スタッドを立てました。

やどさんの画面を見ると横軸の周波数幅が広くなっていますね。

Re: SDR3 でCW(その4) - ji1udd

2018/10/21 (Sun) 17:06:03

やどさんへ

STEP10に加えて 更に進化ですね。#やりますね!
MAX7400をご検討との事、なぜか私の手元には秘蔵(死蔵?)のMAX7403があります(10年位前にサトー電気で購入)。しかし、ここはやはりデジタルフィルタにしないと...(^^)

笛吹きおじさんへ
オーディオアンプ+スピーカー装着との事、こちらも進化してますね。

私の方は、とりあえず7.2Vで2.5W出力のシステムが組めました。リニアアンプは東芝のRFM04U6PというFETをプッシュプルで使っています。SSBの時は出力1.5W位にとどめればIMD 37dBcと言ったレベルです。
で、ここまで来て、再びどういう風にケースに納めようかと悩んでます。綺麗に納めないと結局使わなくなってしまうので...

Re: SDR-3組み立て後のトラブルについて - じょうさん

2018/10/17 (Wed) 10:09:52

ji1uddさん,やどさんへ

おはようございます。

この件、CQ出版にメールで相談しましたところ、基板
一式送ってほしい旨の連絡があり、対応いただいております。

多分、これで問題解決できると期待大です。

それも、これもji1uddさん,やどさんへのおかげです。

Q1のゲート電圧、Q4の動作など皆さんのご指摘がなければ
延々解決に至らなかったと思います。ありがとうございます。

ところで、約45年ぶりに局免許を再申請し再開したところです。古いリグ(真空管の自作機)は家内からごみ処分を迫れられ、10数年まえに廃棄しました。

数年前からSDR受信機や、Open Web RXサーバ立ち上げなど最近の技術を勉強していたところ、丁度SDR-3キットに
出会いました。貧乏・暇ありの身分ですので、QRPなデバイスができればと考えております。

ところで、基板上Q1付近の写真ですが、皆さん秘密兵器
をお持ちのようですね。スマホにつけるレンズでしょうか。

小生はデジカメと虫メガネで距離の調整・照明・シャッタ
等、手がもう一本欲しい状況下での撮影で、鮮明には取れませんでした。
照明角度を変え、虫メガネを介した視認ではマーク等は
確認できませんでした。最近では、レーザでの刻印もあるのですね!。なんと

今後ともよろしくお願いします。

Re: Re: SDR-3組み立て後のトラブルについて やどさん

2018/10/17 (Wed) 22:03:33

じょうさん 小川さん ji1uddさん、今晩は。

小川さんSDR-3のセミナーお疲れ様でした。
自分も時間あったら受けたかったです!!

>セミナーで SDR-3 キットの組み立てをした際に同様の不良となり、調べたところ SDR-3A基板の Q1 と Q4 に間違った部品がマウントされていることがわかりました。先週発送されたロットが不良のようです。

じょうさん、問題ない基板が送られてきそうですね!良かったです。あと、45年ぶり再開局もおめでとうございます。

あっ、
基板の写真を撮った秘密兵器!?ですが、、
昨年位から表面実装を手ハンダする機会が増えまして、デジタルマイクロスコープなるものを"密林"で購入しました。それで撮ったものでした。

4.3インチ液晶モニター付きデジカメ顕微鏡といった物です。中国製で、お安い(といっても7千円以上しましたが)結構重宝しています。
中国の通販サイトやeBayでも安く入手できるみたいです。検索してみてください。^^)/

Re: Re: SDR-3組み立て後のトラブルについて - ji1udd

2018/10/18 (Thu) 06:37:57

じょうさんへ

状況が好転して良かったですね。

> 数年前からSDR受信機や、Open Web RXサーバ立ち上げなど最近の技術を勉強していたところ、

色々と研究なされているようですね。SDR-3にも何か応用できると面白そうですね。

やどさんへ

やはり秘密兵器をお持ちだったのですね。7k円はかなか手が出せないですけど、いいなぁ(^^)
eBayは私も時々活用しています。中華なモジュール製品とかKit製品は安くて色々なものがあって探すだけでも面白いです。
これまでにeBayでは、電源Kit、リニアアンプKit、電圧電流計、DDS、周波数カウンタ、小電力パワーメータ、アンテナアナライザ、オシロなど手出しました。中には全く使う気になれないレベルの粗悪なものもあるので注意が必要ですけどね。

では、また。

SDR3 でCW(その3) - 笛吹きおじさん

2018/10/08 (Mon) 17:18:09

またまた長くなって来ましたので、その3にしました。
ji1uddさん、GITのプログラム変更、コンパイルして、書き込みました。

ハードの変更(LowPass フィルター)はまだやっていません。

この状態で、電源を入れますとTXが点灯して送信状態になります。
CWL又はCWUで送信にしますと、LCDのモニタでは断続的に信号がでています。

キーをつなぐ変更はしていませんので、この様な状態になるのではないかと思います。
サイドトーンでのモニタが出来ればもう少し様子がわかるのではないかと考えていますが、取りあえずは、この状態でプログラム変更はOKといえるかと思いますが、如何でしょう。

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/08 (Mon) 17:29:22

写真にある小さな基板にLowpassがあり、左側の黒いプラグが、多分キーにつながっているものと思えます。
中点がグランドでもう2本のワイヤーが基板の裏側に接続されています。
この理解でいいと思いますがどうでしょう?

R2,R4をプルアップしておかないといけませんね。

プルアップしたら、電源ON時のTX状態とCWの断続信号は出なくなりました。
R2、R4にキーをつなげば言い訳ですね。

Re: SDR3 でCW(その3) - ji1udd

2018/10/08 (Mon) 18:22:32

笛吹おじさんへ

"その3"にランクアップですね(^^)

> 写真にある小さな基板にLowpassがあり、左側の黒いプラグが、多分キーにつながっているものと思えます。
> 中点がグランドでもう2本のワイヤーが基板の裏側に接続されています。
> この理解でいいと思いますがどうでしょう?

はい、その通りです。LPFはチップ部品で組んでます。基板の裏側(表側?)に 3.5mmのステレオジャックがあります。

> R2,R4をプルアップしておかないといけませんね。

はい、これもその通りです。チップ抵抗をお持ちでない場合は、プルアップ抵抗は、ステレオジャック周辺に配置しても良いと思います。

> この状態で、電源を入れますとTXが点灯して送信状態になります。
> CWL又はCWUで送信にしますと、LCDのモニタでは断続的に信号がでています。

今のソフトウェアでは、キーヤーはCWL, CWU以外のモードでも動作します(modをチェックしていないので)。CWの送信出力は出ないはずなのでこのままでもよいかなと思ってます。

RCのLPFは、PA11の出力が矩形波なのをサイン波にするためですが、600Hzに対しても減衰するのでアッテネータ代わりにもなってます。もし、RC フィルタなしで試してみる場合は20dBぐらいアッテネートしみて下さい。
(10kΩとかのボリュームを入れて、かつ、かなり絞っておく)

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/08 (Mon) 20:06:57

ji1uddさん、今晩は。
R2,R4をプルアップして長点、短点は正常にでています。
モニター音が出ません。R40に矩形波が出るはずですが、ハイレベルのままです。
プログラム変更を間違えたのかも知れません。
もう一度見直します。
LowPass フィルターは画像の様にLCDの下に押し込みました。
さて、何がオカシイのかですね。
1箇所間違いがありこれだ!と思ったのですが、結果は変りません。まだオカシイ様です。

間違いは修正しましたが、ウンともスンとも言いませんね。(_ _)m

Re: SDR3 でCW(その3) - ji1udd

2018/10/09 (Tue) 06:29:58

笛吹きおじさんへ

PA11がハイレベルのままであるということなので、ポートの設定は上手く行ってそうですね。矩形波を出す/出さないは、iambic.cで制御してます。ということで2点ほど確認願います。
1) keyerフォルダごと新しいものに置き換えましたでしょうか?
2) make clean しても iambic.o だけ削除されずに残ってしまうと思います。makefileを修正するか、個別にiambic.oを削除してからmakeして下さい。(自分のPCでは make clean がエラーになるので別のbatファイルを作って *.o を削除しています)

以上でもダメな場合は、下記修正をするとPA11から常時600Hz矩形波が出るはずですので試してみてください。
1) iambic.c の最後に書かれている下の4行をすべてコメントアウトする。
// if ( cw_key_on ) {
// stm32_gpio_af( BEEP_GPIO, BEEP_PIN, BEEP_PWM_AF ); // SideTone出力ON
// } else {
// stm32_gpio_mode( BEEP_GPIO, BEEP_PIN, GPIO_MODE_IN ); // SideTone出力OFF
}
2) board.c の 最後の方に書かれている
stm32_timer_pwm ( TIM1, 4, (BEEP_TIM_DIV/2) ); // Duty50%
の次に下記の1行を追加する
stm32_gpio_af( BEEP_GPIO, BEEP_PIN, BEEP_PWM_AF ); // SideTone出力ON


あと、画像拝見しました。RCフィルタをLCD下に入れるのはコンパクトになってgood ですね。私も先々はそのように納めたいと思ってます。

Re: SDR3 でCW(その3) - ji1udd

2018/10/09 (Tue) 06:32:44

間違えました。4行ではなくて 5行でした。

1) iambic.c の最後に書かれている下の5行をすべてコメントアウトする。
// if ( cw_key_on ) {
// stm32_gpio_af( BEEP_GPIO, BEEP_PIN, BEEP_PWM_AF ); // SideTone出力ON
// } else {
// stm32_gpio_mode( BEEP_GPIO, BEEP_PIN, GPIO_MODE_IN ); // SideTone出力OFF
// }

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/09 (Tue) 08:17:34

ji1uddさん、お早う御座います。
どうもアドバイス有難う御座いました。
これを見て気がついたのですが、GITの変更分の中に
以下の変更が抜けているのでは?

if ( cw_key_on ) {
stm32_gpio_af( BEEP_GPIO, BEEP_PIN, BEEP_PWM_AF ); // SideTone出力ON
} else {
stm32_gpio_mode( BEEP_GPIO, BEEP_PIN, GPIO_MODE_IN ); // SideTone出力OFF
}

アドバイスに従ってこの部分を見ると下記の様になっていました。

BEEP_TOGGLE() ;
} else {
BEEP_OFF() ;
}

この代わりに最初の2行を追加してみた所、正常にサイドトーンお出ましになりました。
フィルタが入っていますので、滑らかなトーンです。

何はともあれ上手く行きました、有難う御座いました。
40年前のVIBROPLEXのキーを引っ張り出して来ました。
でも、なかなか上手く打てません。

Re: SDR3 でCW(その3) - ji1udd

2018/10/09 (Tue) 20:27:47

笛吹おじさんへ


上手く動いてよかったです。


> 以下の変更が抜けているのでは?
gitのマークダウンに書いたように keyerフォルダごと新しいのに置き換えていただければ大丈夫のハズです。(その方が楽かなと思いまして...)

VIBROPLEXをお持ちなのですね。45年前のものでも良いものは良いままですね。写真からするとシングルレバーのパドルかと思います。実は、デュアルレバーのパドルを使うと iambic の機能を生かすことができます。GHDキー社のビデオ(例えばhttps://youtu.be/CTkhElCjqkU)を見ていただけるとご理解いただけると思います。

ダブルレバーのパドルは、クリップでも作れたりします。
#私も随分前に自作機の横側にさせるようなクリップパドルを1つ作りました。
興味がありましたら、Googleでクリップパドルで検索してみてください。たくさん製作事例が見つかると思います。


Re: SDR3 でCW(その3) - ji1udd

2018/10/09 (Tue) 20:42:00

45年ではなくて40年でしたね。失礼しました。

あと、補足ですが、スピードが速すぎる場合は、
iambic.c の中の
#define DotTime 50
の 50を 70とかの大きな値にして下さい。

では、また。

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/09 (Tue) 22:48:21

ji1uddさん、今晩は。
keyerフォルダごと新しいものにの意味が分らなかったのです。10/7と10/8の版があるのですね。中身をみると確かに変っていました。
取り合えず動きましたのでOKです。
スピードが速いので私の場合はもっと落としたほうが良さそうです。

クリップパドルを作ってみようかと思います。
どうもお世話になりました。

Re: SDR3 でCW(その3) - ji1udd

2018/10/12 (Fri) 21:52:51

続きの作業を始めました。

SettingメニューにKeyerの設定を組み込もうとしているのですが、メニューが2ページにわたると2ページ目が上手く動作しません。(添付写真の下側)

元々あった、2番目と3番目の項目をコメントアウトしてメニューの全項目数を10個にして1ページに収めると上手く動作します。(添付写真の上側)

main20180812.hexでは、2ページ目にわたるメニューを持っていますが、上手く動作しています。
勝手な推測ですが、main20180812.hexではGUIのルーチンのどこかを修正しているのではないかと思うのですが...
どなたかヒントなどありましたら教えてください。

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/12 (Fri) 23:38:12

ji1uddさん、今晩は。
CW スピード、サイドトーンレベルがLCDメニューから調整できるのは便利ですね。
setting.cを変更すれば出来そうですが、期待通りには動作しない様ですね。
2ページ目のメニューアイテムを選んだ時にその実行するべき関数が呼べない、、、、そんな単純なことではないのかも知れませんね、

Re: SDR3 でCW(その3) - ji1udd URL

2018/10/13 (Sat) 08:52:02

キーヤーの設定メニューが上手く動作するようになりました。

Git に Step6 として upload しましたので、ご興味がありましたらお試しください。その際はマークダウンもご一読ください。

笛吹きおじさんへ
コメントありがとうございました。結局、GUIルーチンの問題ではなく、使いこなしの問題でした(^^;) コールバックの関数は呼べていたようですが、その次の文字列処理でバッファの使い方が悪かったのが原因でした。

では、また。

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/13 (Sat) 15:26:30

ji1udd さん、今日は。
早速書き込んでみましたが、長点の信号(OUT)が出ませんね。トーンは出ていますが。
入力ミスがあるのでしょうね。

Re: SDR3 でCW(その3) - ji1udd

2018/10/13 (Sat) 16:30:13

笛吹きおじさんへ

トーンが正常ということから iambic.c や keyerの設定は正常に動作していると考えられます。CW信号のON/OFFを制御しているのはradio_tx.c ですが、今回ここはいじっていません。
原因が推測できませんが、、、
1) コンパイル時にWarning が出ていないでしょうか?
2) make clean実行し、更にiambic.o を削除してから make してますでしょうか?
3) 書き込み時に Grobal Erase を選択していますでしょうか?

あと入力チェックは私のjpeg のように変更前後のファイルをソフトで比較するのが効率が良いかと思います。私が使っているソフトは古いソフトですが、Rekisa version 0.32.018というものです。Win7, Win10のどちらのPCでも動いています。

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/13 (Sat) 17:09:47

ji1uddさん、今日は。
1,2,3項の手順は踏んでいます。
warningはfft.cの44行目で1個出ていますが、これは前から出ているもので、今回の状況には関係ないと思います。
もう一度見直ししてみますね。

Re: SDR3 でCW(その3) やどさん

2018/10/13 (Sat) 20:37:50

こんばんは!

ji1uddさん、笛吹きおじさん どんどん進んでいますね、すごいです!
Keyerの設定をSettingメニューに入れたStep6、こちらも試してみます!

実は、夜な夜な ストレートキーの追加と、SW1メニューにCW設定を追加する試行をしてました。

iambic.cに見様見真似で、keytypeが0(=straight keyer)の時、ストレートキー用ステートを追加してみたのですが、お茶を濁しています。
もっと良い方法が有るかと思います。
時間がありましたら ji1uddさんにインプリしてもらえるとありがたいのですが、、(汗)

例えば、
・ストレートキー時にチャタ防止を使えなかった。
→ dashonを流用しようと試みましたが、現在はCWKEY_PRESSEDを使っています
・iambicキーヤーを流用すれば、ストレートキーモードにするとBug keyerにも成ると思ったのですが、、
STATE_DOT_xxに飛ばしてしまうと、エレキー(iambic keyer)に遷移してしまうので止めました。
-> まぁ、bugkeyerはおまけですね!


ご参考程度で、
 ji1uddさんのStep1~5を適用したソースと比較した diffリストを貼っておきます。


// 変更ファイルのdiffリスト //

(1) keyer/iambic.c
26,27c26,27
< #define DotTime 50 // 50ms, dot pulse width, DotTime(ms) = 1200 / WPM
< #define BreakinTime 300 // 300ms, brake-in time after finished Tx
---
> // #define DotTime 100 // 100ms, dot pulse width, DotTime(ms) = 1200 / WPM
> #define BreakinTime 400 // 400ms, brake-in time after finished Tx
38a39,41
> #define STATE_KEY_PRE 8
> #define STATE_KEY_ON 9
> #define STATE_KEY_DLY 10
64c67
< if ( state==STATE_DASH_ON )
---
> if ((state==STATE_DASH_ON) || (state==STATE_KEY_ON))
79,84c82,94
< if ( doton ) {
< state = STATE_DOT_PRE ;
< state_delay = RELAY_DLY ;
< } else if ( dashon ) {
< state = STATE_DASH_PRE ;
< state_delay = RELAY_DLY ;
---
> if ( keytype == 0 ){
> if ( DASH_PRESSED ) {
> state = STATE_KEY_PRE ;
> state_delay = RELAY_DLY ;
> }
> } else {
> if ( doton ) {
> state = STATE_DOT_PRE ;
> state_delay = RELAY_DLY ;
> } else if ( dashon ) {
> state = STATE_DASH_PRE ;
> state_delay = RELAY_DLY ;
> }
170a181,207
>
> case STATE_KEY_PRE :
> if ( state_delay==0 ) {
> state = STATE_KEY_ON ;
> } else {
> state_delay-- ;
> }
> break ;
>
> case STATE_KEY_ON :
> if ( !DASH_PRESSED ) {
> state = STATE_KEY_DLY ;
> state_delay = BreakinTime ;
> }
> break ;
>
> case STATE_KEY_DLY :
> if ( state_delay==0 ) {
> state = STATE_RX ;
> } else if ( DASH_PRESSED ) {
> state = STATE_KEY_ON ;
> state_delay = AdjDashTime ; //
> } else {
> state_delay-- ;
> }
> break ;
>
174c211
< cw_key_on = ((state==STATE_DOT_ON) || (state==STATE_DASH_ON)) ;
---
> cw_key_on = ((state==STATE_DOT_ON) || (state==STATE_DASH_ON) || (state==STATE_KEY_ON)) ;


(2) keyer/iambic.h
24a25,26
> extern int keytype;
> extern int DotTime;




(3) radio/radio.c
101a102,119
> // メニュー KEYER TYPE を設定したとき
> //--------------------------------------------------------------------
> static void func_keytype( int sel ) {
> key_setting();
> itemchanged = 1; // 項目が変更された
> }
>
>
> //--------------------------------------------------------------------
> // メニュー KEYER SPEED を設定したとき
> //--------------------------------------------------------------------
> static void func_keyspeed( int sel ) {
> keyspeed_setting();
> itemchanged = 1; // 項目が変更された
> }
>
>
> //--------------------------------------------------------------------
244a263,289
> // KEYER TYPE を設定
> //--------------------------------------------------------------------
> static void key_setting( void ) {
> keytype = menus[N_MENU_KEYTYPE].sel;
> }
>
>
> //--------------------------------------------------------------------
> // KEYER SPEED を設定
> //--------------------------------------------------------------------
> static void keyspeed_setting( void ) {
> int sel = menus[N_MENU_KEYSPEED].sel;
> switch( sel ) {
> case 0: DotTime = 120 ; break ;
> case 1: DotTime = 100 ; break ;
> case 2: DotTime = 80 ; break ;
> case 3: DotTime = 67 ; break ;
> case 4: DotTime = 57 ; break ;
> case 5: DotTime = 50 ; break ;
> case 6: DotTime = 40 ; break ;
> case 7: DotTime = 34 ; break ;
> default: DotTime = 67 ; break ;
> }
> }
>
>
> //--------------------------------------------------------------------
811a857,858
> key_setting();
> keyspeed_setting();


(4) radio/radiosettings.h
35a36,39
> static void func_keytype( int sel );
> static void func_keyspeed( int sel );
> static void key_setting( void );
> static void keyspeed_setting( void );
109a114,115
> { 0, 2, "KEYER TYPE ", "STRA ELEK ", func_keytype }, // Straight Keyer, IamBic Keyer
> { 3, 8, "KEYER SPEED", " 10w 12w 15w 18w 21w 24w 30w 36w", func_keyspeed }, // IamBic Keyer スピード設定
125a132,134
>
> N_MENU_KEYTYPE, // KEYER TYPE
> N_MENU_KEYSPEED, // KEYER SPEED
233a243,245
>
> int keytype = 0; // keyer Type 0:Straight(bug), 1:Elekey
> int DotTime = 60; // IamBic keyerスピード 20wpm(60ms)

// END //

Re: SDR3 でCW(その3) - ji1udd URL

2018/10/14 (Sun) 09:40:58

やどさんへ

ご用命の(^^) バグキー/ストレートキーの機能が追加できました。git に Step7として upload しておきました。

笛吹きおじさんのところで Step6 がまだ上手く動作していないようなので先ずはStep6をお試しください。

settingメニューで iambic か バグキー/ストレートキー を選べるようにしました。これに加えて、やどさんが試された Transceiver の SW1メニューで設定できるようにしておくというのも良い方法と思います。特にKeyerのSpeed 設定は、settingメニューに行かないと設定できないというのはちょっと不便な感があるので、Transceiver の画面表示中にロータリーエンコーダで調整できるようにしたいとは思ってます。(マイクゲインのように)

では、お試し願います(^^)

Re: SDR3 でCW(その3) - ji1udd URL

2018/10/14 (Sun) 10:30:27

Step7ですが、少しバグってますので修正します。
お待ちください。

Re: SDR3 でCW(その3) - ji1udd URL

2018/10/14 (Sun) 11:03:52

たびたび失礼します。
Step7のiambic.c をバグ修正版で置き換えました。

バグキー/ストレートキーのモードを選択した場合のチャタリング除去処理とキーヤーのシーケンス制御が不完全でしたので修正しました。

Re: SDR3 でCW(その3) やどさん

2018/10/14 (Sun) 12:01:56

ji1uddさん こんにちは

うわっ!
Step7 素早いご対応ありがとうございます (^^)//
ソースコードをみて勉強させていただきます!

今朝は、届いたチップ部品でサイドトーン用のフィルターを作りました。
→笛吹きおじさんの写真を真似して実装しました。

Step6も動作OKです。
サイドトーン音量やCWスピードもロータリーエンコーダで調節出来て快適です。

これはもう、「省エネQRPポータブルSDRトランシーバー」に仕上げないとっ、、
勿体ないです。。

//

Re: SDR3 でCW(その3) - ji1udd URL

2018/10/14 (Sun) 13:53:39

やどさん、Step6 の確認ありがとうございました。上手く動いて良かったです。

勢いで先ほど宣言(?)した「Transceiver の画面表示中にロータリーエンコーダでKeyerのスピードを調整できるようにする」を実装してみました。
gitに Step8としてupload しました。使い方はgitのマークダウンに書いてあります。

お騒がせして来ましたが、CW関連のソフトウェア追加はこれで終わりの予定です。

Re: SDR3 でCW(その3) やどさん

2018/10/14 (Sun) 23:57:26

ji1uddさん、今晩は!

帰宅して(カミさんのSWRを下げるため!?お買い物でしたHi)
Step8も試しました。

これは良いですね
送信中でもサブロータリーエンコーダを回すとKeyerスピードが変えられるのですね。

変更したradio.cも眺めていました。
そうか!受信時にはサブロータリーエンコーダのプッシュスイッチを押すたびに"Volume","Notch","Keyer SPD"を変えられるのですね、やっと気が付きました~!


>CW関連のソフトウェア追加はこれで終わりの予定

大変勉強になりました!(まだ全部わかってないですが…)
ただCW機能追加を、ji1uddさんにお願いしてしまった様になり恐縮です。

でも、
このCW機能追加バージョン、是非この掲示板を見ていらっしゃるSDR-3な局長さんにも使ってみて戴きたいです。

問題なければ ji1uddさんのGitHubリポジトリ
→ ji1udd/SDR-3/firmware/下に、ビルドしたbin/main.hexも置いていただけないでしょうか。

これはCW縦振電鍵派の方にも、エレキー派の方にも使っていただけると思います!

//

Re: SDR3 でCW(その3) - ji1udd

2018/10/15 (Mon) 06:41:13

やどさんへ

>カミさんのSWRを下げるため!?
RFの世界では2ぐらいまではOKみたですけど、こちらは1.2まで下げないといけませんね(^^)

また、Step8コンプリートのご報告ありがとうございました。

>ただCW機能追加を、ji1uddさんにお願いしてしまった様になり恐縮です。

元々自分でCW機能は追加したかったので全く問題なしです。むしろ、やどさん、笛吹きおじさんに変更ポイントを教えて頂いただいたり、自分の変更を試していただいてフィードバックを頂いたり、ワイワイとやれたのでとても楽しかったです。そしてOjisankoubouさんの作成されたソフトウェアの完成度には感銘を受けました。CW機能追加作業でソフトウェアの中身を見たところは全体のごく一部分で、本題の信号処理部はまだまだ見れていはおりませんが、大変に勉強になりました(なります)。

>ji1udd/SDR-3/firmware/下に、ビルドしたbin/main.hexも置いていただけないでしょうか。

私はOKですけれども、main.hexの内容のほとんどはOjisankoubouさんの著作物になりますので配布(公の場へのupload)については Ojisankoubouさんの許可が必要となると認識しています。Ojisankoubouさん、いかがでしょうか?

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/15 (Mon) 20:26:54

ji1uddさん、今晩は。
長点のOUTが出ない件は色々調べましたが、原因が分りません、一つあるとすれば、私の場合、電源ON時表示のメニューを変更してあることです。

これは諦めて、最新(ステップ8)を最初から試してみました。
状況は、サイドートーンが出ないことと、iambkeyとST-keyの切り替えが出来ていません。
メニュでは切り替えが出来てませんが、動作はiqmbkeyの状態です。
送信中のkeyspeedの切り換えは出来ています。settingでのメニューも正常に表示されていますね。

入力ミスは見直しましたが、ちゃんと入れてあると思いますが、、、、。集中してキーインしてますが、step8までの入力はちょっと大変ですかね。
結果的間違えている可能性もあります。

少し時間をあけてやってみたいと思います。

Re: SDR3 でCW(その3) ji1udd

2018/10/15 (Mon) 20:50:33

笛吹きおじさんへ

不思議ですね。。。。

確かに私は教えて頂いたメニュー変更はまだ施してなく、DVDのソースに対して、gitに書いただけのことしかやっておりません。やどさんが手順をベリファイしてくれたので漏れもないと思います。

ちなみにメニュー変更を諦めてStep1から変更をやり直した時には、どのStepから動作が意図通りにならなくなったのでしょうか?

意図通りにならなくなったStepのパッチしたファイルをメールで送っていただければ私の手元のファイルと比較してみても良いです。もっとも、著作権的にセーフであればなのですけど、元DVDをお持ちなのはこれまでのやりとりから明らかなので、これはセーフかな?です。

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/15 (Mon) 21:50:53

ji1uddさん今晩は。

step毎にコンパイルしてStep5でコンパイルエラーが出ました。各stepでの動作は確認しておりません。
step5のコンパイルエラーはDotTime,DashTime,BreakinTimeが定義されていないとのMSGですがsetting.hに記述されています。
仕方がないのでsetting.cで
int DashTime;
int BreakinTime;
int keytype ;
int DotTime;
を記述しエラーを逃げて取り合えずStep8までキーインしてコンパイルしました。

やどさんの所でも上手く行っていますので、私の方に原因が有ると思われます。
もう少し原因を追究してみます。
各Stepでコンパイルしその動作を確認することは出来ますか?

Re: SDR3 でCW(その3) - ji1udd

2018/10/15 (Mon) 22:22:24

笛吹きおじさんへ

Step5 の段階では、DotTime,DashTime,BreakinTime は、iambic.c の #define で定義されています。

Step5では、Step5のkeyerフォルダを使用する必要があります。お話しからすると別Stepのkeyerフォルダを使ってしまっているようです。

>各Stepでコンパイルしその動作を確認することは出来ますか?
各Stepで実現できることは git のマークダウン(README.md)に書かれています。例えばStep5の段階ならStep4では実現されていないヘッドフォンからサイドトーンが聞けるようになります。

Step毎に「プログラム変更→その動作を確認」を繰り返して行くことをお薦めします。

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/15 (Mon) 22:31:25

ji1uddさん、了解です。
keyerフォルダは気をつけている心算ですが、間違えているかも知れません。

もう一度段階的にやってみます。

Re: SDR3 でCW(その3) - 笛吹きおじさん

2018/10/17 (Wed) 10:13:42

ji1uddさん、今日は。
お陰さまで、うまく動作するようになりました。
どうも有難う御座いました。
途中でパソコンのHDDが不良になり(Cドライブではなく)winが立ち上がらなくなり、かなり回り道をするようなことになってしまいました。
何とか出来上がりましたので、先ずはメデタシ メデタシです。

Re: SDR3 でCW(その3) - ji1udd

2018/10/18 (Thu) 06:18:17

笛吹きおじさんへ

朗報ありがとうございます。
上手く動作するようになって良かったです。

テストベンチに CW KEY のジャックも装着されたのですね(^^)

Re: SDR-3組み立て後のトラブルについて - じょうさん

2018/10/16 (Tue) 12:37:16

ji1uddさん,やどさんへ

早速のフォローありがとうございます。
2点チェックしました。

(1)やどさん指摘のQ4動作チェック(FB3端子で計測)

RX時は2.63V, TX時は2.73Vでした。これって、BFな
結果ですよね。Q4も不良なのでしょうか。こちらも
ji1uddさんご指摘のまるでダイオード電圧降下のようです。
   
(2)Q1部品の外形ですが、私のロットではQ1~Q4すべて無印(無刻印)でした。Q3の動作は正常です。
うまく撮れていませんが写真を貼りました。

以上のQ1,Q4の挙動不審の件、CQ出版社にメールで相談して見ます。
結論が出ればこのBBSで報告させていただきます。

問題解決をして、御両人のようにソフト拡張ができるようしたいと思っています。

今後ともよろしくお願いします。

Re: Re: SDR-3組み立て後のトラブルについて - ji1udd

2018/10/16 (Tue) 18:59:06

じょうさんへ

Q4もNGだったのですね。

Q1,Q4 は PMOS FET(IRLML6402)ですが、ここにNMOS FET (2N7002)が間違って実装されていると仮定すると症状とつじつまが合いますね。NMOS FET ではソースからドレインに向かって電流が流れる方向のダイオード構造(PN接合)が形成されますので。。。

では、また。

Re: Re: SDR-3組み立て後のトラブルについて やどさん

2018/10/16 (Tue) 22:05:19

ji1uddさん じょうさん、今晩は!

>NMOS FET (2N7002)が間違って実装されていると仮定すると症状とつじつまが合いますね

おおっ!これできっと解決ですね。

Q4もNGで、Q1もQ4もダイオードVF分下がってオン状態。
NchMOSFETだったらソース、ドレイン間がモロにダイオード接続ですね! 誤実装の可能性が濃厚な…

気になって自分もマーク見てみました。
肉眼ではわかりにくいのですが、IRLML6402は英数字5文字、2N7002は、"7002"、ダイオードは"M5C"でした。

マークが無印(無刻印)とのことですが、光の当て方を変えたりして、うっすら"7002"と確認できないでしょうか。
確認できれば、ちゃんとチェック済みのボードと交換してもらえるのでは?と思います。

//

Re: Re: SDR-3組み立て後のトラブルについて - ji1udd

2018/10/17 (Wed) 06:42:07

やどさんへ

写真すごく綺麗に撮れていますね。秘密兵器をお持ちですか?(^^)

で、綺麗に撮れているので気が付いたのですが、やどさんのQ1の半田付けもちょっと怪しく思えます。写真右側、パーツが同じ向きで写真が撮れているD1と比べると端子のところの半田ののり具合(ぬれ具合)が大分異なっています。

じょうさんへ

補足になりますが、私の基板のものも"7002"となっています。2N7002は色々なメーカーが作っているので別のメーカーの2N7002だとおそらく別のマークになります。

マークが印刷ではなくレーザーマークだととても視認しにくいです(確かにマークなしの部品もあります)。やどさんが仰るように部品に対して光をあてる角度、部品を見る角度にコツがあります。私の場合、ルーペと基板を手に持って基板の角度を変えながらマークが見えるポジションを探っています。

では、また。

Re: Re: SDR-3組み立て後のトラブルについて - Ojisankoubou

2018/10/17 (Wed) 09:14:28

昨日 SDR-3 のセミナーで SDR-3 キットの組み立てをした際に同様の不良となり、調べたところ SDR-3A基板の Q1 と Q4 に間違った部品がマウントされていることがわかりました。 先週発送されたロットが不良のようです。

CQ 出版にすぐに対応していただけるよう連絡しましたので、代替部品送るなど何らかの対応が近日中にされると思います。

SDR-3組み立て後のトラブルについて - じょうさん

2018/10/15 (Mon) 17:00:08

SDR初心者です。先日SDR-3キット到着し、早速組み立てました。動作チェックしSDR-D基板は説明書にある通り動作しました。

SDR-A組み立て後、チェック手順に沿って、チェックをおこなっていますが、テスト信号の受信から正常な動作しません。異常と思える点は以下の症状です。

(1)受信レベルが異常に小さい(15db位)
(2)BPF, XTAL特性測定で何も表示しない。
   これは(1)の結果の症状と思われる
(3)D2のLEDが常に点灯している。電源投入直後
   や受信状態にあるにもかかわらず。。?
(4)10pinでのTX信号は受信時ほぼ0、送信時
   には3.1V位。(これは正常かも)

そこで、テスト信号を追跡してみるとRL2のC43でテスト信号が検出されないこと、受信状態でのRL2の駆動コイルに約4vが印加され動作状態である事が分かりました。RL2でテスト信号が遮断されているようです。なお送信チェック項目はほぼ動作しているようです。

そこで、送信アンプ(IC2,IC1)、RL2への電源を入・断を行うQ2,Q1のFET不良を疑っています。
この判断までで現在お手上げ状態です。
ただ、現在これらのFETが手持ちにないため通販で入手しようかと思っているところです。

テスターとオシロしか持たない初心者の私ですが他のチェックのポイント等ございましたら、どなたかお教えいただけたら幸いです。

よろしくお願いします。

Re: SDR-3組み立て後のトラブルについて - ji1udd

2018/10/15 (Mon) 19:20:20

じょうさんへ

どなたか ということなので僭越ながらコメントします。

一般的に、部品(FET)の不良以外に 実装不良(半田付け不良)、PCBパターンのショート不良も考えられます。

受信状態で RL2の駆動電圧が 4V というところがちょっと引っ掛かりました。本来は0Vですが、不良症状としてなぜ5Vでなくて4Vなのか?です。FETがweakly ONしているのではないでしょうか?(外していたらスイマセン)
Q1のゲートやそのプルアップ抵抗のR1は正しく半田付けされていますでしょうか?
半田付けが正しそうであれば受信状態と送信状態との両方のケースでQ1のゲート端子に直接オシロのプローブをあてて電圧を確認してみたらいかがかと思います。送信中にRL2の駆動電圧が何Vになるかも確認してみてください。

プローブをあてる際にはくれぐれも周辺とショートさせないようにご注意ください。今の原因とは別の部分を壊してしまうと深みにはまってしまいますので。。。
#ご承知とは思いますが念のため。

Re: SDR-3組み立て後のトラブルについて - じょうさん

2018/10/15 (Mon) 22:10:42

ji1uddさんへ。

早速のアドバイスありがとうございます。

> Q1のゲートやそのプルアップ抵抗のR1は正しく半田付けされていますでしょうか?

この辺りは、チップ部品でプロが配線したと思われますので、目視で大丈夫そうだと思いますが。念のため半田を少し補充して加熱してみました。老齢の眼には相当厳しいです。

> 受信状態と送信状態との両方のケースでQ1のゲート端子に直接オシロのプローブをあてて電圧を確認してみたらいかがかと思います。

オシロでの読取りでおおよそですが

Q!の各電圧は以下の様でした。

RX時 TX時
G 4.4   0
S 4.4 4.4
D 4.2 4.1

> 送信中にRL2の駆動電圧が何Vになるかも確認してみてください。

RL2の電圧は、RX時4.16V,TX時は4.06V(デジタルテスタ計測)でした。不可解な結果です。

なお、5VラインはDCプラグ直下で5.04V, SDR-A基板で
の5Vラインは4.82Vでした。接続ケーブル等で約0.2Vドロップしているようです。

なお、可能性を探ってみます。配線したままでのFETの良否チェックができればいいのですが。。

今後ともよろしくお願いします。




Re: SDR-3組み立て後のトラブルについて - ji1udd

2018/10/15 (Mon) 22:40:25

じょうさんへ

私の予想は外れてたようです。
Q1のゲートは正しく制御されているのに、ドレインの電圧は送信でも受信でも大差なしなのでQ1の不良か、PCBパターンでのソース-ドレイン間のショートの感じがします。
しかし、SDR-A基板で4.82Vの電圧が更にQ1のソースで4.4Vまで下がっているというのが不可解です。ダイオードが入っているかのような電圧ドロップですけど...間違った部品がマウントされているとかではないですよねぇ...
また何か思いついたらコメントさせていただきます。

Re: SDR-3組み立て後のトラブルについて やどさん

2018/10/16 (Tue) 00:03:32

じょうさん ji1uddさん、今晩は

動かないと気持ちが良くないですよね。

先日ケーシングの投稿をされた確かja2の方が、IRLML6402不良が見つかって、交換したら動作OKになったと書かれていました。

・Q1のIRLML6402(P-ch MOSFET)のゲートはOKとの事、ドレイン、ソース間のハンダブリッジかな?と思いましたが、電極同士は離れているので、Q1が壊れている可能性もありそうです。


・送信チェック項目はほぼ動作しているとのことからQ4は正常だと思いますが、

 念のため Q4のドレイン側(=FB3の電極)が受信時3.3V、送信時0Vくらいになっているか確かめてみてください。

→Q4が問題なければ、試しにアンテナ:CN7の心線側を適当な線でC43につなぐと、強力なAM放送なら受信出来ると思います。フィルター特性も観測できると思います。(RL2オンしっ放しで、R16=47Ωを介してGNDに落ちますが…)

受信できれば元気になれます、きっと大丈夫!

そして、Q1不良が確定的でしたら CQ出版へ不具合内容を連絡した方が良いかもしれません。

//

Re: SDR-3組み立て後のトラブルについて - ji1udd

2018/10/16 (Tue) 06:39:13

じょうさんへ

自分の基板でQ1のドレインの接続先のパターンを見てみました。視認できた範囲では+5Vラインと接触する可能性がある場所はありませんでした。概ねGNDに囲まれていました。
ですのでやはりQ1が不良ではないかと思います。(これも外していたらスイマセン)

あと、自分の基板でQ1の写真を撮ってみました。私の基板のQ1はあまり上手く半田付けされていませんでした
#自分が予想した原因がなんと自分の基板で発生しかけてました(^^;)

この写真とご自分の基板とを見比べていただき、同じマークの部品が付いているか確認してみてください。同じマークでしたら、やどさんがおっしゃるように一度CQ出版にご相談するのが良いと思います。

ちなみにこの写真はスマホに100円ショップで売っているクリップ型のマクロレンズのアダプタを装着して取りました。目視では小さくて視認が困難と思いますがこんな方法で見れたりします。ご参考まで。

flasher-stm32 のdownloadができません - myb

2018/10/15 (Mon) 19:29:23

件名のように、download 出来なくて困ってます。
他の、所に置いてないですか~!

感度不足 - JA3〇〇〇/1

2018/10/11 (Thu) 01:28:12

当初から感度不足で、シミュレーションに沿ってコイルを5,6回巻き直したりFBに巻き直したりやってましたがあまり変わらず。
半分お手上げでした。
初めに戻ろうと考えて部品をばらし始めて、RL1を取りRL2を何とか外して一回信号を入れてみようとしたら、
今まで35dB程度のテスト信号が一気に98dB!!!
リレーの不良です。
接点が導通なし。
参りました。
感度不足の方はRLも疑い下さい。

Re: 感度不足 - 笛吹きおじさん

2018/10/11 (Thu) 10:05:17

JA3〇〇〇/1さん、今日は。
感度不足の原因はリレーですか。それは大変でしたね。
普通はリレーの動作音が出ていれば疑わないですよね。
でも、原因が分って良かったのではないでしょうか。
今後、同じ様なトラブルが出た時には多いに役に立ちます。

私事ですが、その昔、TS430と云うケンウッドのトランシーバを使っていた時に受信感度が時々急に落ちてしまう症状に悩みました。
時々ですから、その時に原因を探す必要があります。
ケースを外した状態で不良の出るのを待ち、1ヶ月くらいかかり、やっとこさと入力アンテナ回路のリレー不良を見つけました。
オムロン?の1cm角の小さなリレーです。接点材料が適切でなかったのが原因でした。

小さな電流回路に使うリレーは難しいですね。

Re: 感度不足 - Ojisankoubou

2018/10/11 (Thu) 17:26:11

感度不良の原因が RL だったとのこと、原因が見つかってよかったです。

販売元の CQ 出版に「RL が不良品」だった旨、連絡していただけますか。 
代替部品を送ってもらえると思います。

今後もよろしくお願いします。

Re: 感度不足 - JA3〇〇〇/1

2018/10/11 (Thu) 20:22:01

皆さん
ありがとうございます。
原因が解決すると滅茶苦茶に面白い機械です。
12k出力にDMBを付けて遊べます。
RLは通販モノが使えましたのでこれで行きます。
次はまだまだ分からないプログラムに挑戦したいと思います。
これからもよろしくお願いします。

SDR3 でCW(その2) - 笛吹きおじさん

2018/10/01 (Mon) 09:00:18

長く成って来ましたので、別スレッドを立てました。

やどさん、台風が来るとアンテナが心配ですね、でも特に被害もなかったようで何よりです。
私はマンション住まいでアンテナが立てられず、局免も切らしてしまいました。

DVDにあるソースをコンパイルし書き込んでみました。
画像の様なLCD表示になります。

ji1uddさん、すごいですね。
あっと云う間にCWオペレーションが出来る様になりましたね。
いくつもに分かれたソースファイルを読み解くのは、どうも私には荷が重過ぎて駄目です。
回路図を見る方が性に合っています。

昔はTS430にTS850の外付けDSPユニットをつないで、楽しんでいました。

このSDR3に2~3Wのアンプをつけて電池で運用出来る様にすれば、外で使えます、今はパワーのあるリチウム電池がありますのでそれを使えば出来そうです。

しばらく、プログラムと格闘してみます。

Re: SDR3 でCW(その2) - ji1udd

2018/10/02 (Tue) 21:00:16

やどさん、笛吹きおじさんへ

電源電圧を高め(5.2V)に設定して、PTT ON/OFF すると受信感度が下がり、SingleTone出力が出なくなるという症状が私のSDR-3でも再現しました。
回路図を見ると確かに5Vを直接使用している回路は限られているのですが、今の原因はわかりません。

あと、確かにDVDのソースはちょっと古いようですね。折角なので main20180812.hex 相当のソースが欲しいですね。

笛吹きおじさんへ
色々とメニューをいじられているようなので、もしメニューの追加の方法がわかったら教えてください。具体的には、iambicキーヤーを組み込んだ時に Speed の設定や セミブレークインの保持時間の設定ができるようにしたいと思ってます。

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/02 (Tue) 22:09:10

今晩は。
電源電圧(5V)を高めにすると不具合が出るとの事ですが、私は可変電源を持っていませんので未確認です。
IC2(BGA2816)の規格をみますとabosolute Max Vccが5.0Vとなっています。
3.3Vで使う仕様の様です。IC2のVccは5Vラインに47オームをシリーズに入れて供給されています。
それでなくてもVccが高い状態のところ、更に5.2Vに上げると動作がおかしくなるのは仕方がないのではと思いますが如何でしょうか。
IC3は3.3V供給になっています。

メニューのプログラムをいろいろいじっていますが、いま一つ相互の関連性が分らず試行錯誤を重ねています。


>main20180812.hex 相当のソースが欲しいですね。

同感です。



Re: SDR3 でCW(その2) - ji1udd

2018/10/03 (Wed) 06:52:16

電源電圧を高め(5.2V)にして
PTT OFF → PTT ON → SingleTone出力 → PTT OFF
のフローを繰り返すとSingleTone出力にしても オーディオコーデックから 12kHzの信号が出なくなりました。
ですので、IC2の電圧は関係なさそうですが、信号が出なくなる原因はわかりません。
あと、受信の方はあたかもAGCゲインが最小に張り付いているかのような感じです。


あと、私のSDR-3はIC2 Vccの47Ωは 68Ωに取り替えてあります。47Ωでは Vccが3.72Vだったので68Ωにして3.45Vとして推奨動作条件(3.0~3.6V)に納まるようにしました。この目的は推奨動作条件に納めることで送信のIMDが少し改善できるかなと思って試したのですが結果としてはIMDはあまり変化なく、むしろ少し悪化したように感じます(Vccが下がってリニアリティが悪化?)

では、また。

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/03 (Wed) 10:18:04

こんにちは。
12KHzの信号が出なくなるとの事、コーデックは3.3Vで動いていますので、5Vの影響は受けないですし、
プログラム的な要因があるのかも知れませんね。

メニュー画面アイテムを並べ替えました。各アイテムの内容も取り合えずつじつまの合うものにしました。
電源ON後のデフォルト表示を最適な値にする必要があります。

radio_settings.h ラジオの設定を変更?しました。

static menuitem_t menus[] = {
// int8 sel; // 選択項目 or menu番号
// int8 n; // メニュー項目数
// char * title; // タイトル文字列
// char * str; // メニュー文字列 メニュー名+項目
// callback_menufunc * func; // 選択時に呼び出される関数へのポインタ
{ 0, 5, "MOD ", " LSB USB CWL CWU AM PSK ", func_mod },// 変復調モード
{ 0, 3, "SSB METHOD ", "PHAS WEAV 4TH ", func_ssbmethod },
{ 2, 5, "RX GAIN ", "-20\140 -10\140 0\140 +10\140 +20\140 ", func_rfgain},// RFゲイン
{ 2, 6, "TX GAIN ", " -3\140 0\140 +3\140 +6\140 +10\140 +20\140 ", func_txgain},// TXゲイン
{ 2, 5, "AGC ", "Slw1 Slw2 Mid Fst1 Fst2 ", func_agc },// AGC
{ 0,10, "DENOISER ", " Off L1 L2 L3 M1 M2 M3 H1 H2 H3 ", func_noican },// NOISE CANCELLER
{ 1, 6, "HPF ", " 50 100 200 300 400 500 ", func_hpf }, // HPF
{ 5, 9, "LPF ", " 1k 2.2k 2.4k 2.6k 2.8k 3k 3.5k 4k 5k ", func_lpf },// LPF
{ 4, 6, "AUDIO LO ", "-20\140 -10\140 -6\140 -3\140 0\140 +3\140 ", func_audiolo },// Lo
{ 4, 6, "AUDIO HI ", "-20\140 -10\140 -6\140 -3\140 0\140 +3\140 ", func_audiohi },// Hi
{ 0,11, "PSD STEREO ", " Off 1ms 2ms 3ms 4ms 5ms 6ms 7ms 8ms 9ms 10ms ", func_pseudostereo }, // PSEUDO STEREO
{ 4, 7, "SPEANA REF ", " 50\140 60\140 70\140 80\140 90\140 100\140 110\140 ", func_speanaref},// スペアナ REF

};



static button_t radio_buttons[] = { // 使うボタンをすべてここで定義する
// status bit0:使用中 bit1:表示 bit2:コールバック
// x 左上 X座標
// y 左上 Y座標
// w 幅
// h 高さ
// style; ボタンスタイル 上位2ビット 0:rect 1:cut 2:round 3:circle 下位6ビットはそれぞれの半径やコーナーなど
// color_button ボタン色
// color_str 文字列色
// size 文字サイズ 8, 16, 24
// title タイトル文字列
// str ボタン文字列
// func 選択時に呼び出される関数へのポインタ
{ 7, 0, 0, 78, 30, 0, C_RA_BTN, C_RA_STR, 16, "MOD", str_setting[0], func_buttons },// 設定0
{ 7, 80, 0, 78, 30, 0, C_RA_BTN, C_RA_STR, 16, "SSB", str_setting[1], func_buttons },// 設定2
{ 7,160, 0, 78, 30, 0, C_RA_BTN, C_RA_STR, 16, "RX GAIN", str_setting[2], func_buttons },// 設定2
{ 7,241, 0, 79, 30, 0, C_RA_BTN, C_RA_STR, 16, "TX GAIN", str_setting[2], func_buttons },// 設定1
{ 7, 0, 32, 79, 30, 0, C_RA_BTN, C_RA_STR, 16, "AGC", str_setting[4], func_buttons },// 設定4
{ 7, 80, 32, 78, 30, 0, C_RA_BTN, C_RA_STR, 16, "DENOISER", str_setting[5], func_buttons },// 設定5
{ 7, 160, 32, 78, 30, 0, C_RA_BTN, C_RA_STR, 16, "HPF", str_setting[6], func_buttons },// 設定3
{ 7, 241, 32, 78, 30, 0, C_RA_BTN, C_RA_STR, 16, "LPF", str_setting[7], func_buttons },// 設定3
// { 7, 241, 32, 79, 30, 0, C_RA_BTN, C_RA_STR, 16, "LOW", str_setting[9], func_buttons },// 設定6
// { 7, 241, 32, 79, 30, 0, C_RA_BTN, C_RA_STR, 16, "HIGH", str_setting[10], func_buttons },// 設定7
{ 1, 0, 71, 48, 24, 0, C_RA_TX_BG, C_RA_TX_STR, 24, "", "TX", func_default },// 送信
{ 1, 48, 71, 32, 24, 0, C_RA_FREQ_BTN, C_RA_FREQ_STR, 12, "", "B", func_default },// BAND 表示
{ 7, 80, 71,240, 24, 0, C_RA_FREQ_BTN, C_RA_FREQ_STR, 24, "", str_freq,func_default },// 周波数
{ 0, 48, 71, 64, 24, 0, C_RA_MEMORY_BTN, C_RA_MEMORY_STR1, 24, "", str_memory, func_default },// ch メモリー
{ 0,112, 71, 48, 24, 0, C_RA_MEMORY_BTN, C_RA_MEMORY_STR2, 12, "", "B", func_default },// BAND 表示
{ 0,160, 71,160, 24, 0, C_RA_MEMORY_BTN, C_RA_MEMORY_STR2, 16, "", str_freq,func_default },// ch メモリー時の周波数
{ 4, 0,105,320,100, 0, C_RA_BTN, C_RA_STR, 16, "", "", func_default },// スペクトラム表示
};

LOW、HIGHはコメントアウトして置かないと画面した(TX表示)等に影響が出て周波数表示も出なくなります。

LCD画面の使い方が分っていないとこの変更は難しいですし私の変更が適切かどうかは疑問です。
取り合えず表示が出たというところです。

もう一つの変更はロータリーエンコーダーがデフォルトでREVになっています。これをNormに直しました。

setting.c 一般設定
//--------------------------------------------------------------------
// Rotary Encoder の回転方向設定(使う RE によって接点が逆のものがあるので)
//--------------------------------------------------------------------
static void rotenc_dir( int rot ) {
rot_table_sel += rot; // rotaryenc.h
rot_table_sel |= 0; <----ここ
rot_table = rot_table_sel? (int *)rot_table_rev:(int *)rot_table_norm;
strcopy( rot_table_sel?" RVS":"NORM", setting_buttons[N_ROTENCDIR].str+14 ); //
}
表示をRVSからNORMにする。


RotaryEnc.c ロータリーエンコーダーを扱う
//const int rot_table_norm[16] = {0,-1,1,2,1,0,2,-1,-1,2,0,1,2,1,-1,0}; // AB 逆接続
//const int rot_table_rev[16] = {0,1,-1,2,-1,0,2,1,1,2,0,-1,2,-1,1,0}; // 前のSWと今のSWから回転量にする
const int rot_table_rev[16] = {0,-1,1,2,1,0,2,-1,-1,2,0,1,2,1,-1,0}; // AB 逆接続
const int rot_table_norm[16] = {0,1,-1,2,-1,0,2,1,1,2,0,-1,2,-1,1,0}; // 前のSWと今のSWから回転量にする

int* rot_table = (int *)rot_table_norm;
int rot_table_sel = 1;// 0; //rot_table_norm;

後はスペアナ画面のLow Pass領域(ライトブルー)をそれぞれのモードに一致するようにしたいですが、
この場所を探すのが大変です。

苦労して変更しても、その変更が他に影響しないかも調べないといけません。
やはり、全体が分っていないと変更によるバグの心配があります。

Re: SDR3 でCW(その2) - ji1udd

2018/10/03 (Wed) 20:06:08

笛吹きおじさんへ

メニュー画面のアイテム並べ替えの情報どうもありがとうございました。
試してみたのですが、スペアナ表示が全体的に50ぐらいのレベルで表示されて上手く行きませんでした。私の修正が間違っていないか、もう少し確認してみます。

まずはお礼まで。

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/03 (Wed) 20:36:30

ji1uddさん、今晩は。

私の変更は自信がありません、間違っている可能性が大です。
ji1uddさんの変更(最初の分)を適用して、コンパイルが出来るのを確認しました。上手く動いています。
スペアナのLPF領域は私の勘違いでLPFの設定でちゃんと表示されています。

この状態で、メニュー画面のコンテンツを変える変更をやってみます。
LCDの表示コンテンツを変えるのは、難しくてカット&トライでやっていますので、、、、
どうもお役に立たなくてすみません。


Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/03 (Wed) 22:21:27

今晩は。
ji1uddさんの変更プログラムの表示コンテンツを変えてみました。

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/03 (Wed) 23:47:46

今晩は。
電源ON時はLPF表示は2.8KHzになっていてスペアナ画面のLPF表示もほぼ3KHzになっています。この状態で送信しても表示帯域は変りません。
次にLPFを2.8KHzから3KHzに変えるとスペアナ画面の帯域は1KHzになり、送信しても1KHz帯域のままです。
この状態でになるとLPFの値を狭くしても広くしても画面の帯域は1KHzのままです。

電源ON時はLPF2.8KHzになっていますが、3KHzに変えても1KHZにならずに動作する場合もあります。

発生する状況が何時も同じなら、何かトラブッって居るのでしょうが、必ずしもその様にならない時もありますので、いやー難しいですね。


Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/04 (Thu) 13:19:44

今日は。
私の今までupした変更は全くNGで役に立ちません。
時間の無駄になりますので、無視してください。
ごめんなさい。

Re: SDR3 でCW(その2) - ji1udd

2018/10/04 (Thu) 21:22:02

笛吹きおじさんへ

> 時間の無駄になりますので、無視してください。

とんでもないです。たとえ上手く動作していなくても私には十分役に立っています。

ロータリーエンコーダーは、normとrev のテーブル名を入れ替えるだけで大丈夫みたいです。

//const int rot_table_norm[16] = {0,-1,1,2,1,0,2,-1,-1,2,0,1,2,1,-1,0}; // AB 逆接続
//const int rot_table_rev[16] = {0,1,-1,2,-1,0,2,1,1,2,0,-1,2,-1,1,0}; // 前のSWと今のSWから回転量にする
const int rot_table_rev[16] = {0,-1,1,2,1,0,2,-1,-1,2,0,1,2,1,-1,0}; // AB 逆接続
const int rot_table_norm[16] = {0,1,-1,2,-1,0,2,1,1,2,0,-1,2,-1,1,0}; // 前のSWと今のSWから回転量にする

今後共情報提供よろしくお願いします。

Re: SDR3 でCW(その2) - ji1udd

2018/10/04 (Thu) 21:31:04

もう一つ、

> radio_settings.h ラジオの設定を変更?
は、教えて頂いたところの続きの enum の並びも一緒に修正が必要みたいです。

enum {
N_MENU_MOD, // 変復調モード
N_MENU_SSBMETHOD, // SSB METHOD
N_MENU_RXGAIN, // RF ゲイン
N_MENU_TXGAIN, // TX ゲイン

N_MENU_AGC, // AGC
N_MENU_DENOISER, // NOISE CANCELLER
N_MENU_HPF, // HPF
N_MENU_LPF, // LPF

N_MENU_LOW, // Lo
N_MENU_HIGH, // Hi
N_MENU_PSDSTEREO, // PSEUDO STEREO
N_MENU_SPREF, // スペアナ REF

N_MENU, // メニュー個数
};

こんな感じです。単にお書き忘れのような気もいたしますけど。。。

では、また。

Re: SDR3 でCW(その2) やどさん

2018/10/05 (Fri) 00:29:31

亀レスです。
仕事もトラブル対応処理みたいな感じで、ROM状態でした。

>基板のパターンを見たらPA5とPA6もピンヘッダの並びに引き出されていた

これらはリザーブビットだったのですね!
回路図をよく見てなくて 使われていると思っていました。
そうか、
「PA5,PA6にプルアップ抵抗と容量のパターンを作っておいたから、DASH,DOTキーに使えるよ!」
ってことですね!?

うーむ、恐るべし「おじさん工房」 、、小川さん
iambic keyerも実装しちゃいそうな、、、uddさん
そして、メニューを改修してしまう、、、笛吹きおじさん

で、
・uddさんのCWモード追加によって、あとはPTT制御できればセミブレークイン…
と思い、簡単に外付け1Tr+抵抗1本で実現する方法があったので、ご参考程度に追加回路図を貼っておきます。
SDR-3DボードのLED近くUSBコネクターGND部にTrをハンダ付けして試行してました。

ソースの修正箇所は、radio/radio.c です。

1150行目あたり

// ラジオ処理 定期的に main.c から呼ばれる 10ms ごと
//--------------------------------------------------------------------
static void radio_exec( void ) {
static int time=0;
static int pttdly=0;   // この1行追加

 ~途中省略~

time++;
if( time == 5 ) time=0;

if (( mod==3) || ( mod==4 )) { // CWL or CWU mode ここから12行を追加
if( CWKEY_PRESSED ){
pttdly=0;
LED3_ON();
} else {
if ( pttdly == 50) { // PTTオフディレイ:0.5秒
LED3_OFF();
pttdly=0;
}
pttdly++;
}
} // ここまで

}

//--------------------------------------------------------------------
// ラジオ変調・復調実行  I2S2 データが DMA バッファに溜まると呼ばれる


・定期的に main.c から呼ばれる(10msごと)と書いてあるので使えるな!ということで、
CWキーが押されたらPB6(LED3)=PTTオンして、
キーを放したら50カウントしてPTTをオフします。

基板のLED3の上側にD3と書いてあるスルーホールランド部分に抵抗をハンダ付けして2SC1815ベースを叩いてPTTをオン/オフです。
本当は、ソフトでTX=1にしたかったのですが、うまく出来ず。。。
実験的に、ご参考程度でお願いします。

5V高めで誤動作再現するのですね、、、
実はその後、LCDが原因ではない事は確かめたのですが原因わからず。連休にGNDを分離してみようかと思っています。

//

Re: SDR3 でCW(その2) - ji1udd

2018/10/06 (Sat) 22:20:32

iambicキーヤーが実装できました。
PA11に圧電スピーカーをつなぐとSidetoneも聞けます。

ソフトウェアの修正箇所の情報はgitにupload しました。URLは、https://github.com/ji1udd/SDR-3 です。「clone or download」のボタンから Download ZIP を選らぶとPCにまとめて情報をダウンロードできます。
jpegとtxtとが組になっていて jpegを見ると修正箇所がわかると思います。jpegは画像なので中身をコピペできないので組のtxtファイルの方に修正するところの内容が書かれているのでそれをコピペするとタイプミスが多少防げるかと思います。

ソフトウェア全体をgitに置ければ差分はgitが自動的にやってくれるのですが....

もし興味がありましたらお試しください。

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/07 (Sun) 10:27:58

ji1uddさん、お早う御座います。
早速DLして書き込みました。私はiambicキーヤーと云うものを持っていませんし使ったこともありません。
取り合えず、CWL,CWUの送信モードは問題なく機能してます。(TXにするとキャリヤーが出るという確認のみです)
その他のメニューも切り換えてみましたが、特に異常は認められません。

初歩的な質問です、キーヤーは何処につなぐのでしょうか?
多分、SW8にパラにキーを繋ぐのでしょうね。

Re: SDR3 でCW(その2) やどさん

2018/10/07 (Sun) 16:42:47

笛吹きおじさん ji1uddさん、こんにちは!

これは、"ACAG TEST"冷やかしでやってる場合ではない!と、
uddさんの親切なステップ毎のソース変更説明を見て直して、ファーム書込みました。
動きました!嬉しいー!

>iambicキーヤーと云うものを…
>キーヤーは何処につなぐのか?

iambicキーヤーは、スクイーズ機能付きエレキーと云っても合ってると思います。すごいです!

キーの接続箇所は、添付写真の赤枠の部分です。
SDR-3D回路図のPA5/PA6、R2/R4の左側からパドルの Dot Key/Dash keyに接続して、C8右側=GNDをパドルの中点へ接続です。

あっ、R2/R4抵抗は未実装なので、3.3kΩを実装です。ぴったり3.3kでなくても大丈夫なはず…

更に未実装のUSBコネクタ部(PA11・R40)に圧電スピーカーをつなぐとSidetone信号が出ました!


ji1uddさん、GithubにHermes-Liteも置かれていますね!梅雨頃に参照させていただいていました!!
ここ数か月、Hermes-Lite2から派生した? radioberry-2の試行もしていました。

//

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/07 (Sun) 18:13:55

やどさん、ji1uddさん今晩は。

やどさん、キーを繋ぐ場所のご説明有難う御座います。
オーソドックスなキーしか使ったことがないものですから全く分りません。

ji1uddさんの変更後に再トライして、メニューコンテンツを何とか変更することが出来ました。
別にこれをやっても意味はないのですが。

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/07 (Sun) 18:38:29

私の変更を再び(性懲りもなく)書きます。
添付画像をご参照下さい。

(変更1)
変更を加えたのはradio_settings.hです。

enumの中身は上の各項目と同じ順番にします。

{ 0, 5, "MOD ", " LSB USB AM CWL CWU PSK ", func_mod },// 変復調モード

上記の最初の0は電源ON時のデフォルトのモードをしてします。0ではLSBに成ります。1にすればUSBが表示されます。
その後の5はモードの数を表しています。LSB,USB,AMにCWL,CWUを追加したので5になります。

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/07 (Sun) 18:57:49

変更2
ここは実際のLCDに表示する文字、文字位置を決めています。

{ 7, 0, 0, 78, 30, 0, C_RA_BTN, C_RA_STR, 16, "MOD", str_setting[0], func_buttons },// 設定0

7,0,0,78,30,0の数字ですが、最初の7は多分bitで機能が決まるようですが、これは分りません。
次の0がLCD画面の左上の位置、次の0が上のカラムを表示しそのあとの数字はMODのキャラクタを決めるものです。

80,160,241その後のメニュ文字の位置です。
{ 7, 0, 32, 78, 30, 0, C_RA_BTN, C_RA_STR, 16, "AGC", str_setting[4], func_buttons },// 設定5

7,0,32、・・・・この32は2列目に表示させる為です。


”MOD"この文字がメニューに表示されます。これを書き換えれば変えることが出来ます。
str_setting[0]この0が実際のMODの中身の場所をしまして居ます。
0ですから変更1の
{ 0, 5, "MOD ", " LSB USB AM CWL CWU PSK ", func_mod },// 変復調モード
ここを指しています。
以下同様です。

いろいろいじって見ると分ると思います。

Re: SDR3 でCW(その2) - 笛吹きおじさん

2018/10/07 (Sun) 19:02:27

変更3

最後にここの順番を変えます。

メニューに表示する順番にならび変えます。
これで終わりです。
分りずらい書き方ですみません。


間違っているかも知れませんので、もしその場合はご容赦を。

Re: SDR3 でCW(その2) - ji1udd

2018/10/07 (Sun) 20:38:13

やどさん、笛吹きおじさんへ

試していただいてとても嬉しいです(^^)

Radioberryは持ってはいませんが存知ております。Hermes-Lite は、ここ2年ぐらい色々といじってましたが、HL2の開発が完了して技術的話題が乏しくなったので最近は静観モードです。

今は、圧電スピーカーを使わずにSidetoneをヘッドフォンから出せるように改良中です。PA11の出力をRCのLPFを通してオーディオコーデックのIN1L/Rに入力して実現します。すでにそこそこのものはできたのですが、もう少し改良したいのでお披露目はもうしばらくお持ちください。

あと、メニューの方もいじりたいのですが、そんなこんなで、手をつけていません。その間に笛吹きおじさん、やどさんが色々と実験してくれることを期待しております(^^;)

Re: SDR3 でCW(その2) - ji1udd URL

2018/10/08 (Mon) 09:56:46

やどさん、笛吹きおじさんへ

ヘッドフォン出力からSideToneを出力できるようになりました。SidoToneの周波数も受信時のトーンと同じ 600Hzにできました。#STM32のPWM設定で少し手こずりました。

gitの方に前回と同じように修正内容のjpegとtxtをおきました。あと追加回路のRCフィルタ回路図と実験回路の写真もおいておきました。gitのマークダウン(README.md)もご一読下さい。

では、また。

Re: SDR3 でCW(その2) やどさん

2018/10/08 (Mon) 12:40:00

ji1uddさん 笛吹きおじさん、こんにちは!

SideToneコーデックから聴けるのですね!
どうやってSideTOne周波数発生させたらいいのか良く解っていなかったので、ソース見て研究させていただきます。

笛吹きおじさんのメニュー修正方法も勉強させていただきます。ありがとうございます!

あとは、CW設定メニューの追加ですね!
・ストレートキー・エレキー切り替え
・CW速度切り替え
・ブレークインのPTTディレイ時間切り替え

うーん、また寝不足になりそうw

//

SDR-3 送受信でおかしくなる件 - Ojisankoubou

2018/10/04 (Thu) 17:21:03

何人かの方が電源電圧が 5.2V で送受信すると信号がでなくなるとのレポートを書き込まれていますが、私のところでも 5.3V にしたところ再現しました。

調べたところ SDR-3A基板の IC8(RT9193 3.3V Reg) の出力が送信から受信にした瞬間 4.3V まで跳ね上がり、IC7(SI5351) のレジスター内容が消えてしまうためでした。

RT9193 の仕様書では Load Transient は数10mV のはずですが、実測では受信に切り替わったときの負荷(IC3 BGA2815)の増加で1V近く跳ね上がっています。

対策ですが、IC8(RT9193) の出力につながっている C67(47/6) にパラに 220~470uF のケミコンを付けてください。 これにより跳ね上がりは 3.6V に軽減され、SI5351 のレジスターも消えなくなりました。

ESR の小さいケミコン(OS コンなど)でしたら 47~100uF でも十分効果があります。

C66 に 10uF のセラコンパラ付けでも OK です。

Re: SDR-3 送受信でおかしくなる件 やどさん

2018/10/05 (Fri) 00:44:16

小川さんこんばんは。

こちらでも送信から受信にした時に頻繁に起きました。
SDR-3A基板のRT9193 3.3V Regの問題との事、了解しました。

デジタル側の3.3Vばかり見ていて気が付きませんでした。
ケミコンも追加して試行してみます。
ありがとうございます!

//

Re: SDR-3 送受信でおかしくなる件 - ji1udd

2018/10/05 (Fri) 18:46:00

Ojisankoubouさん、やどさんへ

手持ちに積セラの10uF (GRM219R61E106KA)があったので C66に縦積み実装したところ、問題が解消されました。電源電圧を5.4V位まで上げてみましたがOKでした。

10uFを追加する前にオシロでIC8の出力を見てみましたが、電圧が跳ね上がる症状は捉えられず、やや半信半疑でしたが効果はてきめんでした。

以上、ご報告まで。

SDR3 でCW - 笛吹きおじさん

2018/09/27 (Thu) 14:50:29

暇にまかせて考えて見ました。
送信だけなら

1.AMモード、マイク入力0で送信にしてTR4のゲートの TXをON/OFFすれば実験は出来そうです。但し、受信時 は相手が同じ周波数で送信してきていればゼロビートでピーピー音が出ません。

2.void mod_txt(float *isig, float *qsig) {switch(mod){ 省略 }

ここにLSB,USB,AM,BPSKを選択していますので、ここに新たに下記の様にCWモードを追加すればいいのでは、送信はOK?
case 4:
*isig = 16384.f;
*qsig = 0;
break;

(トラ技9月号:92ページ参照)
しかし、受信時のビート音(例えば1KHz)を出すBFO機能をどうやって持たせるのか?これは難しそうですね。

後はメニュー画面にCWを表示させる必要があります、これもグラフィックパターンをいじるので、経験がないと難しいかもですね。

セミブレークインとフルブレークインとかに成りますTR4のゲートをON/OFFするだけではタイミングがシビアに成りそうですね。単純なCW交信では必要のない機能です。
いくつもに分かれたプログラムの全体を眺めて変更する必要がありますので、私にはかなりハードルが高いですね。

私が若い頃は真空管時代で一般的な送信機は807、6AR5
の構成が標準でした。CWは6AR5でXtal発振させ、807のカソードにキーをつなぎオン、オフしていました。
6AR5は送信中は動作しっぱなし、ですから、ロカール局で聞くとON,OFFしているのにも関らず連続的ビートが出て、ONの時にそのビートがちょっと大きくなる、笑い話の様な時代でした。
6AR5、807をご存知の方は多分少ないでしょう。
60年くらい前のことです。

しかし、今や手の平に載る高機能なスマホ、すべてが小さくなり高機能です。戦後の技術の進歩には驚きです。

でも、何となく物足りないですね、歳をとった所為かも知れません。自作の気力がなくなってしまいそうです。




Re: SDR3 でCW ji1udd

2018/09/27 (Thu) 21:08:39

笛吹きおじさん、こんばんは。

私の方、まだハードウェアをいじっていてソフトウェアの方は手がついていません。

> 1.AMモード、マイク入力0で送信にしてTR4のゲートの TXをON/OFFすれば実験は出来そうです。但し、受信時 は相手が同じ周波数で送信してきていればゼロビートでピーピー音が出ません。

そうですね。実験には良いですが、ハードウェアはいじらずに全てソフトウェアで済ませたいですね。

> 2.void mod_txt(float *isig, float *qsig) {switch(mod){ 省略 }
ここにLSB,USB,AM,BPSKを選択していますので、ここに新たに下記の様にCWモードを追加すればいいのでは、送信はOK?

正しいアプローチと思います。
フルパワー出力させるために、定数を32767 にすることと、帯域が広がらないようにキーイングに対応して振幅を緩やかに立ち上げ/下げする制御が必要と思います。

>しかし、受信時のビート音(例えば1KHz)を出すBFO機能をどうやって持たせるのか?これは難しそうですね。

私が思いつく方法は、所望のトーンを600Hzとすると、
1)送信と受信とでSi5351の周波数を600Hzずらす。
2)受信信号をIQミキサーで600Hzずらす。
といったところです。1)の方がおそらく簡単と思われます。

> 私が若い頃は真空管時代
6AR5も807も知ってます。
小学生の頃、真空管式の白黒テレビが時々廃棄されていて、拾ってきては部品取りしました。真空管のヒーターの灯は哀愁をそそりますね#好きです。夏は熱くてかなわないですけど...

では、また。

Re: SDR3 でCW やどさん

2018/09/29 (Sat) 13:34:46

笛吹きおじさん ji1uddさん、こんにちは!

>AMモードで変調なし、キャリアのみにする
>送信と受信とでSi5351の周波数を600Hzずらす

そうですよね!!
単純に、PTTをキーイングする、フルブレークインなら出来そうだと思って夜な夜な挑戦してました。
メニュー画面にCWを追加するのもやってみたら簡単でした、おじさん工房すごいです。



・ちょっと?なフルブレークインCWモードですが、、
 ご参考までに変更したソースのdiffを貼っておきます。


(1)/SDR-3_source/SSB_trx/setting/setting.c

314a315 314行と315行の間に1行追加 (おじさん工房ソース修正指示より)
> rot_table = rot_table_sel? (int *)rot_table_rev:(int *)rot_table_norm;


(2)/SDR-3_source/SSB_trx/radio/radio.c

272a273 <- 272行と273行の間に1行追加
> case 3: spectrum_set_highlight( 10, fc ); break; // CW(USB)
315a317,320 <- 315行目の次に4行追加 (CW送信時 +600Hz Up)
> if ( mod == 3 ) {
> freq = freq + 600;
> freq_update();
> }


(3)/SDR-3_source/SSB_trx/radio/radio_settings.h

98c98 <- 98行目変更(モードメニューにCW追加)
< { 0, 3, "MOD ", " LSB USB AM PSK ", func_mod },// 変復調モード
---
> { 0, 4, "MOD ", " LSB USB AM CW PSK ", func_mod },// 変復調モード


(4)/SDR-3_source/SSB_trx/radio/radio_tx_rx/radio_rx/radio_rx.c

152c152
< switch( mod ) { //0:LSB 1:USB 2:AM 3:BPSK
---
> switch( mod ) { //0:LSB 1:USB 2:AM 3:CW 4:BPSK  3:CWを追加
165d166,168 <- 165行目の後に3行追加
> case 3: // CW受信はUSBモード
> hilbert( isig, qsig );
> *isig = *isig + *qsig;


(5)/SDR-3_source/SSB_trx/radio/radio_tx_rx/radio_tx/radio_tx.c

175c175
< switch( mod ) { //0:LSB 1:USB 2:AM 3:BPSK
---
> switch( mod ) { //0:LSB 1:USB 2:AM 3:CW 4:BPSK 3:CWを追加
188c188,192 <- 188行目から5行変更・追加
< default: // 3:BPSK
---
> case 3: // CW
> *isig = 32768.f;
> *qsig = 0;
> break;
> default: // 4:BPSK

//

Re: SDR3 でCW - ji1udd

2018/09/29 (Sat) 19:15:16

残念ながら上手くビルドできないという情けない結果となりました。

パッチを当てて make すると メニューに CW は追加できたのですが、受信動作させるとノイズしか聞こえません。ボリュームは効きます。

そこで、上とは別のフォルダにオリジナルのソースファイルを置いて、それをそのまま使って makeすると bin フォルダに main.hex が 180kB のサイズででき、見掛けビルドできています。しかし、それをSDR-3に書き込んで受信すると上と同じようにノイズしか聞こえません。
よってパッチが悪いわけではないです。#基本ができないというヤツです(^^;)

思い当たるところとして、make したときに warning が 5個でました。これが問題なのかもしれません。皆様のところでは warning がでていますでしょうか?


よろしくお願いします。

Re: SDR3 でCW - 笛吹きおじさん

2018/09/29 (Sat) 19:43:26

皆さま、今晩は。

私の所ではコンパイルはパスしmake.hexは出来ました。
しかし、これを書き込んでもメニューにCWは表示されず、画面もスペアナにノイズが表示され、期待通りには動作していないですね。

warningは1個だけ出ています。
radio/fft/fft.c:44:3: warning: dereferencing type-punned pointer will break stri
ct-aliasing rules [-Wstrict-aliasing]
int d = *((int *)&abs2); //

出来上がったhexは下記です。

text data bss dec hex filename
62416 3092 37412 102920 19208 bin/main.elf

入力ミス?があるのかも知れません。
調べてみます。

Re: SDR3 でCW - ji1udd

2018/09/29 (Sat) 20:15:21

笛吹きおじさんへ

早速のコメントありがとうございました。
Warning は 1個だけですか... 何でだろう??
ソースファイルはオリジナルのものを使用されたのでしょうか? 出来上がった ファイルサイズもちょっと違います。

あと、make clean をすると error になりました。
何か関係があるのでしょうか?

#添付参照願います。

Re: SDR3 でCW - 笛吹きおじさん

2018/09/29 (Sat) 21:42:39

ji1uddさん、今晩は。
私のコンパイルの結果です。
ソースは付録のDVDにある物です。
make clean でエラー出ません、bin フォルダーはクリアーされます。

Re: SDR3 でCW - 笛吹きおじさん

2018/09/29 (Sat) 21:45:46

make clean の結果です。

プログラム見直したのですが、ミス キーインは無い様です。
何がおかしいか?、、、、よく分かりません。

Re: SDR3 でCW やどさん

2018/09/30 (Sun) 00:59:24

こんばんは。

Warningですが、こちらでも笛吹きおじさんと同じ所の1箇所でした。

・ただ、ファーム書込みで送受信できなくなる場合がありました。
まず、オリジナルの実行ファイル main20180521.hexを書き込んで送受信出来るか確認してください。

→ ファームの書換時に、先にErase Allしておくか、「Global Erase」を選択して書き込まないと、送受信ができない様です。(受信では全く感度無くなり、送信はAMキャリアも出なくなりました)


・あともう一つ不具合があるようです。

送受信を繰り返すと、CODECとのme/Fがおかしくなる?ようで、上記と同様に送受信が出来なくなります。
オリジナルのmain20180521.hexで送受信を繰り返しても発生しました。

→ ちゃんとリレーは動くし、LCD表示もそれなりなりですが、CODECが正常に動いていないようで、受信ノイズレベルや送信レベルが悪くなります。
何かおかしいかもしれないです!?

Re: SDR3 でCW - 笛吹きおじさん

2018/09/30 (Sun) 07:54:31

お早う御座います。
台風が気になります、さて、まだ、何か有りそうだとの事了解でございます。
私の場合は、メニューでCWが出ないのです。Erase AllやGlobal Eraseをして書き込んでも結果は同じでした。
送信受信の繰り返しはやっていません。

なかなか難しいものですね。

Re: SDR3 でCW - ji1udd

2018/09/30 (Sun) 08:03:27

やどさん、笛吹きおじさんへ

色々と情報ありがとうございました。
Grobal Erase を選ぶことで ビルドした hex を動作させることができました。

Warningの数は、たぶん、初回ビルドと修正後のビルドとの違いではないかと思います。私の手元でも、radio.c だけ修正してビルドした場合は、Warning は 1個しかでません。

ビルドした hex が動いて、気分が上向いたので(^^)
更に修正を加えてみました。修正のポイントは、
1) CWモードを CW Lower, CW Upper の 2モードに増やした。
2) 送受信を繰り返した時に 周波数がズレて行かないようにした。
3) LCD上に表示される周波数が送信周波数になるようにした。(つまりCW受信時に 600Hz シフトさせました)
です。

修正箇所は、radio.c と radio_rx.c , radio_tx.c です。

【radio.c】
static void mod_setting( void ) {
mod = menus[N_MENU_MOD].sel;
int fc = lpf_val[lpf];
if( probe_cur==0 ) { // デフォールト表示のときのみハイライト表示する
switch( mod ) {
case 0: spectrum_set_highlight( -fc,-10 ); break; // LSB
case 1: spectrum_set_highlight( 10, fc ); break; // USB
case 2: spectrum_set_highlight( -fc, fc ); break; // AM
case 3: spectrum_set_highlight( -fc,-10 ); break; // CW(LSB), 180930追加
case 4: spectrum_set_highlight( 10, fc ); break; // CW(USB), 180930追加
default: spectrum_set_highlight( -50, 50 ); // BPSK
}
}else{
spectrum_set_highlight( 100, -100 ); // ハイライトしないように
}
freq_update(); // 180930 変復調モード設定時に si5351の再設定を行うように追加
iir_ssb4th_fs48k.coeff = (mod==0)? (float *)iir_ssb4th_lpf_fs48k_coeff: (float *)iir_ssb4th_hpf_fs48k_coeff; // LSB:LPF USB:HPF
probe_fft_setting();// プローブ設定
debug_message_init();
}

 :
(略)
 :

static void trx_setting( void ) {
freq_update(); // 180930 送受信切り替え時に si5351の再設定を行うように追加
mute = 10;
i2s2_buf_clear();
if( tx ) {
radio_tx_start();
TX_ON();
}else{
radio_rx_start();
TX_OFF();
}
probe_cur = 0; // 送受信切り替えたときはデフォールト
probe_fft_setting(); // プローブ設定
txtestmode = 0; // テストモードを解除
rxtestmode = 0;
TESTSG_OFF();
signal=0; // 切り替えた瞬間のスペクトラム表示させない
radio_buttons[N_BUTTON_TRX].status = (tx)?7: 1; // TX:表示 RX:非表示
speanaref_setting();
spectrum_set_span( speana_span ); // 0:48kHz 1:12kHz 2:6kHz
mod_setting(); // モードに応じたハイライト表示
spectrum_update(); // スペクトラム画面再表示
}

 :
(略)
 :

static void freq_update( void ) {
static int i2c_error = 0;
int offset = 0; // 180930
if( tx==0 ) { // CWモード時の受信周波数オフセット処理
if( mod==3 ) // CWLなら、
offset = 600; // ローカル周波数を上側にする
else if ( mod==4 ) // CWUなら、
offset = -600; // ローカル周波数を下側にする
}
mute = 4;
int flocal1 = freq + freqif1 + offset; // 180930 オフセット加算を追加
int timeout = 5;
while( --timeout ) {
LO1_FREQ( flocal1 );
if( !i2c1_iserror() ) break; // エラーがなければ終わり
}
mute=1; // 設定が終わったらミュートを解除
}

【radio_rx.c】
static void demod( float *isig, float *qsig ) {
switch( mod ) { //0:LSB 1:USB 2:AM 3:BPSK
case 0: // LSB
//LED2_OFF();
hilbert( isig, qsig ); //
//LED2_ON();
*isig = *isig - *qsig;
break;
case 1: // USB
hilbert( isig, qsig ); //
*isig = *isig + *qsig;
break;
case 2: // AM
*isig = sqrtf( (*isig)*(*isig) + (*qsig)*(*qsig) );
// am_demod_fisqrt( isig, qsig ); // Fast Inverse SQRT で 絶対値
break;

case 3: // 180930 CWL
hilbert( isig, qsig ); //
*isig = *isig - *qsig; //
break; //
case 4: // 180930 CWU
hilbert( isig, qsig ); //
*isig = *isig + *qsig; //
break; //

default: // 4:BPSK
break;
}
}


【radio_tx.c】
static void mod_tx( float *isig, float *qsig ) {
switch( mod ) { //0:LSB 1:USB 2:AM 3:BPSK
case 0: // LSB
*qsig = *isig;
hilbert( isig, qsig ); // 入れ替えて負の周波数(=LSB)にする
break;
case 1: // USB
*qsig = *isig;
hilbert( qsig, isig ); //
break;
case 2: // AM
*isig = *isig*0.5f + 16384.f;
*qsig = 0;
break;
case 3: // 180930 CWL
case 4: // CWU
*isig = 32767.f; //
*qsig = 0; //
break; //
default: // 5:BPSK
break;
}
}

です。お試しください。

#ファイル全体をアップロードできれば良いのですが...

Re: SDR3 でCW - ji1udd

2018/09/30 (Sun) 08:12:10

投稿すると、インデントが無くなってわかりにくいですね。

追伸です。radio_settings.h の修正情報が漏れてました。

static menuitem_t menus[] = {
// int8 sel; // 選択項目 or menu番号
// int8 n; // メニュー項目数
// char * title; // タイトル文字列
// char * str; // メニュー文字列 メニュー名+項目
// callback_menufunc * func; // 選択時に呼び出される関数へのポインタ
{ 0, 5, "MOD ", " LSB USB AM CWL CWU PSK ", func_mod },// 変復調モード

以下省略略


笛吹きおじさんへ
CWメニューが出ないとのことですが、上の場合で試してみてください。メニュー項目数の修正忘れではないかと推察します。

Re: SDR3 でCW - 笛吹きおじさん

2018/09/30 (Sun) 09:07:03

皆さま、お早う御座います。
ji1uddさん、アドバイス有難う御座います。もう一度見直したところ、メニュー画面のCWは追加したのですが、その前にあるmodの数を3のままにしてありました。

ji1uddさんの修正分を入れて上手く表示がでました。

メニュー画面の表示内容がオリジナルとは異なっていますね。
CWL,CWUを無理やり入れたことで、トコロテンではないですが、その分押し出された? どうでしょう。

Re: SDR3 でCW やどさん

2018/09/30 (Sun) 09:40:36

おはようございます!

>送受信を繰り返した時に 周波数がズレて行かないように
>CW受信時に 600Hz シフトさせた

そうか!
freq = freq + 600Hz じゃドンドン周波数ズレちゃいますね。orz
offsetを持たせる、これは良いですね。修正してみます!

台風コース心配ですね。こちらは深夜には暴風雨の予想で、アンテナが折れないか?寝られないかも!

Re: SDR3 でCW - ji1udd

2018/09/30 (Sun) 10:59:21

最近自然災害が多いので心配ですね。台風。


> CODECが正常に動いていないようで、受信ノイズレベルや送信レベルが悪くなります。何かおかしいかもしれないです!?

最初、別の受信機を使ってモニタしてみたところ、確かに変調が掛かっているかのようでした。そこで main20180812.hex に戻してみたのですが、同じように変調が掛かっている感じでした。しかし、何度か firmware を書き換えているうちに パッチしたソフトでも main20180812.hex でも変調が掛からない正常な信号になりました。#スッキリしませんが結果オーライです。

あと、送信出力レベルを確認したところ、
*isig = 32767.f;
では、 テスト信号(SingleTone)で TxGainを+6dB に設定した時に相当する出力レベル(約10dBm)でした。なので、最初に笛吹きおじさんが示された
*isig = 16384.f;
が適切のようです。#スイマセン

添付は CWLでTxGain 0dB 設定にした時の近傍スペクトルです。main20180812.hex の AMの無変調状態と同じです。
Spurは -67dBc 程度で問題ないですが、APB-3はS/Nが良好なので、目だってしまいますね。

以上、ご参考まで。

Re: SDR3 でCW - ji1udd

2018/09/30 (Sun) 11:07:58

笛吹きおじさんへ

> 上手く表示がでました。
それは良かったですね(^^)

>メニュー画面の表示内容がオリジナルとは異なっていますね。
CWL,CWUを無理やり入れたことで、トコロテンではないですが、その分押し出された? どうでしょう。

これは おじさん工房さんが作られた GUI の仕組みによる仕様だと思います(不具合ではなく)。左の縦列をメニュー項目で全て費やしたら、自動的に右の縦列を使用するようです。
#これは良くできますね。さすがです。

では、また。

Re: SDR3 でCW - ji1udd

2018/09/30 (Sun) 16:56:22

CWキーイングができるようになりました。
と、いっても PTT で送信状態にして、空き端子のPA5をGNDに落とすかプルアップ状態(R2に10kΩを実装)とすることでCW波を断続できるという仕様です。

JA1HHFさんのF2キーヤーを使うと運用できるはずです。持っているはずなのですが、すぐに見つからないので試してません。http://www.hi-ho.ne.jp/hida/F2_KEYER_2.pdf

CW波のON/OFFは窓関数(raised cosine)を使っているので帯域はあまり広がないようにしたつもりですがどうでしょうか?#使って見て下さい。

ソフトウェアのパッチ箇所は下記になります。
【board.h】
PTT SWの次あたりに次ぎの3行を足してください。
#define CWKEY_GPIO GPIOA // PA5
#define CWKEY_PIN 5
#define CWKEY_PRESSED (((CWKEY_GPIO->IDR) & (1<<CWKEY_PIN))==0)

【radio_tx.c】
17行目の次に1行追加。
static void cw_keying ( float *isig );


109行目あたり、probe_fft( isig, qsig, 3 ); とmod_tx( &isig, &qsig );との間に 3行追加。

probe_fft( isig, qsig, 2 ); // fs=12k phasing
iir_n( &iir_hpf_fs12k, &isig ); // 帯域制限 HPF fc=200
iir_n( &iir_lpf_fs12k, &isig ); // 帯域制限 LPF
probe_fft( isig, qsig, 3 );

if (( mod==3) || ( mod==4 )) { // CWL or CWU mode
cw_keying ( &isig ) ;
}

mod_tx( &isig, &qsig );
probe_fft( isig, qsig, 4 );


下記をどこかに追加。(周波数変換 の前とか。一番最後でもOKのはず)

//───────────────────────────────────
// CW keying
//───────────────────────────────────
static int cw_key_state ;
static int cw_transent_cnt ;
static float cwtbl[64] = { // raised cosine window
0.0 , 0.000602272, 0.002407637, 0.005411745, 0.00960736 , 0.014984373, 0.021529832, 0.029227967,
0.038060234, 0.048005353, 0.059039368, 0.071135695, 0.084265194, 0.098396234, 0.113494773, 0.129524437,
0.146446609, 0.164220523, 0.182803358, 0.202150348, 0.222214883, 0.242948628, 0.264301632, 0.286222453,
0.308658284, 0.331555073, 0.354857661, 0.37850991 , 0.402454839, 0.426634763, 0.45099143 , 0.475466163,
0.5 , 0.524533837, 0.54900857 , 0.573365237, 0.597545161, 0.62149009 , 0.645142339, 0.668444927,
0.691341716, 0.713777547, 0.735698368, 0.757051372, 0.777785117, 0.797849652, 0.817196642, 0.835779477,
0.853553391, 0.870475563, 0.886505227, 0.901603766, 0.915734806, 0.928864305, 0.940960632, 0.951994647,
0.961939766, 0.970772033, 0.978470168, 0.985015627, 0.99039264 , 0.994588255, 0.997592363, 0.999397728 };

static void cw_keying ( float *isig ) {
switch( cw_key_state ) {
case 0: *isig = 0.f ;
if ( CWKEY_PRESSED ) { // CW Key On ?
cw_key_state = 1; // Yes
// cw_transent_cnt = 0;
// LED4_ON();
}
break ;

case 1: *isig = 0.f ;
if ( CWKEY_PRESSED ) { // chatter ?
cw_key_state = 2; // No
cw_transent_cnt = 0;
LED4_ON();
} else {
cw_key_state = 0; // Yes
}
break ;

case 2: *isig = cwtbl[cw_transent_cnt++] ;
if ( cw_transent_cnt==64 ) {
cw_key_state = 3;
}
break ;

case 3: *isig = 1.f ;
if ( !CWKEY_PRESSED ) { // CW Key Off ?
cw_key_state = 4;
// cw_transent_cnt = 63;
}
break;

case 4: *isig = 1.f ;
if ( !CWKEY_PRESSED ) { // chatter ?
cw_key_state = 5; // No
cw_transent_cnt = 63;
} else {
cw_key_state = 3; // Yes
}
break;

case 5: *isig = cwtbl[cw_transent_cnt--] ;
if ( cw_transent_cnt<0 ) {
cw_key_state = 0;
LED4_OFF();
}
break ;

default: cw_key_state = 0;
break;
}

}

変調のところを修正。
case 3: // CWL
case 4: // CWU
*isig = *isig*16384.f; // 180930 *isig に窓関数を入れて制御
*qsig = 0;
break;


これで全部だと思いますが、忘れ物があったらすいません。

Re: SDR3 でCW - 笛吹きおじさん

2018/09/30 (Sun) 21:12:59

今晩は、段々台風の影響が出てきています。
さて、CWモードの件ですが、細かい所なのですが、気になったところです。
電源ON後のメニュー表示画面ですが、main20180812.hexの表示とは異なることは前に書きました。
それ以外に、スペアナ画面でモードがLSBの時はマイナス側に3KHzの部分のバックの色がライトブルー、USBの時はプラス側がライトブルーになります。
USBとAM モードの間にCWLとCWUを追加した場合、CWLを選ぶとこのライトブルーのところは前のAMの+-3KHzがライトブルーに成ります。

つまり、モードとそれに対応するスペアナ画面が一致しないと云う事です。

分りずらい書き方ですみません。
DVDのソースは古いバージョンのようですので、ツジツマの合う様に直していくのが大変そうです。(私にはですが)

ちょっと変更して結果がどうなるのか?そんなやり方ですので、もう一度ソースをコピーしてやり直さないと、ゴチャゴチャになってきました。

Re: SDR3 でCW やどさん

2018/09/30 (Sun) 21:41:53

笛吹きおじさん ji1uddさんこんばんは!

こちらも台風の影響で風雨が強くなってきました!
昼に雨がやんで、アンテナを下すことが出来たので少し安心しています。

そうですね。
DVDのソースを修正しながら試しているので、最新のソースの差分ファイルもあると良いですね!
以前、Googleドライブを共有したことがあって、差分ファイルを纏めて置いておくのも良さそうです。


あと、F2キーヤーというのがあるのですね!
Key操作でPTTが発生できれば良いのにと思ってました。
そうすれば、Key操作でセミブレークインでCWできますね!

ところで、uddさん、PA5が空いていることはソースコードを読んでわかったのでしょうか?すごいです!
あと、Keyingのチャタ防止&帯域拡大防止のステートマシンが素敵です!

なぜ窓関数なのか?って不思議でソースコードを眺めてました。
「単にキーON/OFFで 116384.f/0.fとしないで、オンする時、オフする時に64段階にキャリアを変える」という理解でOKでしょうか?これは思いつきませんでした。

これらの係数は、帯域を200Hzに抑えるiirフィルターを設計すると得られるのでしょうか?

いやいや、是非ソースコードを改修して試してみたいです!!


あと、
 送受信がおかしくなる(CODECから送受信データがでなくなる?)問題少しわかりました!
自分だけの問題か?若しくはSDR-3個体差があるかもしれません。

5Vの電源を振ってみたら、なんと約5.2V以上でPTT ON/OFFすると誤動作する現象が出ます。
→4.9V程度にしておけばPTT ON/OFFを繰り返しても問題なく送受信できました。
でも、デジタル系で5V電源を使っているのはLCD表示器くらいなので、何が原因かもう少し調べてみます。


●もし、送受信を繰り返しているうちに受信感度がゼロになったとか、SSB送信で変調が出なくなったとか、不具合が発生している方がいらっしゃいましたら、5V電源の電圧を下げてみてください。

//

Re: SDR3 でCW - 笛吹きおじさん

2018/09/30 (Sun) 21:58:23

電源ON時のLCD表示をmain20180812.hexと同じにして見ました。
HPFとLPFの中身は3Kになっています。ここはLPF,HPFの中身を代えても3Kのままです。
それぞれに関連する値を読み込むように適切にプログラムをいじくる必要があります。
またスペアナ画面のライトブルーの部分もCWL モードに一致していません。
これもしかるべき所を直さないと駄目ですね。

CWUを選択するとスペアナ画面右上のdBuの表示の動きが二桁(-12dBu)から一桁までかなり変動します。
その他のモードでは1~5dBu程度の変動です。

Re: SDR3 でCW - ji1udd

2018/10/01 (Mon) 06:51:41

今回の台風は、風が強かったですね。あまり良く寝れませんでした。

> あと、F2キーヤーというのがあるのですね!
Key操作でPTTが発生できれば良いのにと思ってました。
そうすれば、Key操作でセミブレークインでCWできますね!

はい、PTTとA1A Keyを使ってセミブレークインが実現できるハズです(F2 KeyerのAF出力はスピーカーにつなぐ)。
でもロマン的に iambicキーヤーを内蔵させたいですね。

> PA5が空いていることはソースコードを読んでわかったのでしょうか?

回路図を見て最初はUSBコネクタに接続されているPA9,10を使おうと思ったのですが、基板のパターンを見たらPA5とPA6もピンヘッダの並びに引き出されていたので、この先、ケースに入れた時の配線の取り回しを考えてPA5,6を候補としてあとはソースコードをひたすらサーチです。

チャタ防止ですが、実はメカ接点に対してはあまり役に立ちません。外付けキーヤーを接続したときに信号ラインに乗るノイズ除去に役立つかな?ぐらいとお考えください。というのは、2回一致処理してますがその間隔がすごく短いためです。


> 「単にキーON/OFFで 116384.f/0.fとしないで、オンする時、オフする時に64段階にキャリアを変える」という理解でOKでしょうか?

はい、そうなります。fs=12kHzの64サンプル分なので5.3msの時間をかけてRF信号(例えば7MHz)を立ち上げ/下げします。5.3msで十分なのかは、私も自信がないので使ってみてください(^^)

> これらの係数は、帯域を200Hzに抑えるiirフィルターを設計すると得られるのでしょうか?

"窓関数"をキーワードとしてググると wikiが見つかり、そこに色々な窓関数の式が載ってます。今回はハン窓(raised cosine)の式を使って、Excelで64サンプルで0から1になるように64個の値を計算して求めました。

窓関数を掛けないでCWキーイングするとRF信号(7MHzとか)に不連続が生じるので、例えばそれをそのままFFTすると本来の7MHz以外の余分な成分が大きくみえるので、それを抑制するためにあらかじめ送信する時に窓関数を掛けておいて送信すれば、受信側は特殊なことをしなくてもきれいな信号として受けとれるという私の理解です。

あと、やどさん、笛吹きおじさんからの他情報ですが、本日帰宅してからゆっくりと確認させていただきます。

SDR-3 Tx出力とXtal Filter調整について ji1udd

2018/09/17 (Mon) 11:24:02

はじめての投稿になります。
この週末にSDR-3を組み立て、動作確認をして楽しんでいます。
SDR-3は送受信共に動作しているのですが、組み立てマニュアルの3-8に書かれている7MHz 約1Vppの出力に少したりません。CN7の出力はオシロ測定で約800mVpp、中華製のパワーメータでは1.8dBmとなりました。TX GAINは デフォルトの0 設定のままとしています。
3-8のトラブルシューティングにしたがってオシロで各所の信号レベルを確認したところ IC2 6pinの入力レベルが32mVpp程度と少し低いのがまずは最初の原因のようです。Xtal Filterの特性が少し波を打っています(画像添付)。
#やどさんが測定されたXtal Filterの特性と似たようなカーブ感じになってます。
そこで、Xtal Filter の定数調整をしたいと思っています。しかし、調整できるC は 5つとは言え、闇雲に調整しても良い結果にはなかなかたどりつかないと思いますので、シミュレーションの仕方(今月号のトラ技にシミュレーション波形が載っていますがこのツールは何でしょうか?)、もしくは、調整ポイントをご指南をいただけないでしょうか?
よろしくお願いします。

Re: SDR-3 Tx出力とXtal Filter調整について ji1udd

2018/09/17 (Mon) 14:28:04

たびたび失礼します。

1) > 今月号のトラ技にシミュレーション波形が載っていますがこのツールは何でしょうか?
LTSpiceと書かれていました。失礼しました。LTSpiceのシミュレーション回路モデルは提供可能でしょうか?

2) 並列共振点を調べてみたところ、通過帯域の端から上に15kHz程のところにありました。通過帯域のリップル含めて、妥当な線でしょうか?

3) Xtal Filterのセンター周波数を合わせたところ、Single toneの出力レベルは、USBは改善されます(出力Up)がLSBはリップルの底に当たるためか改善されませんでした。

よろしくお願いします。

Re: SDR-3 Tx出力とXtal Filter調整について やどさん

2018/09/17 (Mon) 23:39:38

ji1uddさん、今晩は。

出力の件、気になって帰宅後見てみました。

こちらも大体同じでした。
CN7の出力で約0.83Vppでした。→計算上は、約2.3dBm(1.7mW)かな、、

ラダー型X'talフィルターのうねりも確かに気になりますね。トランス巻き直してみようかな。
あと、フィルターのC,2C容量値も18pF,39pFに変更になっているので、Cを変更すると変わるのかな?と漠然と思っています。

添付画像は、先ほどとった帯域近傍のスペクトルです。トラ技10月号の図3aの通りだなぁ、、
と確認しつつ、ちょっと+11kHz側のスプリアスレベルが悪い(バランスが悪い?)みたいです。


Re: SDR-3 Tx出力とXtal Filter調整について - Ojisankoubou

2018/09/18 (Tue) 11:00:32

LTspice では以下のパラメータでシミュレーションをしました。

L = 4.11mH
Cs = 0.00985pF
Cp = 3.84pF
Rs = 8.14Ω

実は量産直前に水晶振動子のサプライヤーが代わったのでこのパラメータは今使っている水晶とは合っていません。 詳細検討する時間がなかったので帯域だけ調整した定数になっています。 トランスの巻き数や巻き数比を変えるともっと良いところがあるかもしれません。

LSB 側がうねるのは C47 の影響が大きいです。 C47 でヌル点を +16kHz にして +12kHz での落ちを大きくしていますが +12kHz のキャリアリークが十分小さければ C47 を取ってしまえば改善されると思います。
また、C50、C51 を 47p~100p ぐらいにすると LSB 側が持ち上がります。

>やどさんへ
+11kHz がこんなに大きく出るのは初めて見ました。 +11kHz 側は DBM のバランスではなく単純な歪(第2高調波)だと思います。 オーディオコーデックの出力で歪んでいるような気がします。

出力レベルですが、テスト信号はデフォールトが -6dB になっているので最大出力は +6dB した値になります。 実際には何らかのパワーアンプを入れると思いますのでそれほど気にすることはないと思います。

測定値で変化がわかると面白いので、いろいろ測定できるといじりたくなってしまいますよね。 でもほどほどにしないといつまでたっても終わらなくなってしまいます。

Re: SDR-3 Tx出力とXtal Filter調整について ji1udd

2018/09/18 (Tue) 20:38:23

やどさん、Ojisankoubouさん、コメントありがとうございました。大変参考になります。

Xtal Filter のヌル点は+16kHzが狙い目との事なので私のSDR-3のフィルタ特性はほぼ狙い通りに出来上がっていると言えると思います。

また、Spiceのパラメータと調整ポイントについてご指南ありがとうございました。コメント読んでの思い付きとしては、C47の容量を減らして、その代わりに残り2つのXtalにも1pF程度のCを付けたらどうなるかなと思っています。週末あたりにSpiceで傾向をつかんでみたいと思います。

MMG3H21NT1のゲインについてもトラブルシューティングに記載されている値よりわずかですが低かったので昨日の投稿の後にチョークのFB1をBN43-2402を使ったものに置き換えてゲインが少し(1.4dBアップ)改善できました。Tx出力はLSBで3.2dBm、USBで4.4dBmとなりました。
テスト信号は-6dBということなので、これでほぼ10dBm達成といことでほぼ満足しています。

あと、やどさんの +11kHzのSpurが大きいのは Tx Gainが+10dBだからかと思います。Tx Gain +10dBと設定するとIMDも悪化していました。

私もAPB-3を所有しています#重宝しています(^^)。
Gain設定を変化させたときの測定結果を添付します。

Re: SDR-3 Tx出力とXtal Filter調整について やどさん

2018/09/19 (Wed) 23:26:58

今晩は、とても参考になりました!
Gain設定を変化させたときの測定結果もありがとうございます。

そうか、TxGain+10dBだとCODEC出力が歪み始めるのですね。
FCZのQRPメーターでも10mW超えしたので 安易に+10dB指定してしまいました。
そう云えば Gainを+10dBから+20dBにしても あまりメーターが上がらなかったです。

送信アンプには、中古のファイナルユニットを持っているので、これで試してみようと思います。
数mWあれば出力10W出ますので、Tx出力は今のままでも十分です。

でも、教えていただいたX'talフィルター部の容量値変更やトランス巻き直しはやってみたいと思います。
メガネコアも探したらストックがありましたし…

> ほどほどにしないといつまでたっても終わらなくなってしまいます

ホントそうですね(測定器があると弄るのが楽しかったりするのですが)
普段はコマーシャルでくたびれてしまって なかなか手が出ないのですが、休みに弄りだすと すぐ時間が経ってしまいますhi.

Re: SDR-3 Tx出力とXtal Filter調整について ji1udd

2018/09/20 (Thu) 06:54:53

Spiceシミュレーションをやってみました。

通過帯域の特性のうねりは、Xtal Filterの定数依存と思い込んでましたが、入出力のインピーダンスが低い方にずれた時(例えば50Ω)に私のSDR-3のXtalFilter特性と大変良く似た特性となりました。
#これが400Ωぐらいだと通過帯域はフラットでした。

「トランスの巻き数や巻き数比を変えるともっと良いところがあるかもしれません。」のお言葉をようやく理解できました。

T1,T2の中点が使われていない側の巻き数を増やせば良くなるかも知れないなぁと考えてますが、巻き直しは手間なのでどうしようかなと悩みます(^^)

的外れだったときにまた巻きなおさないといけないですし...
ほどほどは必要ですね。

Re: SDR-3 Tx出力とXtal Filter調整について ji1udd

2018/09/23 (Sun) 10:06:56

T1のXF側の巻き数を少し増やしたら、LSB側とUSB側のバランスが少し良くなりました。私は、最終的に8T (BF 4T)としました。差はわずか(~1dB)なのでオリジナルのままでも十分だと思います。
どなたかの参考になればと思い実験結果を添付いたします。

Re: SDR-3 Tx出力とXtal Filter調整について やどさん

2018/09/23 (Sun) 12:47:27

こんにちは!

LTSpice試してみました!
こんな感じかな?

C47を取ったら、Spiceも実機も同じようなフィルター特性を示しました(通過帯域が広がり、一つ目のヌル点の周波数が上がる)すごいですね!

で、通過帯域LSB側(周波数高い側)の凹みですが、確かにインピーダンスを200Ω位にしたらフラットになりました!

ちなみに、C50,51を入れると何故か通過帯域のリップルが暴れてしまい、外しました。

ji1uddさんの実験データを参考に試行させていただきます!素晴らしい!

Re: SDR-3 Tx出力とXtal Filter調整について ji1udd

2018/09/27 (Thu) 21:17:59

やどさん、こんばんは。

Xtal のマクロを作られたのですね。(私はベタで素子を並べました)

各Xtalに小容量を付けてみる案は、シミュレーションしてみたら通過帯域のロスが大きくなったので結局実験しませんでした。

では、また。

Re: SDR-3 Tx出力とXtal Filter調整について やどさん

2018/09/29 (Sat) 13:07:57

ji1udd さん、こんにちは!

>Xtal のマクロ
ググったら、LTSpiceのライブラリMiscの中に'xtal'があると書いてあったので、これを使いました。

実はC47を外した時にチップコンデンサをハジキ飛ばしてしまい、行方不明!!
今はリードの3pFを付けてます。

写真はC47=2pFで T1,T2は3T(BF):8Tですが、通過帯域のロスがセンターで-8.3dBとちょっと悪化、帯域も6kHzと少し狭くなってしまいまだ試行中です。
凹みはなくなりましたが、センターで凸な感じも…
あと、巻き数を変更し易いようにピンヘッダーを付けて試行してます。

Re: SDR-3 Tx出力とXtal Filter調整について - ji1udd

2018/09/29 (Sat) 15:18:59

やどさんへ

> 実はC47を外した時にチップコンデンサをハジキ飛ばしてしまい、行方不明!!

それは難儀ですね。私も時々同じように行方不明にしますけど(^^;)

> T1,T2は3T(BF):8Tですが、
私の実験では、T2は XF側の巻き数を1Tでも増やすと特性が大きく悪化しました(出力低下)。なので私はT2はオリジナルのままです。逆に減らしてみるとどうなるのかは興味ありますが、T1をいじって特性的に満足したので試していません。

以上、ご参考まで。

PS. ソフトウェアのCWモード追加の方は、これから試させていただきます。

SDR3用テストベンチ - 笛吹きおじさん

2018/09/23 (Sun) 19:36:04

皆さま、ご機嫌いかがですか?
SDR3基板のまま宙ぶらりんでは、具合が悪いのでテストベンチ?を作りました。
と云っても木材を使ったいい加減なものです。
笛吹きおじさん、実はもうおじいさんなのです。
金属ケースに穴あけやヤスリ掛けは力仕事でもう出来ません。
その内、ダンボールでなんて成るかも知れませんね。
歳はとりたくないものです。

皆さんはSDR3をどんな風にまとめますか?これ、意外と難しいと思います。

Re: SDR3用テストベンチ ji1udd

2018/09/24 (Mon) 17:57:06

笛吹きおじさんへ

素敵なテストベンチですね。
私はまだ宙ぶらりんのままです。

> 皆さんはSDR3をどんな風にまとめますか?
> これ、意外と難しいと思います。

基板配置は、笛吹きおじさんのテストベンチと同じ配置にして、RF基板の上方に 7.2Vのリチウムイオンバッテリと 7.2Vで動作するリニアアンプ(1-2W)を置くことを考えています。
問題はパネル面ですよね? LCDパネルとロータリーエンコーダ/タクトスイッチに高低差があるので、メカ的な延長をしないと面一が合いません。
3Dプリンタとかでサクっと作れる方がうらやましくなりますね。

Re: SDR3用テストベンチ - 笛吹きおじさん

2018/09/24 (Mon) 19:52:15

ji1uddさん、今晩は。
これからケースをお作りになるのですね。格好のいいものを作ってください。

私も最初、タクトSW、ロータリーエンコーダーを基板につけずに、適当なパネルにつけようかと考えたのですが、それだと何時出来上がるか分りませんので、基板に直付けにしてしまいました。
アナログ基板SDR3AもSDR3Dと同じ大きさの方がいいのではないかと、そうすれば、スペーサーで重ねることが出来ます。
デジタル基板のノイズが気になるのであれば、間にシールド板を入れればいいかと思います。

部品の高低差をうまくカバーできればいいですね。
でも、工夫次第です。
出来たらお披露目下さい。

Re: SDR3用テストベンチ - 笛吹きおじさん

2018/09/25 (Tue) 22:31:18

今晩は。
最終的?にこんな風にまとめました。
格好は良くないです。

問題解決! JA3VQW

2018/09/21 (Fri) 13:37:39

何度もT1、T2を巻き直したりしても、どうしてもうまく動作しなかったのですが、ファームの書き換え時に「Global Erase」を選択したら、うまく動作するようになりました。
お騒がせいたしました。

SDR-3 ソフトウェア開発環境について ji1udd

2018/09/18 (Tue) 21:13:03

SDR-3は小型/エコにできていて大変すばらしいと思います。これに似合うリニアアンプは、やはり小型なものと思いますし、そうするとQRPなリグになります。QRPだとCWモードが欲しくなります。
そこで、まずはソフトの開発環境を整えたいと思っています。
ネット上の情報からすると SW4STM32 が環境整備的にお手軽そうなのですが、Ojisankoubouさんはどのような開発環境をお使いでしょうか?
第1歩としては、ご提供のソースをそのままコンパイルしてみたいと思います。第2歩としてはフィルタのバリエーションの一部をCW用に置き換えるくらいまではやってみたいと思います。

よろしくお願いします。

Re: SDR-3 ソフトウェア開発環境について - Ojisankoubou

2018/09/19 (Wed) 09:28:17

最近までは CodeSourcery の gcc toolchain を使っていたのですが、提供されなくなったようなので、今は arm が提供している gcc 7 を使っています。 ただし arm の gcc toolchain には make が含まれていないので別途入手する必要があります。 

gcc をインストールしたら ARM-GCC用DOS窓utf-8.bat の2行目をインストールした gcc の path に修正します。

また、DVD のソースコードの zip では bin フォルダーが削除されてしまっているので bin フォルダーを追加してください。

あとは上記 ARM-GCC用DOS窓utf-8.bat を実行して DOS窓から make すれば bin フォルダーに main.hex ができるはずです。


・gcc の入手

  https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

  Windows ZIP ボタンから、
  gcc-arm-none-eabi-7-2018-q2-update-win32.zip をダウンロード。


・gnumake の入手

  http://gnuwin32.sourceforge.net/packages/make.htm

  Binaries から make-3.81-bin.zip、
  Dependencies から make-3.81-dep.zip をダウンロード。

Re: SDR-3 ソフトウェア開発環境について ji1udd

2018/09/19 (Wed) 21:42:03

ソフトウェア開発環境の立ち上げ手順を教えて頂きありがとうございました。教えて頂いた手順通り進めて無事 main.hex を作ることができました(^^)

次ぎのStepですが、iir_lpf_coeff.cを拝見して、scipy.signalで所望のカットオフ周波数(例えば800Hz)の6次 IIR LPFを2次 3段に分解した形の係数を求めて、係数の配列に組み込めば(たとえば5kの係数と差し替えれば)良いだろうと思っています。

そこで質問なのですが、scipy.signalで求めた係数をどういう順番で係数配列に組み込めば良いか教えていただけないでしょうか?

iir.c 中のコメントの a1,a2,b0,b1,b2,Z-2,Z-1というのが何を指しているのか理解できないでいます。

不勉強ですいませんが、よろしくお願いします。

Re: SDR-3 ソフトウェア開発環境について - 笛吹きおじさん

2018/09/19 (Wed) 22:25:22

今晩は。
gccとgnumakeを入手してmakeして見ました。binフォルダーにmain.hexが出来ました。
私が出来るのはここまでです。
「取り合えずmakeが出来ました」の報告です。

Re: SDR-3 ソフトウェア開発環境について ji1udd

2018/09/20 (Thu) 06:39:50

Ojisankoubouさんへ

> a1,a2,b0,b1,b2,Z-2,Z-1というのが何を指しているのか理解できないでいます。

トラ技術の先月号を見直したら、書いてありました(再び、よく読まずに質問してすいません)
係数の配列にはこの順番に入れればよいのですね。

ごく最近、Interface 2016/10月号の高橋氏の記事を読んでJupyter Notebook を導入しました。

演算が飽和しないようにIIR 3段のフィルタの順を決めたり、kの値を各段に分配したりというところは、経験値ゼロなのでこれから学ぶということになりますが、もし可能でしたら、お手本として IIR LPFの計算例を頂けるとありがたいです。

笛吹きおじさんへ

> 私が出来るのはここまでです。
でも、ビルド環境を構築したいうことは 何かやりたいことがあるのかな と推察します。なんでしょう? (^^)

よろしくお願いします。

Re: SDR-3 ソフトウェア開発環境について - 笛吹きおじさん

2018/09/20 (Thu) 09:14:29

ji1udd様
お早う御座います。

>何かやりたいことがあるのかな と推察します。
具体的に考えている訳ではありません、m(_ _)m
と云うのは、プログラムは全くの素人で、今回の様な複雑な機能を持ったものは、さらに敷居が高いです。
でも、開発環境を作りmakeができれば、今後、何かの役に立つかな、そんな単純な発想です。
例えば、ji1udd様が、プログラム変更をアップしていただければ、それをやってみることが出来ます。
他力本願ですが。(スミマセン)
Ojisankoubouさまの過去の作品はAVRが使われていましたので、部分的な変更やプログラムを作る時に参考にさせて頂きました。
挑戦できそうなことが見つかったらやってみようかと考えています。

Re: SDR-3 ソフトウェア開発環境について - ji1udd

2018/09/20 (Thu) 22:11:46

笛吹きおじさんへ

無粋な質問で失礼しました。
やりたいことが同じだと良いなと思い質問してしまいました。#旅は道連れ的な...

私も大したことはできないですが何かできた時にはシェアさせて頂きます。

では、また。

SDR-3 - 笛吹きおじさん

2018/09/13 (Thu) 20:08:48

今晩は。
SDR-3Dの組み立ては直ぐに出来ますので、取り合えず、プログラムを書き込んで見ました。
問題なく書込みが出来ました。手持ちのUSB-シリアル変換ボード(CH430使用)を使いました。
最初USBポート番号がCOM1しか出てこず、Resetを何回か押しましたが、その後、COM29が出て認識されたようです。
マニュアルにある様にTeratermにMSGが出ています。

実際に使う場合は、アナログ式の5V電源が必要ですね。スイッチングではノイズを撒き散らしNGです。

Re: SDR-3 - 笛吹きおじさん

2018/09/15 (Sat) 18:37:15

今晩は。
一通り(全部ではありませんが)機能をチェックしてみました。
操作マニュアルP16、3-4トランシーバー送信テスト信号で、1、2、3の順番でLCDに表示される波形は正常です。
SW4を4回押すとテスト信号OFFにすると添付の様な波形が出ます。(バースト時の歯抜けの様な波形)この時、送信出力(CN1)は何か波形が出ています。
本来は、マイクなしの波形と同じになるのではないかと推測してます。
もう1回押すとマイクなしの波形になります。

ゴミが残っているのかな?(分りませんが)

他の方のレポートがないので、私のSDR3固有の現象かも知れません。

初心者おじさん様、ご無沙汰して居ります。
最近はハンダ鏝も熱くなりません。
APB1はチップ部品のハンダ付けが有りましたが、今回は実装すみですので、組み立ては楽でした。

何れにしろ、私のマンションは電界強度が悪くTBSラジオ(954KHz)もノイズで簡単なワイヤーアンテナでは全く聞こえます。
身の回りはノイズを出すものばかりです。


Re: SDR-3 やどさん

2018/09/15 (Sat) 23:44:24

笛吹おじさん、今晩は。

>SW4を4回押すと…添付の様な波形が

こちらでも同じようなスペクトル波形でした。
実行ファイルはmain20180812.hexでしょうか。

main20180812.hexだと、
“送信テスト信号に一様スペクトラム信号を追加”
と変更点にありましたので、正しくバースト出力なのだと思います。
LSBモードで受信してみると "ブーン"という変調音でした。
面白い!



Re: SDR-3 - 笛吹きおじさん

2018/09/16 (Sun) 06:48:05

やどさん、お早う御座います。
>実行ファイルはmain20180812.hexでしょうか。
はい、その通りです。

やはり同じような現象が出た様ですね。
私は、受信機でモニターはしていませんので、どんな音が出ているのかは、分りません。
バースト信号を追加した時のバグかと推測してます。

Re: SDR-3 - Ojisankoubou

2018/09/18 (Tue) 11:05:23

トーンバーストの次に一様スペクトラム信号がでるのは 20180812 での仕様です。

一様スペクトラム信号は 48k 512点FFT での bin、すなわち 93.75Hz とその整数倍の周波数がすべて含まれた信号です。 送信時の信号処理途中の特性を見る時に周波数特性がわかるように追加しました。 

ただし、この信号を 12kサンプル(たとえば送信ループバック受信画面など)でみると 4bin に1本の歯抜けスペクトラムになります。

Re: SDR-3 - 笛吹きおじさん

2018/09/18 (Tue) 13:42:31

Ojisankoubou様
お世話になります。
プログラム(20180812)の仕様とのこと了解でございます。
ご回答有難う御座いました。

SDR-3 書き込みできません - suzukimasaya

2018/09/16 (Sun) 09:59:31

いきなり躓きました。'NO responce...'メッセージが出て
書き込めません。XP、10のマシンで試しても結果は同じです。
USBシリアル変換モジュールのTeraTermでのループバックはできていますので、変換モジュールは動作していると思うのですが。
レギュレータの出力電圧はOK、LEDLは点灯しています。

Re: SDR-3 書き込みできません - やどさん

2018/09/16 (Sun) 14:26:18

こんにちは。

自分も初め勝手が分からなくて、'NO responce…'や'Unrecognized…'が出ました。
RX,TXの接続は合っていますでしょうか。

USBシリアル変換モジュールのCOM番号とボーレートを設定

・STM32F4マイコンVDD/VSSに3.3Vが印加されている事を確認
・SDR-3Dボードの'GND,TX,RX'ピンを、USBシリアル変換モジュールの'GND,RX,TX'の順につなぐ(導通してることも)
・STM32F4マイコンのリセットSW9を離してからブートSW10を離してブートモードに入れる
で書き込めました。

オシロがあれば、CN3の3ピンRX、USBシリアル変換モジュールのRXにシリアル波形が出ているかチェックもできますが、、

それでもダメなら
・STM32F4マイコンが16MHzで発振しているか?(16MHzが受信できるラジオがあるとアンテナをX1に近づければ分かります)
・CN3の2ピンTXと STM32F4マイコンのUSERT1_TXピンが470Ωで導通しているか?
・CN3の3ピンRXと STM32F4マイコンのUSERT1_RXピンが470Ωで導通しているか?
・STM32F4マイコンのNRSTピンがSW9押してLになるか?
・STM32F4マイコンのBOOT0ピンがSW10を押してHになるか?
・STM32F4マイコンのBOOT1ピンがLレベルか?

ここまで確認すれば 何がNGか切り分けできると思います。

Re: SDR-3 書き込みできません ji1udd

2018/09/17 (Mon) 11:41:56

自分は、組み立てマニュアルの通りで何も問題ありませんでした。ただし、先に13ページのトラブルシューティングを読んでいたので最初から ボーレイトを 57600 に設定して書き込みを行いました。

やどさんがコメントされているようにオシロでTxD/RxDラインを確認されるのが良いと思います。

#私の場合、変換モジュールのRxD/TxDという端子名が変換モジュールから見てなのか、接続相手から見てなのか、わからなくなることがよくあり(たまにしか使わないツールなので)、回路図をチェックして確かめたりしています。

SDR-3 エンコーダーボリュームについて - bontoro

2018/09/16 (Sun) 02:30:53

SDR-3が3日前に到着しまして早速遊んでおります。
昨日問題なく組みあがって動作を見ているのですが、
周波数選択のエンコーダーノブを右に回すと周波数が下がります。
音量設定のエンコーダーノブも右に回すと数値が下がります。
メニュー項目選択時もノブを右に回すと選択する項目数字が下がります。
これは仕様なのでしょうか?
教えていただけると嬉しいです。
よろしくお願いします。

Re: SDR-3 エンコーダーボリュームについて - bontoro

2018/09/16 (Sun) 02:50:44

すみません
下記書き込みを見てファームがアップされているのに気が付きました。
main20180812.hexだと問い合わせの動作が思ったものになっていました。
お世話をおかけしてすみません。
これからもよろしくお願いします。

SDR-3 SSB トランシーバーキット - Ojisankoubou

2018/09/10 (Mon) 17:10:18

お待たせしました。
量産が遅れていましたが、9月12日発送開始したとのことです。

早くに予約された方には早ければ今週末にお手元に届くかと思います。

皆さんのところでうまく動けばよいのですが...

キットの部品のピンヘッダーとピンソケットですが、マニュアルとは異なり必要ピン数のものに変更になっています。 マニュアルでは長いものを分割するようになっていますが、そのまま使います。

Re: SDR-3 SSB トランシーバーキット - 笛吹きおじさん

2018/09/13 (Thu) 17:33:53

御無沙汰です。本日、キットが届きました。

>キットの部品のピンヘッダーとピンソケットですが、マニュアルとは異なり必要ピン数のものに変更になっています。 マニュアルでは長いものを分割するようになっていますが、そのまま使います。

既に分割したものが入っていますね。
暫く楽しめそうです。

Re: SDR-3 SSB トランシーバーキット - 初心者おじさん

2018/09/13 (Thu) 21:55:54

大変ご無沙汰しております。
当方にも本日届きました。
単身赴任中で組み立ての環境がないため、部品のチェックだけ行いました。組み立てるのが楽しみです。
個人的にはAPB-1のようにチップ部品の半田付けも楽しみたかったですが、組み立てミスで動かない可能性を考えると、これはこれでいいのかもしれません。

>笛吹おじさん様
ご無沙汰しております。さすが仕事がお早いですね。

Re: SDR-3 SSB トランシーバーキット やどさん

2018/09/15 (Sat) 19:16:34

こんにちは。

こちらも届きまして、今日作っていました!

短波放送を受信しながら一服してますが、、
BPFやX'talフィルター特性も観測できるなんて素敵すぎます!!
TwoTone出力機能もあるし、SW1のメニュー機能が豊富でいろいろ試したくなります。

送信方式(PHAS,WEAV,4TH)の違いもスペクトルで観たいし、
送信スペクトルもAPB-3で違いがあるのか?比較してみたいし、
Win10/WSL環境でコンパイルできるようにもしたいし、、

何はともあれ SDR-3いじって頑張って勉強します。

SDR-3 セミナー - Ojisankoubou

2018/08/26 (Sun) 14:46:26

SDR-3 キットの組み立てと説明のセミナーをすることになりました。
10月16日の1日コース(10:00-17:00)です。

https://seminar.cqpub.co.jp/ccm/ES18-0106

内容はほぼトラ技9月号、10月号の記事になります。 記事を読んでも良く理解できなかった方向けです。

最初に SDR-3 キットを組み立てたあと、SDR-3 のハードウェア、ソフトウェアについて説明します。 SDR のソフトウェアは本を読んだけでは理解するのが難しいのですが、組み立てた SDR-3 キットを使ってご自分の手で実際の信号を見ながらソフトウェアの説明しますので、どなたでも理解できるようになります。

すでにキットを購入した方は、キット代金分の割引があると聞いていますので問い合わせしてみてください。

SDR-3 - masuda

2018/08/26 (Sun) 11:05:12

はじめまして。ハムフェアー2018 CQコーナーでSDR-3見ました。今までにない低価格でびっくりです。
それにしても、JAIA ICOMさんの講演ではSDRについてはさっぱりわかりませんでした。
来年は、おじさん工房が解説すれば?と思いました。

Re: SDR-3 - Ojisankoubou

2018/08/26 (Sun) 14:38:28

25日にCQ出版のブースでちょっとだけ説明員をしてきました。
ICOM の方の SDR の講演も聞きました。 立ち見の人も多く、SDR への関心の高さを感じました。
SDR-3 は低価格なので是非いじりたおして SDR への理解を深めていただきたいと思っています。


Copyright © 1999- FC2, inc All Rights Reserved.