2024年4月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
無料ブログはココログ

« 2023年9月 | トップページ | 2023年11月 »

2023年10月の4件の投稿

2023年10月22日 (日)

DSO154Proを使ったケーブル長簡易測定

DSO154Pro記事の目次

DSO154Proは、40MS/sサンプリング、最小時間レンジが50ns/divなので、割と短時間の現象の観測が可能です。
簡易ながら信号発生器が付いていますし、信号発生器出力の遷移時間もそこそこ早そうです。

DSO154Proだけで簡単にできる利用法を考えていて、先ず思いついたのがケーブル長測定器()です。
TDR測定法(*1)でケーブル遠端からの反射波の戻りを観測する事で、ケーブルの長さの目安を知る方法です。

そもそもサンプリング周期25ns毎のデータ取り込みですし、目視で反射波の戻りで生じる波形の変化点を見つけるやり方なので、精度は出せそうにありませんがやってみました。

長さの分解能は12.5ns(電気信号の往復伝搬時間を25nsサンプリングで測るのでその半分が伝搬時間)の制約のため、数mより細かくはなりませんが、そんな程度で良ければ使えそうな事が分かりました。
実際の測定から、ケーブルの伝搬速度比(対光速度)の設定が肝になりそうな事も分かりました。

 
手持ちのケーブルでテスト測定

今回、物置に長さ6.8mの75Ω同軸ケーブルがあったので、実際に測定してみました。
電話線や電源コード等多数ありましたが、一番長いのが同軸ケーブルでした。

単純計算ですが、30cm/nsの伝搬速度とすれば、6.8mでは信号伝搬時間23ns、往復では46nsです。
実際には光速度よりも遅くなるはずなので、測定結果から6.8mでの伝搬速度の算出が必要となるでしょう。
観測波形を実際に見てから、ケーブル長測定器として使いものになりそうかの検討をしてみます。

測定に使った同軸ケーブルです。長さを測ったら6.8mありました。
Img_9766

TVアンテナ用の同軸ケーブル インピーダンス75Ωですね。
Photo_20231024072101

先に、プローブだけの波形です。
ミノムシタイプの1:1プローブです。10%-90%の遷移時間は30ns程度に見えます。
サンプリング周期25nsでのサンプリングデータからsinc補完した波形なので、精度は低いです。
このプローブの周波数帯域は余り良くなさそうですが、そんなに鈍った波形には見えていません。
Img_9762

P6100型の10:1プローブです。10%-90%の遷移時間は30ns程度に見えます。
こちらの方が、上記よりも帯域・寄生容量・インピーダンスも良いはずなので、こちらで測定する事にします。
Img_9764

6.8mの同軸ケーブルを信号発生器の出力に接続し、接続点の信号を観測しました。ケーブルの遠端は解放しています。
DSO154Proは1chしかないので、信号が往復して反射波が戻るのを近端で観測する事にしました。
Img_9768

上記の画面の拡大です。
Img_9769

ぱっと見では、より鈍った波形に見えますが、実は3段程の階段波形となります。
なぜなら、信号発生器出力の立ち上がり開始時点では、ケーブルのインピーダンス75Ωが見えてくるので、信号発生器の出力インピーダンス150Ωと直列に75Ωが入る回路となるため、信号発生器内部振幅3Vとの分圧が起こり1V(=3V・75Ω / (150Ω+75Ω))振幅を最大値に信号を送り出します。その後、遠端が解放なので全反射の反射波が近端に戻り、振幅を2Vにし、更に2往復目以降の反射波の戻りで、やっと3Vに到達する振幅となるので、結果的に鈍って見えます。
反射波の戻りで上昇に転ずるので、波形には2回程の段まで良く見えています。(シミュレーションで波形を再現し確認します。)

信号の送り始めから、1回目の段が変化し始める反射波の戻り時点まで、エイヤですが50ns程度に見えます。
最初に目安にしていた光速度と同じ伝搬速度で計算しした往復時間46nsに近いのですが、良く考えるとたまたまそうなっただけに思えます。

25nsのサンプリング周期2回分、ここはサンプリング周期毎にしかデータが取得出来ないので、25ns毎の飛び飛びの値しか測定できない訳で、計算の精度は低いです。

今度はケーブルの遠端をショートしてみました。ケーブルの先端でミノムシクリップでショートしているのが見えます。
Img_9770

上記の画面の拡大です。遠端がショートなので、反射波が戻ると振幅はゼロに向かって低下します。
Img_9771

波形の立ち上がり始めから、下がり始めまでの時間はこちらも50ns程度に見えますが、サンプリング周期の整数倍でしかならないので精度は低いです。

ここで少し技を使ってみます。
Persist設定を1sにして、遠端のミノムシクリップを手で動かし、ショートとオープンを繰り返しました。
綺麗に波形が分かれてくれ、波形の立ち上がり開始点から波形の分かれ点までこちらも50ns。
この波形なら信号がきちんと反射して戻ってきてくれた事も分かるので、往復時間の判別がし易いです。
Img_9778_20231023114401

注意:50nsは丁度サンプリング周期2回分、結局の所25nsのサンプリング周期毎の瞬間でしか入力信号を取り込まないので、実際は26nsで反射波の戻りがきているのに50nsサンプリングで取り込んだのかも知れません。

反射波の戻りは信号の往復時間なので、一方通行の信号伝搬時間では12.5nsが時間分解能の限界となります。
でも、これって5000円強(P6100プローブ・電池無しなら約4000円)のコストを考えると、DSO154Proの高性能さの証しに思えます(*)
(*)廉価製品での比較ですが、約3000円のDSO138は1MS/s、約4500円のFNIRSI-DSO152は2.5MS/s、40MS/sに比べたらかなり劣りますし、上を見たらきりがないし。

また信号発生器からの信号遷移開始時刻も、反射波が戻ってくる時刻も、オシロスコープ側のサンプリングのタイミングとは非同期でしょうから、±25ns程度の分解能誤差があると考えるべきと思われます。

