こんばんは.早速質問ですが,
サンプリング周波数100Hzのデータを500Hzのデータに
するには,どうしたらいいのでしょうか?
2,4,6,8のデータを補完する方法はあるのでしょうか?
よろしくお願いします.
>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ファイルなどはチャンクと呼ばれるヘッダーを持っていますので、
そのヘッダーのサンプリング周波数とデーターの長さに関する部分を
書き換える必要があります。
>ねろ様
回答ありがとうございます。
質問で、少し間違えたところがあります。
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
という感じでいいでしょうか?
よろしくお願いします。
>という感じでは、駄目でしょうか?
いいんじゃないかな、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
.
.
こうなりますね。
返信ありがとうございます.
hokan1=data1+sa
hokan2=data1+sa*2
hokan3=data1+sa*3
とありますが,これだと
hokan1=20
hokan2=30
hokan3=40
になるきがするのですが,
これで補完できたことになるのでしょうか?
.
ありゃ〜! 書き間違え、失礼しました。
hokan1=data1+sa/5
hokan2=data1+sa/5*2
hokan3=data1+sa/5*3
・
・
ありがとうございました。
無事解決しました。
ツイート | ![]() |