サンプリング周波数を変えるには?

解決


りん  2005-01-26 03:03:38  No: 88018

こんばんは.早速質問ですが,
サンプリング周波数100Hzのデータを500Hzのデータに
するには,どうしたらいいのでしょうか?
2,4,6,8のデータを補完する方法はあるのでしょうか?
よろしくお願いします.


ねろ  2005-01-26 05:13:28  No: 88019

>2,4,6,8のデータを補完する方法はあるのでしょうか?
まずこちらから、代表的な補完には前値補完と平均値補完が
有ります。
前値補完だと2,2,4,4,6,6,8,8となり、
平均値補完だと2,3,4,5,6,7,8となります。
前者はハードウェアーなどで後者はソフトでの補完で多く
使われます。

>サンプリング周波数100Hzのデータを500Hzのデータに
平均値補完で、新たに4つデーターを挿入し、単に前のデーターと
後ろのデータとの差を1/5にしたデーターに加えていけば良いと思います。
ただし、Wavファイルなどはチャンクと呼ばれるヘッダーを持っていますので、
そのヘッダーのサンプリング周波数とデーターの長さに関する部分を
書き換える必要があります。


りん  2005-01-26 23:12:34  No: 88020

>ねろ様
回答ありがとうございます。
質問で、少し間違えたところがあります。
2,4,6,8の後ろにmsecという単位を入れ忘れました。
えーと、つまり私が言いたかったことは、
100Hzで送信したデータを受信部で500Hzにできるのか、
ということです。

for a=0 to 4
print #1,data
next a

という感じでは、駄目でしょうか?
実際うまくいかなかったので、駄目だと思いますが。。

>平均値補完で、新たに4つデーターを挿入し、単に前のデーターと
>後ろのデータとの差を1/5にしたデーターに加えていけば良いと思います。
ちょっと、頭が悪いもので、ここの部分があまり理解できませんでした。
例えば、10と20というデータがあったとして、ここにデータを4つ補完して、500Hzのデータにするには、20−10=10でそれを5分の1して、足していくと、12,14,16,18というデータが得られるということでいいでしょうか?

sa=data2-data1
hokan = sa*(1/5)
hokan1=sa+hokan
hokan2=hokan+hokan1
hokan3=hokan+hokan2
hokan4=hokan+hokan3
という感じでいいでしょうか?

よろしくお願いします。


ねろ  2005-01-27 00:25:04  No: 88021

>という感じでは、駄目でしょうか?
いいんじゃないかな、dataが送られて来たデーターなら
上で説明した、前値補間になってます。
ただスムーズな補間をしたいなら、次のデーターを待って
平均値補間をするようになります。

sa=data2-data1
hokan = sa*(1/5)
hokan1=sa+hokan
hokan2=hokan+hokan1
hokan3=hokan+hokan2
hokan4=hokan+hokan3
これはおかしいでしょう。

hokan1=data1+sa
hokan2=data1+sa*2
hokan3=data1+sa*3
      .
      .
こうなりますね。


りん  2005-01-27 06:26:58  No: 88022

返信ありがとうございます.

hokan1=data1+sa
hokan2=data1+sa*2
hokan3=data1+sa*3

とありますが,これだと
hokan1=20
hokan2=30
hokan3=40

になるきがするのですが,
これで補完できたことになるのでしょうか?

      .


ねろ  2005-01-27 16:33:58  No: 88023

ありゃ〜!  書き間違え、失礼しました。
hokan1=data1+sa/5
hokan2=data1+sa/5*2
hokan3=data1+sa/5*3
      ・
      ・


りん  2005-01-27 23:50:25  No: 88024

ありがとうございました。
無事解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加