今回の6.8mの同軸ケーブルの反射波の戻り時間の測定結果から、ケーブル長を計算してみると、
光速と同じとすれば、 50ns/2 × 1.00 × 2.997925E8 = 7.49m
光速の65%とすれば、50ns/2 × 0.65 × 2.997925E8 = 4.87m
光速の91%なら、      50ns/2 × 0.91 × 2.997925E8 = 6.82m
伝搬速度をどうするかで、結果は結構変わってしまいます。

実際には50ns±25nsの分解能誤差を含むと考えるべきで、
光速と同じとすれば、 (50ns±25ns / 2) × 1.00 × 2.997925E8 = 7.49m±3.74m
光速の65%とすれば、(50ns±25ns / 2) × 0.65 × 2.997925E8 = 4.87m±2.43m
光速の91%なら、      (50ns±25ns / 2) × 0.91 × 2.997925E8 = 6.82m±3.41m
25nsのサンプリング周期では、数10mとかの長さがないと、分解能誤差が大きくて精度が出せないようです。

要注意ですね。

 
シミュレーションによる反射波の戻り波形の確認

CSAで信号発生器出力(インダクタンスの右側)を観測点にして、シミュレーションしてみました。
インダクタンス4uHは方形波出力の遷移時間を20ns程度(τ=L/Rを利用)に鈍らせるために入れました。
上が3V振幅中が75Ω23nsの伝送線路の遠端解放:緑線下が75Ω23nsの伝送線路の遠端短絡:赤線
遠端のショートと解放の両方の回路の結果なので、DSO154ProでPersist=1sにして見えた波形の分かれる点が、反射波が戻ってきた時で、往復時間46nsになっているので、実測された波形がCSAでも再現出来ているのが良く分かります。
Photo_20231022135101

伝送線路長を2倍長くした時のCSA結果です。反射波が戻るのに2倍かかるので平坦な時間帯が延びます。
遠端のショートと解放をPersist=1sにして両方観測すれば、波形が分かれる点が反射波が返った時刻なので、ケーブル長が長い程測定し易くなると思われます。
Photo_20231022135601

ステップ入力の遷移時間が急峻な場合の波形も上記との比較の意味で見てみます。
Photo_20231022200701

信号発生器の信号の遷移時間が早ければ波形の傾きは急峻で変化点が良く見えます。
ならばと信号発生器をより高性能のものに変えたとしても、DSO154Proのオシロ入力の遷移時間が20ns程度ありそうなので、DSO154Proで観測している場合は、劇的には改善しないと思われます。

 
ここまでの結論

結論としては、

サンプリング周期が25nsで、信号発生器の遷移時間も20ns程度で変えられないので、今回測定した6~7メートル程度が波形から判別できる最低な長さに近い感じですね。
これより短い線路の測定限界値は、サンプリング周期1回分で反射波戻りの波形変化が捉えるとして、往復で25ns分解能なら、片側一方向では12.5nsなので、光速度では3.75m、同軸ケーブルなら2.44m(*2)が長さ測定の最低限界値、及び長さの分解能となります。
もっと長ければ、その分25nsのサンプリング周期分ずつ往復時間の観測が遅れます。

往復25ns、12.5ns片側伝播時間、
長さで3.75m(光速時)、
同軸ケーブルなら2.44m(*2))
程度が測定可能な分解能、
そんな程度で良ければケーブル長簡易測定器として利用できそうです。

10m以上とか長いほど、最初の反射波が戻るまでの波形の平坦領域が広がるので、長さ判別は容易になり易いでしょう。

長いケーブルなら、求める長さの分解能も粗くて良いでしょうから、

10mなのか、15mなのか、20mなのか、..100mなのかを知りたい範囲では、
十分使えるでしょう。

但し、長さだけではなく、ケーブルの材質や形状によっても伝搬時間は変わるので、長さの分かっているケーブルで反射波の戻る時間を測定しておいてから、未知の長さのケーブルを測って比較すれば、より正確に長さが分かると思います。

尚、遠端のショートする必要は必ずしもありません。
本記事で遠端をショートしてみたのは反射波が戻ると波形が下がる方向に変化するので、波形での判別がし易くなるとの意図です。

会社には長い電源ケーブル類がわんさかあるので、時間があったら測ってみるとしますかね。

 
関連情報

2023-10-24追記 関連情報です。
(*1)
 オシロスコープで線路の反射波を見て、線路の素性(長さやインピーダンスとその変化点)を知るTDR測定法と言うのがあります。
 参考になりそうな記事を見付けました。
 【TDR波形の見方】TDRを基本から解説|リスクをとらなくては幸運の女神の微笑みようがない! (hei-shiro.com)

(*2)
 同軸ケーブルの信号伝搬速度は「メーター5ナノ」と良く言われる様です。
 伝送線路の特性インピーダンスが√(L/C)、伝搬速度が1/√(LC)と近似できることを導いてみた | さしあたって (miscellaneous.tokyo)

 記事内では、光速と同じとし3.34ns/mで計算してみましたが、上記の通り5.13ns/mがより実際に近いと思われます。
 光速の65%の速度に減速している訳です。

 測定に用いた同軸ケーブルは6.8mなので、伝搬時間34.9ns(=6.8m・5.13ns)、往復では70ns とするのが正しいのでしょう。
 どっちみちDSO154Proのサンプリング周期25nsの制約から測れる長さの分解能は、

 同軸ケーブルなら長さ2.44m(=12.5ns/(5.13ns/m))が測定可能な分解能

 と言えます。
 信号の伝搬速度が遅いと長さの分解能が上がります。
 PCB配線ならもう少し遅く6~7ns/m(光速の42~50%)なので分解能は細かくできますが、
 そもそもPCB配線はせいぜい数10cmでしょうから、
 25nsのサンプリング周期では測定対象外と考えた方が良さそうです。


