![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
2種類の信号時間差(伝播差)を測定する実験機を作成予定なのですが、
その伝播差が数十nsec~10μsec程度のため、どのようにこの伝播差を
計測したらよいか考えています。
当初はPIC、20MHzでTimer割り込みで、随時2種類の信号変化をみようと思
っていたのですが、その場合割り込み間隔が一番小さくても数μsec程度と
なりそうで、μsecオーダー間隔だと、数十nsecオーダーの伝播差は計測で
できそうにないので、別の方法を検討しています。
(クロックの最大はPICデータシート上20MHzと記載があったので、それ以上
クロック周波数をあげるのは難しいそうです。)
nsecオーダーの時間計測などを行う場合、どのような方法をとるのでしょうか?
そのような専用IC、そのような測定の際の回路設計が必要??
ご存じでしたら、教えて頂ければ幸いです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
#1です。
1MHzの単一周波数ですか?、それなら4MHzでサンプリングして直交検波、
またはヒルベルト変換かな。
ドップラーですか・・・、かなり平滑化しないと精度が出ないでしょうね。
S/Nかなり悪くなるけど800kHzでサンプリングして直交検波でもできないことはない。
ちなみにサンプリングは水晶発信器の精度(ppm)が必要です。
マイコンでやる場合1ステップたりとも狂ってはいけません。
OS使うのなら、リアルタイムOSです。
まあ普通はマイコンの前にFPGAでも付けるんだけどね。
あとはアナログのバンドパスフィルタかな・・・
アナログアンプでついでに帯域制限できれば楽だけど。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?5a7ff87)
No.2
- 回答日時:
nsec オーダーで測定する「だけ」なら、迷わずオシロスコープとか、ロジックアナライザを買ってきましょう。
(いや、ちゃかしているわけではありません)
そもそも、タイマ割り込みで都度信号を見るというのも「遅くても許される場合」の処理です。
マイコンのハードウエア機能で、「インプットキャプチャ」など、信号変化の発生時点でカウント値を保持する機能などありますから(ものにより)そういう機能であれば、検討の余地もあります(かなりむつかしいけど)
No.1
- 回答日時:
あまりプログラミングと関係ない質問ですね・・・。
信号がどんな物かによって当然回路は変わります。
とりあえず信号帯域幅は?
信号の最大周波数は?
帯域幅によって必要な物が大きく異なります。
サンプリングの定理って知っていますか?
例えば1MHzでAD変換する場合は、
500kHz以下の信号しかまともに見れません。
ただし、信号帯域が十分狭い場合には、
空いている帯域に信号を周波数シフトすることで、
500kHz以上の信号も見れます。
このような技術は無線信号処理でよく使われます。
中間周波数 無線とかで検索してみてください。
500kHz以下の信号の場合、雑音が小さければ、この技術は必要はありません。
信号帯域が十分狭い場合、伝播差を見るのは直交検波するのが最も簡単です。
例えば、信号が250MHzのsin波(帯域幅がほぼ0)でこれを1MHzでAD変換した場合には、
それにsin[0,1,0,-1...]とcos[1,0,-1,0,...]を乗算するだけで、信号の位相が見えます。
次に信号の帯域幅が広い場合、
この場合1MHzでAD変換で、500kHz以上の信号を見る方法はありません。
500kHz以下の信号の場合、伝播差を見るのは
片方の信号を目標値として、もう片方の信号に対して適応フィルタを適用するのが最も実用的だと思います。
さらに学習されたフィルタ係数にFFTを適用すれば、位相差が見えます。
FFTは重たいので1秒に1回とかで十分だと思います。
適応フィルタはLMSアルゴリズムが実装が簡単です。
回路は、雑音を考慮しなければ、
250kHz以下の信号の場合、ADが2個付いたマイコンだけでできます。
500kHz以下の信号の場合、・・・なにか必要かも。
この回答への補足
回答ありがとうございます。
直接プログラムとは関係ないですね、すみません。
物理学にもかかわると思いましたので、先ほど物理学のところにも、
質問しましたが、伝播差の計測は超音波流量計の超音波素子の伝播
時間の計測です。超音波素子は1MHz程度です。
伝播差が流速に比例するので、この時間差を計測すると思うのですが、
その時間がnsec~μsecオーダー変化となります。
タイムインターバルカウンタのような機器がちかいと思います。
実際の超音波流量計は、大きくても20×20cm程度の基板がのって
いる程度なので、その基板上で処理していると思うのですが、
どのような回路、プログラムかが非常に気になります。
受信→増幅まではわかるのですが、それ以降が今一、わかっていません。
もしご存じなことありましたら、おしえてください。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(自然科学) この2つはどこが間違いでしょうか? 2. 植物の葉に含まれるクロロフィルは可視赤色域の波長帯を強く吸 2 2022/05/17 16:55
- 中途・キャリア さて、社会人になってから13年目。 今まで、機械設計、機械製品の品質管理、部門の経営企画をやってきま 4 2023/07/17 08:59
- その他(自然科学) 風車音の測定 3 2023/04/28 07:12
- 工学 変圧器の短絡試験を行ったのですが、誤ってインピーダンス電圧を測定し忘れ、その他諸々の計算値が出せない 6 2022/07/03 01:11
- 物理学 ヒストグラムについて、100本のシャフトの内径を測定単位0.01mmで測定したところ最大値は9.89 1 2022/11/29 22:46
- その他(開発・運用・管理) おんどとりWebStorage APIから温度情報を取得し表示したい 2 2023/08/03 09:53
- その他(形式科学) すみません。急いでます。理解できたらすぐにBA付けます! ヒストグラムについて、100本のシャフトの 3 2022/11/29 22:58
- 環境学・エコロジー ばい煙測定における試料採取回数について 1 2023/02/02 16:25
- 電気・ガス・水道 冷凍庫の電気代の計算のしかた 4 2023/08/07 08:07
- 統計学 2019年度の毎日朝6時に測定された東京都霞が関における窒素酸化物(Nox)濃度のモニタリングデータ 4 2023/04/24 16:45
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
arduinoで複数のサーボを動かし...
-
EnumとType
-
USBからの電源供給をコントロー...
-
<単安定マルチバイブレータ> 単...
-
PCのUSBバスパワーの制御
-
シーケンスのプログラムについ...
-
Picマイコンについて質問します...
-
AVRでサーボモータの制御プログ...
-
PIC制御で出力ピンの名前に変数...
-
フィードバック制御とフィード...
-
制御系のプログラマについて
-
Visual BasicでGP-IBの通信を制...
-
H8マイコンの端子の数字の端子...
-
C言語を用いた組込みシステム学...
-
ディスプレイ上で起こる2重表...
-
目を左右別々に動かす
-
ゲーミングPCでの質問です ゲー...
-
テレビから”キーン”と耳鳴りの...
-
Cpkのk(偏り)値をExcelで出す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PLC間の信号のやりとりについて...
-
Picマイコンについて質問します...
-
シーケンスのプログラムについ...
-
USBからの電源供給をコントロー...
-
<単安定マルチバイブレータ> 単...
-
家電のcpu
-
VBでUSBポートからの入力を制御...
-
C++でLEDを点灯させるプログラム
-
arduinoで複数のサーボを動かし...
-
マイコンボード上のポートと端...
-
PCのUSBバスパワーの制御
-
デジタル時計(アラーム付)を...
-
EnumとType
-
AVRマイコンの未使用ピンの処理...
-
フィードバック制御とフィード...
-
コンピューターでラジコン操作?
-
H8マイコンの端子の数字の端子...
-
ATTINY13のリセット端子は無効...
-
picとfpga。
-
三菱シーケンサのプログラムの...
おすすめ情報