未来工業(株)のBUT-TDR ケーブルチェッカー(以下) と言う製品を見つけました。
Photo_20231024195601

TDR方式でケーブル長だけでなく波形も表示され、末端や途中の線路の状態の判定もできる優れものです。
これの取説に典型的なケーブルの伝搬速度の記載がありました。
Photo_20231024192401

これを参照させて頂き、サンプリング周期25nsのDSO154Proを用い反射波で長さを測る際の、長さの分解能を表にしてみました。

ケーブルの種類 伝搬速度比(対光速度) Vp 長さ計測の分解能 Lres
各種同軸ケーブル 67~82% 2.51~3.07m
VVF 1.6~2.6mm2 59% 2.21m
CV/CVT 64~72% 2.4~2.7m
PCB線路 42~50% 1.57~1.87m
音波 0.00011% 4.3μm(測れたとして)
電波 100% 3.74m(測れたとして)

Lres = 12.5ns × Vp × 2.997925×10^8m/s で計算。12.5nsはサンプリング周期の半分の時間。
25nsの時間分解能で反射波の戻りを捉え、以下の式で長さを計算する事になります。

信号の立ち上がり開始から反射波の戻りまでの時間をTrefとすると、

ケーブル長さL= Tref × Vp × 2.997925×10^8 / 2

で計算。

 
より長いケーブルを測定

2023-10-26追記
会社にあったもっと長いケーブルを測ってみました。手っ取り早くできそうなのが30m巻と50m巻のドラムコードです。
測定結果を表にしてみました。長いので反射波が返るまでの平坦領域が広く分かり易いです。
伝搬速度比Vpの値でケーブル長の計算値は結構変わるので、測定前にVp値を測っておくのが肝で、今回のケーブルではVp=0.534で計算したら精度ピッタリでしたが、分解能誤差±2.5m程度が含まれます。

測定内訳 30m巻ドラムコード 50m巻ドラムコード
測定の様子 30mdram 50mdram

遠端オープン

100ns/div

30mdram100ns 50mdram100ns

遠端オープンとショート
Persist 1sで観測

100ns/div

30mdram100nsshort
綺麗に波形が分かれます
50mdram100nsshort
綺麗に波形が分かれます
反射波が戻るまでの時間(目視) 約375ns 約625ns
計算したケーブル長

Vp=0.64~0.72 なら 36~40.5m

Vp=0.534 だと 30.0m


Vp=0.64~0.72 なら 60~67.5m

Vp=0.534 なら 50.0m

参考波形 30mdramspread

50mdram_whole全体の波形を見ました。最初の立ち上がりは反射が綺麗に出ますが、後半はRC時定数での鈍りの影響が結構出ています。 

実際のドラムに巻かれていたケーブルの長さはメジャーで測り、ほぼぴったり30mと50mなのを確認しました。
数10m以上とかの長さであれば、25nsの時間分解能での読み取り値の誤差は相対的に小さくできます。
上記測定では、それなりに測れているようですが、Vp値が想定と異なり0.534にしないと、ピッタリになりませんでした。

結局の所Vp値が精度を大きく左右すると思われます。

 
精度向上には伝搬速度比Vpが肝

今言える事は、
対象ケーブルと全く同じ材質・構造で既知の長さのものを予め測定しVp値を求めておき、そのVp値と、長さを測りたい対象ケーブルでの反射波の戻り時間とで、長さを計算するのが、精度を上げるためには必須
となるだろうと強く思いました。

尚、Vpを求める際のケーブルの長さは、25nsのサンプリング周期にヒットするかしないかの境界で、25nsずれた波形がパラパラと不安定に観測される長さにしておくのが、Vp値の精度を上げられるはずです。

補足ですが、波形でケーブルの状態が分かるので、途中での断線とかショートとか、見えるはずです。
そう言ったケーブル品質チェッカーとしてなら、十分使い物になるはずです。

 


続報あればまた。

 

 

2023年10月 3日 (火)

珍しい 電車のトラック運搬 の光景に遭遇

今日車で買い物に行く途中で、車両基地から電車を運ぶトラックが出てきて、警備員に止められました。
見ると電車を真っ二つに切り2台のトラックで運んでいました。
電車の中はほぼ空で次の解体工程に送る感じかな。

写真は2台目のトラックが、車両基地から道路に出てくる所と、信号で停止している所。
普通には出くわす事もない珍しい光景で、写真を撮りました。

周りには撮り鉄さん達が何人かいました。

Img_9715Img_9716

DSO154Pro 40MS/s sinc補間の特徴とコスパ抜群の要因

DSO154Pro記事の目次

DSO154Proは40MS/sのサンプリングレートなので、サンプリングデータは25ns毎に取得している事になります。
これをそのまま画面に表示すると、最小時間レンジ50ns/divでは、2点/divしかサンプリングデータが並びません。
何らかの補間で滑らかな波形にして表示しないと、ノイズもあり波形はガクガクして汚く見えるでしょう。

デジタル・ストレージ・オシロスコープ(DSO)では、一般的にsinc関数による補間が行われ、演算によりサンプリング間隔より細かいステップで滑らかな波形を生成し、画面に表示させている様です。
調べると、sinc補間では入力信号の遷移前後に波打つ波形(リップルと言うらしい)が出る事が分かってきました。

この記事では、sinc関数による補間の予備知識と特徴、オシロでの実測波形例、FPGAの役割考察、Excelでのsinc補間の再現波形と実測との比較など、sinc補間で完全に再現できる最大入力周波数の信号など、そこそこ深掘りしてみました。
なかなか理論面が理解しきれず、いろいろと寄り道しながらだらだらした記事になってしまいました。

この記事の目次です。
・遷移前の波打つ波形の具体例
・sinc補間の関連情報(1)sinc関数と補間の仕方
・遷移前波打ち波形の方形波での測定例
・sinc補間とFPGA 他のオシロの補間波形例
・sinc補間の関連情報(2)非因果性
・Excelでsinc補間を再現
・sinc補間で再現できる最大周波数の入力周期波形
・まとめ

 
遷移前の波打つ波形の具体例

先日測定した、ワンショットリモコンリレーのコイルの寄生容量の測定でも、方形波入力の遷移前にはリップルがはっきり見えています。
遷移後にもリップルは見られる様ですが、遷移前が目立ちます。
Photo_20231004165301

信号発生器からの方形波出力は遷移時間20ns程度とそこそこ早そうで、サンプリング40MS/s(25ns毎)でsinc補間すると、より顕著にリップルが出てしまっていると思われます。
この原因を探っていきます。

 
sinc補間の関連情報(1)sinc関数と補間の仕方

sinc補間の情報もネット検索で幾つか見つけました。
「ステップ入力波形に対し出力波形はリップルが生じる」「オシロスコープのsinc補間表示で見える波形がこれ」
と説明があります。

参考

【音データのしくみ】音声信号処理の基礎知識シリーズその1 | スキルアップAI | AI人材育成・開発組織の構築支援 (skillupai.com)
2023-11-8追記 こちらもすっきりした説明です。
Photo_20231108202701

⇒ ところで、アナログの波形をデジタル・サンプリングして、もとのアナログ波形に戻すことは、可能なのかい、の巻。 : If you must die, die well みっちのブログ (exblog.jp)
Photo_20231017215401

この図から、一つのサンプリング点を頂点とする(つまり通る)sinc関数は一つだけ
その時刻では、他のsinc関数の値は全てゼロになっています。
つまりサンプリング値はsinc補間しても保持されます。
またサンプリング点とサンプリング点の間に山や谷ができる特徴がありそうです。

追記には、以下の公式の明記がありました。
Photo_20231020220001

⇒ フーリエ変換 (coocan.jp)

例1の補間後の波形には入力波形の遷移前後にリップルが見られる
 Photo_20231003065301
Designing the Filter (dspguide.com)
難しくて理解できず斜め読みですが、-∞~+∞の無限範囲で定義されたsinc関数ではなく、限定した範囲を扱うWindows-sincと言うものの様です。
Blackman windowと言うのが載っていて、係数Mやfcで特性を変える様ですが、いずれもステップ応答でのリップルはDSO154Proに似ています。
Photo_20231004114401
Photo_20231004114201

デジタル信号を正しく再生するには? ~サンプリング定理の意味 - nabeの雑記帳 (adiary.jp)
Photo_20231109093701
イメージし易い説明です。各々のサンプリング点にインパルス(sinc関数)を並べ、時間毎に加算するんですね。

いろんな記事を参照し、だんだん計算イメージが見えてきて、Excelで補間波形の再現(この記事の後半)ができる様になりました。
理解できたのはあくまで計算方法のイメージだけですけどね。


ではなぜ、sinc関数を並べて足せば補間できるのか? について...2023-11-11追記

サンプリングされたデータ(デルタ関数)列から、各サンプリングデータ点を頂点とするsinc関数群を全部加算すれば、元の波形が再現できるという補間の根幹となる部分が理解ができないままですが、以下情報を読んで別の視点で理解が少しだけ深められた気がするので、リンクを掲載。
関西大学の講義資料の様です。

掲載元 ⇒ 浅野の講義・解析応用(2012年度秋学期) (mikeneko.jp)

http://racco.mikeneko.jp/Kougi/2012a/AAN/2012a_aan04.pdf
└周波数軸上の矩形関数を逆フーリエ変換したのがsinc関数
http://racco.mikeneko.jp/Kougi/2012a/AAN/2012a_aan05.pdf
Photo_20231111224501
Photo_20231111225101
Photo_20231111224001
実波形をデルタ関数(無限の周波数帯域)の集まりとして考えるが、実際は無限の周波数帯域を持つものはないので、帯域制限を持つ矩形関数となるsinc関数の集まりで、実波形が再現できるという事かな?。
---------------------------------------------------
もう一つ、「2 背景:サンプリング定理」の部分を何度か読むと、分かったような気になれた論文。
首都大学東京の数理解析研究所講究録より。
サンプリング値の補間による未知関数の近似的再構成 (kyoto-u.ac.jp)
https://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1869-06.pdf
Photo_20231111212601_20231112075001
「sinc関数を平行移動して作った基底関数の一次結合和で再生できる」とあり、一番しっくりくるかな。
この分野は今まで触れた事ないし、還暦過ぎの頭の中はこれ以上モヤモヤは晴れそうにないので、まあこの辺までで良いかな。

2024-2-19追記
ラグランジュ補間とサンプリング定理 Lagrange Interpolating Polynomial and Sampling Theorem (youtube.com)の動画は補間の分かり易い説明があります。

 
遷移前波打ち波形の方形波での測定例

実際に、DSO154Pro自身で信号発生器で方形波を出力したものを、そのままオシロに繋ぎ、時間レンジを変えながら表示させてみました。
信号発生器の方形波は、500KHzと1MHzの2つの周波数で波形を取得しました。

Time Range 1MHz入力 500KHz入力
1us/div Img_9729 Img_9742
500ns/div Img_9730 Img_9724
200ns/div Img_9731 Img_9725
100ns/div Img_9732 Img_9727
50ns/div Img_9733 Img_9728

時間軸を拡大するほど、入力遷移前後のリップルが良く見えてきます。
1MHz入力の方が500KHz入力よりもリップルが出やすい様です。
1MHz入力では、立ち上がりと立下りの時間が500nsと近いので、両エッジの影響で全時間帯にリップルが出ています。
補間機能なく、素直に25ns毎のサンプリングデータを直線で繋いで波形表示していては、ガタガタとした汚い折れ線になるでしょう。

---------------------------------------------------
ちなみにサンプリングレート40MS/sでは25ns毎に波形を取むので、1MHzの周期1usに1サンプリング周期を足し1025nsを周期とする、975KHzの方形波を入力し、Persist(残像)設定1sで見たのが以下です。25ns毎の取り込みタイミングが前後するため、25nsの幅で波形が割れています。また、周波数1MHzのままDutyを少し変えるだけでも同様の割れた波形が得られます。
一般的に測定波形でサンプリングレートを調べる方法として使えそうですね。
信号発生器も付いたオシロで、こんな実験も簡単にできるので便利です。
Img_9743

 

 
sinc補間とFPGA 他のオシロの補間波形例

2023-10-4追記
・EEVblogと言うブログで、sinc補間にFPGAが使われているかもとの記事を見付けました。
 New toy(?) scope, DSO154pro, 1ch, claimed 40MS/s - Page 1 (eevblog.com)
 Photo_20231004074601

・ZEEWEII社の製品紹介ページにも、以下の記述があります。
 DSO154PRO (sigpeak.com)
 Photo_20231021090001

なるほど、FPGAで信号の補間演算処理を行う事で、高性能な製品になっているんでしょうね。

基板部品面のMCU(左側)とFPGA(右側)ですが、FPGAの型番等は削られていて不明ですけどね。
MCUは、WinnerMicro社 W806-C200 Microcontroller
 Photo_20231009154501

今回の調査・実験や考察で、ラフではありますが、DSOのサンプリング周波数とステップ入力に対するリップルの原因とか、イメージが掴めました。
サンプリングがもっと早ければ補間波形も実波形に近づくのでしょうが、コストも上がるでしょう。
でもまあ、5000円強ながら18MHz帯域 40MS/sです。この価格帯では、200KHz帯域 1MS/s ~ 500KHz帯域 2.5MS/s 程度がせいぜいな中、MCUとFPGAを組み合わせる事で安価ながら性能を高めた事で、コスパ抜群な製品としているものと思われます。
それと、全体を囲うケースもなく簡易な3層ネジ止め構造なのもコスト低減には結構効いているはずですね。


2023-10-14追記
アマゾンでOWONのSDS-1104製品のページにある動画を見ると、以下のリップルが出ていました。
Photo_20231014213301
SDS-1104のユーザーマニュアル58ページに補間方式がsincと分かる記載がありました。(Sin x)/x と書くのが正しい気がするが...
Photo_20231016151201

2023-10-21追記
目指せ!電子計測のエキスパート 第6回 マザーツール、オシロスコープを使いこなす | 法人向けパソコン(PC)・計測器レンタルなら横河レンタ・リース (yrl.com)
では、以下のオシロ波形と補間フィルタの影響の説明があります。高級機種のレンタルを促すには有利な情報なのでしょうね。
Photo_20231021085501
Photo_20231021085601

2023-11-3追記
何だこれは!? 某巨大企業からまた荷物が送られてきたww 【USBオシロ ADALM2000】 - YouTube
では、Analog Devices の ADALM2000と言うUSB多機能オシロの紹介動画に、1MHz方形波を観測した部分がありました。
ADALM2000は100MS/s なので、100ns/div内に10個のサンプリングデータしかないため、sinc補間された遷移前の波打ち波形が良く見えます(左の茶色の波形)。ベンチトップ型オシロ TELEDYNE T3DSO1204で同じ波形を観測していますが、こちらは1GS/sとサンプリングレートが高く、sinc補間らしき遷移前の波打ち波形も余り目立ちませんが、弱く出ている様です(右下の白っぽい波形)。
Photo_20231103173201

他sinc補間がわかるオシロの波形例は探しても余り見当たらない様で、商品紹介動画内で方形波を観測している際にたまたま見える程度です。
分かる人が見たらサンプリングレートや補間性能が見えてしまうので、メーカーも積極的には見せたくないのかなと思います。

2024-2-19追記
EEVblog #1213 - The Oscilloscope Interpolation Trap! (youtube.com)で、実際のオシロでの測定例を交えて補間の詳しい説明があり、分かり易いです。

 
sinc補間の関連情報(2)非因果性

2023-10-16追記

16. ディジタルフィルタの設計 (やる夫で学ぶディジタル信号処理) (tohoku.ac.jp) では、
「sinc関数は時刻が負の時も値を持っている. つまりこのフィルタは因果的ではない.」
との説明もあります。

なるほど、だからステップ応答だと遷移前に波形が波打つ違和感のある補間波形を作ってしまうんですね。
連続的にサンプリングデータをメモリに保存し、FPGAを使って各サンプリング点を頂点とするsinc関数を多数並べ、全部足し込んで補間波形を生成し、画面表示しているのでしょう。

今回の1MHz方形波の測定事例のケースでsinc補間を考えると、ステップ波形の遷移時間がサンプリングレート25nsと同程度か早いと考えられ、遷移前の入力がグランドレベル(つまりゼロ)なのでsinc関数のピーク振幅もゼロとなり無いのと同じで、ステップ波形の遷移途上のサンプリングがなく、その次が遷移後のサンプリングとなるなら、遷移後のsinc関数の負の時間軸への広がり成分がそのまま補間波形として見えてしまうので、その影響が鮮明に出ていると言えそうです。

DSOの一般的な補間方法と言うのであれば、そんなもんだと思うしかなさそうですね。
高級なDSOだと補間方法も幾つか選択できる様ですが...
自分の常識不足なだけかも知れませんが、因果律に則らない波形には少し違和感を感じてしまいます。


こちらも読んでて分かり易いです。pdfもダウンロードできます。
はじめての音響信号処理 : ディジタル録音と補間の話(やさしい解説) (jst.go.jp)

Photo_20231105075701 Photo_20231105075801Photo_20231103210601
最後の図はExcelで図ー11を再現してみたもので、サンプリングデータは 0,0, ... ,0,1,-0.3,0.2,0, ... ,0,0 。

---------------------------------------------------------------
2023-12-4追記
上記
で記載のあるローランドUA-101のsinc関数の左半分を抑圧したような補間関数に関し、別な論文も見つかりました。
https://www.kanedayyy.jp/asp/thesis/EAken_0910_shiga.pdf
Photo_20231204194201Photo_20231204194301
個人的には、因果性も確保され、入力遷移前のリップルもなくなるでしょうから、好ましい気がします。
でも、サンプリングレートの半分に帯域制限された周期関数をsinc関数で完全に再現できるという標本化定理に則らなくなりますね。
後に述べるサンプリングデータ2,1,2,1...をこれで補間しても、綺麗なサイン波は再現できそうにありません。
良いのか?悪いのか?、何でも一長一短があり、使い分けが必要と言う事なのでしょうか。

 
Excelでsinc補間を再現

2023-10-17追記
公式を頼りにExcelでステップ入力をサンプリングして、sinc補間する計算をしてみました。

Excelファイル - sinc.xlsx

サンプリングは時刻-10から+10で1刻みの離散値で、時刻-10,-9,...-1,0のサンプリング値は0に、時刻1,2,...,9,10のサンプリング値は1にし、ステップ波形を入力しました。
sinc関数はそれぞれのサンプリング値を頂点(時間軸にオフセットを付けて合わせています)とするsinc関数の値を0.1時間刻みで計算し、それを全部足して補間波形としました。

黒点はサンプリングデータで、赤太線は各sinc関数を全部加算して得たsinc補間波形です。
補間した波形は、オシロに表示される補間後の波形や参照した情報源の波形に結構近い様に見えますね。計算方法はまずまず合っていそう。
右端の波の振幅がだんだん拡大するのは、更に右側の計算をしていないからでしょうね。
Photo_20231018112801

Excelの計算方法の補足です。
下の公式にあるn=-∞~∞は実際には扱えず範囲を±10に限定し計算、サンプリング周期T=1で簡略化、グラフを滑らかさのため時間tはTの1/10で計算しました。
Photo_20231022094401
上の公式に対比させると、T=1、n=-10~10にしたので、以下の簡略化式で計算している事になります。
Photo_20231021110501
サンプリングデータ x(n) をBカラムに入れ、
時刻tはCカラムに、-10.0, -9.9, -9.8, ... , 0, ... ,9.9, 10.0 とサンプリング周期Tの10倍細かく設定、
Row3では時刻t=-10.0での各sinc関数値x(n=-10), x(n=-9), ... ,x(n=10)をD3セル~X3セルで計算し、
一番右Y3セルで全部足す(Σを取る)事で、sinc補間値Xa(t=-10.0)を求めました。
これを時刻t=-9.9, -9.8, ... , 9.9, 10.0 と時間経過と共にRow方向に順次広げて計算しました。

グラフ横軸は時刻t、縦軸はサンプリングデータ、各sinc関数値、合計したsinc補間値Xaを表示させ、相互関係が一目で分かる様にしました。
尚、D3セルはExcelの0での除算エラーが出ますが、C3セルを-10.00000001とかにしておけば回避できるでしょう。

ここまで深堀りして、やっとsinc補間の計算イメージが掴めました。
Excelではサンプリングデータの所に適当な値を入れればそのsinc補間波形が赤太線で表示されます。
一応、サンプリングデータ全部を1にすれば、グラフ中央寄りが平坦な1になるは確認しました。

今後、ステップ波形ではない別の波形を観測した際のオシロの波形を考察する際や、オシロ画面波形からサンプリングデータを復元してみたりするのに使えそうです。

サンプリングデータ入力例 sinc補間波形 実測波形
DSO154Proの信号発生器からの1MHz Duty50%出力を、DSO154Pro自身で観測した画面の波形に、なるべく似る様にしてみたサンプリングデータの並び例


0, ... ,0 , 0.65, 0.87, 0.95, 1, ... ,1

(立ち上がりの肩に丸みを付けた)


Photo_20231018200301
オシロの波形に結構似ています(右端を除く)。

Img_9733_20231018194601 

 


2023-10-20追記
ここまでやったならやりきるとの思いで、本記事冒頭のオシロの波形にフィットするsinc補間波形となるようサンプリングデータ列を入力してみました。
sinc補間のカーブは必ずサンプリング点を通りますし、サンプリング点と隣のサンプリング点の間が山や谷になりやすいので、サンプリング点を見つけるのは割と楽でした。Excelでサンプリング点を41に広げる方が大変だったかな。

今回のExcelはエイヤ力ずくで作っています。セル相対参照をうまく使えばタイピングも少なくて済むところを、全部タイプ入力した感じ。
あと、本当は100ns/divのオシロ画面ではサンプリング点が49個並ぶので、49に広げるの適切だったかなと後で気づきましたが、まあ41でもほぼ1画面分だし、まあ良いか。。。
また、着目しているサンプリング期間(ここでは21個)の外の両側合わせて合計100~1000個分影響を取り込まないと補間精度が十分に出ないようです。
今回は目視で波形同士の類似性を見ているだけなので、着目しているサンプリング期間だけに留めましたが、左右の外側で各々8個分程度のサンプリングデータがあった方が、波形的にはベターでしょうね。

大サービス ⇒ Excelファイル - sinc_41.xlsx

ここまで似ているなら、個人的にはほぼ満足、やりきったかな。

サンプリングデータを入力しsinc補間(右端を除く) 実測波形
Photo_20231020210401  Photo_20231102170501

2つの図を重ねてみた。これはもうsinc補間のExcelでの再現は大成功ですよね。世界の片隅で一人ほほ笑む自分...自己満足で良いのさ。
Photo_20231021170901 
知らない世界も深堀りすれば、なかなか面白いものです。


2023-10-28追記
sinc補間のサンプリング点を49に広げたExcelを作成しておきました。
これでDSO154Proの100ns/div なら1画面分のサンプリングデータの入力が出来ます。

大大大サービス ⇒ Excelファイル - sinc_49.xlsx

x=0 での (sin x)/x の0除算エラー回避するため、x=0の時は1とするIF文条件判断(下の式はD3セルの例)を入れました。
D3セルの計算式 =IF( ($C3+24)=0 , $B$3 , $B$3*SIN(3.1415926*($C3+24))/(3.1415926*($C3+24)) )
Photo_20231109092301

sinc関数のスマートな記述法もある様ですがそこまでは... → Write your own Function in Excel: SINC(X) - YouTube

2023-11-26追記
上記Excelでは時間軸が縦でサンプリングデータ入力がしにくかったので、時間軸を横にしたシートも追加しておきました。

拡大大サービス ⇒ Excelファイル - sinc_49a.xlsx

Photo_20231126140701

 
sinc補間で再現できる最大周波数の入力周期波形

2023-11-14追記
sincで補間できる理屈が気になってネット検索していたら、網羅的に説明した資料を発見しました。
206480_01.pdf (ishiyaku.co.jp)
https://www.ishiyaku.co.jp/ebooks/206480/206480_01.pdf
サンプリング理論の証明もあります。
Photo_20231114201501
Photo_20231114201601
Photo_20231114201602

---------------------------------------------------

サンプリング(標本化)定理では、入力波形の最高周波数成分の2倍以上(2.5倍以上必要との情報も  )でサンプリングする必要があるとの記載を良く見かけます。

Photo_20231126175401
Photo_20231126175001
DSO154Proの信号発生器の方形波出力を、自身のオシロで観測した際の、遷移時間tr=20ns程度に見える波形の周波数帯域は、周波数帯域=0.35/tr=0.35/20ns=17.5MHz なので、一応40MS/sは2倍以上ではありますが、2.5倍にはちょっと足りません。

ただ、DSO154Proだけの結果ですし、実力の周波数帯域が15MHz程度しかないとか、オシロ自身の入力波形の鈍り時間が<20nsとの製品仕様の記載もあります。
また、プローブの校正の適正さでも立ち上がり波形は変わりますし、信号発生器出力の遷移時間はもっと高性能オシロで観測しないと本当の所は分からないですし、本来は周波数スペクトル分析をしないと本当に20MHz以下の成分だけなのか分かりません。
今回のDSO154での方形波の発生とオシロでの測定は性能限界に近そうですし、定量的な正しさは私個人では保証できませんので、この点ご留意願います。

---------------------------------------------------

2023-11-15追記 2倍の根拠を分かり易く説明しているのを見付けました。
【準備編2:アナログ信号とデジタル信号】イメージでしっかりつかむ信号処理〜基礎から学ぶFFT〜 | APS|組み込み業界専門メディア (aps-web.jp)

Photo_20231115085301

---------------------------------------------------

2023-11-27追記
2.5倍の根拠を見つけきれませんが、入力の最大周波数の2倍に関しては、割と直感的・直接的な説明を見付けました。
サンプリング定理がいまいち理解できません。なぜ二倍以上の周波数でサンプリングしたら信号が復元できるんですか? - Quora

Photo_20231127194301

「サンプリング周波数の1/2(ナイキスト周波数)未満の成分しか含まない周期信号」はひとつしかない

ビシッと言いきられると、心に響きます。なるほどそうなんだーってね。


アナログ帯域18MHzを考えない前提ですが
DSO154Proは
40MS/sなので、20MHzのサイン波がsinc補間で再現できる最大周波数の周期波形。
「sinc補間でリップルが出る様ならこれを超えた周波数成分が入力信号に含まれていると言う事。」
なんでしょう。

別な言い方をすれば、
・入力波形の最大周波数成分に対してサンプリングレートが2倍以上無いって事か、

・補間の(時間的な)範囲が足りていないって事。
(前後数100サンプリング点以上とか)
なんでしょうね。

改めて考え直し:
「sinc補間でリップルが出るのはオシロの性能を超えた入力ですよと言うメッセージ」
と思った方が良さそうです。

今までいろいろと調べてきた中では、そんなオシロの性能限界的な言葉は見かけた事はなかったんですねー。

本記事に記載の横河レンタルの補間フィルタの影響に関しても、もっと高性能のオシロが必要ですって直接的な表現はしていないし。
まあ、本当の所はDSO154Proよりも高性能なオシロで、信号を観測しないと分かりませんけどね。

---------------------------------------------------

Excelで再現してみました。
以下サンプングデータを2,1,2,1...で繰り返し、sinc補間で完全に入力波形を再現できるはずの入力でのExcel計算例です。
(サンプリングデータが0だとsinc補間しても全領域で0にしかならないので、2,1...の繰り返しにしてみました。)
中央付近には綺麗なサイン波が再現されています。これがsinc補間で完全に再現可能な最大周波数の周期波の限界と言う事なんでしょう。
Photo_20231127195001

なんて考えるのは少し早くて、2,1,2,1...とサンプリング周波数のジャスト半分の周波数のサイン波の丁度山と谷をサンプリングしたベストケース想定であり、周波数は同じでも位相が90°ズレた所をサンプリングするワーストケースでは、1.5,1.5,1.5...と続くだけになってしまうので、サイン波は全く再現されません。

正しくは、標本化定理 - Wikipedia の通り、

ナイキスト周波数 2fmax よりも高い周波数で標本化しなければならない。ですね。
Photo_20231206202101

サンプリングレート >= 2×入力最高周波数成分 ではだめで、サンプリングレート > 2×入力最高周波数成分 なんですね。

 
まとめ

DSO154Proで見られる入力信号遷移前の波打ちがsinc補間によって生じる事が分かりました。
サンプリングデータからsinc補間の公式を埋め込んだExcelで再現できました。
sinc補間は、DSO154Proに限らずデジタルストレージオシロスコープ(DSO)で用いられる一般的な補間方式なのも分かりました。
このsinc補間演算を(たぶん)FPGAで行う事で、安くても飛び抜けた性能を持つDSO154Pro。
それでも補間性能を超えた入力波形でリップルが出てしまうのは、もっと高性能なDSOでも同じなのでしょう。
DSO154Proとしては良く頑張ってる証拠だよねと言う温かい気持ちでいた方が良いかな。

sinc補間なんて知らなかったので、だいぶ深みにはまってしまい、sinc補間の比重が多い記事になりました。
一般のDSOや、音響や画像のデジタル信号処理にも共通する面もありそうです(↓)。
  サンプリング周波数変換(リサンプリング)技術 - 基本編 | N.Yamazaki's blog (a-quest.com)
  サンプリング周波数変換(リサンプリング)技術 - 応用編 | N.Yamazaki's blog (a-quest.com)

今回、かれこれ約2か月間に渡って過還暦頭の体操を兼ね、楽しんで調査できました。
信号処理技術の片鱗にも触れてられて、損はなかったと信じたいかな。

 

続報あればまた。

 

本記事の測定・実験の結果に関しては、本来はより高性能な計測器による検証が望ましいのですが、所有しておらず検証できておりません。あくまで手持ちのDSO154Proの結果なので、誤りや誤解・基板バージョンにより差異など含まれている可能性があります。またExcelでの計算例は、理論的検証等は一切行っておりません。この記事の内容を参照される際は、自己責任の参考扱いとして頂きますようお願い致します。

 

2023年10月 1日 (日)

ダイニングテーブルのウレタンニス塗装

記憶があいまいで時期ははっきりしませんが、たぶん6年位前にダイニングテーブルの傷が気になり、いろんなものに使っているいつものリンレイオール床用ワックスを何回も塗り重ねアクリル透明被膜を付けて保護していました。

塗ってからだいぶ時間が経ち、アクリル被覆もいたるところで剥がれてきて、表面のざらつきもひどくなってきました。
アクリルワックスは何重にも塗り重ねが出来て、塗りやすかったのですが、長時間水に濡れると表面がふやけて少し白く柔らかくなりはがれやすいのと、乾いていても爪で引っ搔いただけで塗り重ねた層が表面側から剥がれてしまうのが欠点ですね。
床用ワックスを勝手にテーブルの塗装に使っているわけで、テーブル用途ではないですし。

今回は事前にネットで調べ一般的な塗料のウレタンニスとし、今日は天気が曇りで気温も少し汗をかく程度で作業しやすそうだったので、早速塗ってみました。


一旦アクリル被膜を全部剥がすため、屋外での作業です。
Img_9703

アクリル被膜のはがれている部分です。
Photo_20231005204201

水で濡らして爪で剥いでいましたが、効率が悪いので金属片を使って剥ぎました。アクリル被膜のカスが大量に出ます。Img_9707

下水に流すのは気が引けるので、下の写真の様にコーヒー用の紙製フィルタでろ過し、下に溜まった水はポンプでシンクへ流し、フィルタに残ったアクリル被膜カスはフィルタに包んで燃えるゴミにしました。
Photo_20231002200101

アクリル被膜を全部剥いでから紙やすりをかけ、ウレタンニスを2回に分けて塗ります。
下は今回の道具類です。100均でコテバケを探しても見つからず、代わりに風呂掃除用スポンジブラシを(右下)買いました。
Img_9709

ウレタンニスは、ホームセンターにあったワシン(和信ペイント㈱)の水性ウレタンニスで、ツヤあり、色はけやき です。
Img_9710

1回目を塗って乾かしている様子で、良く見ると筋状の線がたくさん出ました。木目に沿った方向にしかブラシを動かしていないので、筋も出来易い訳ですが、ブラシの平坦さも影響大ですね。ダイソーで買った風呂掃除用スポンジブラシで塗ったので、筋が余計目立った様です。直ぐ上の写真の方が横に走る凹凸の筋が良く見えます。ケチらずコテバケを買った方が良かったかなと多少反省。
Img_9711

スポンジの表面には薄い不織布的なのが付いていて、よく見るとか細かい凹凸がありました。うーん、予想できず、多少ショック。
Img_9737

筋を目立たなくしたいので、乾いてから紙やすりをかけましたが、ウレタンは固く筋をなくせる程は削れません。
強くこすってみたら、ウレタンニスが剥がれてしまい、紙やすりで削るのはあきらめました。
Img_9712

2回目の塗装は、できるだけ表面は平坦でピカピカにしたいので、塗料の粘度を下げるため少し水を混ぜ、幅広の刷毛を使いテーブルの端から端まで軽くなでながら、塗り広げました。1回目の塗装の剥がれた部分も、分からないくらいになったのは良かったです。
Img_9714

1回目よりも2回目の方が、ウレタンニスの量を多く使い、水も混ぜました。
平坦性は出しやすいですが、厚みがあるので厚みムラがところどころにできてしまいましたが、まあ我慢できる範囲かな。

90分程度乾燥させてひとまず完成です。
水性なので多少べたつきが残りますし、表面は乾いても中の水分が完全に抜け切れるまでは、柔らかいので傷が付きやすいはず。

完全に硬化しべたつかなくなるまでには、まだ数日掛かるでしょう。

最初のアクリルワックスの被膜を取るのが結構大変でしたが、ウレタンニスを塗る事そのものは初めてではあるものの、割と簡単にできました。さて、いつまで綺麗な状態が続きますか? このまま使いながら様子見ですね。


2023-10-4追記
数日経過し、ベタつきも無くなりました。
表面がツルツルになったせいかPC用の光学マウスの動きが鈍くなってしまいましたね。
まあしょうがない、クリアファイルかマウスパッドでもマウス下に敷いて使うとしますかね。

続報あればまた。

« 2023年9月 | トップページ | 2023年11月 »