こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

サンプリング周波数

高いサンプリング周波数で、低い周波数を取り出すことはなぜ難しいのですか? 例、100kHzのサンプリング周波数で1Hzの周波数を取り出すのはなぜ難しいのか?教えてください。

投稿日時 - 2006-09-04 20:42:36

QNo.2383814

すぐに回答ほしいです

質問者が選んだベストアンサー

1Hzの信号を取り出そうとすると少なくとも1秒の時間が必要です。
100k個のサンプリングデータをフーリエ変換しようとするとかなりの計算量になります。

信号に直流分が乗っている場合には1Hzと直流とを区別しなくてはなりません。
サンプリング期間が1秒の整数倍で無い場合にはスペクトラムの広がりによって1Hzと直流分のスペクトラムが重なり合って判別が難しくなります。
また、窓関数を使う場合ではスペクトラムの分解能をあげようとすると信号の複数サイクルを含ませる必要がありサンプリング数の増大ひいては計算量の増大を招きます。

なぜ難しいのかと言うと答えは計算量が大きくなるからと言うことになります。

サンプリングとは関係ない話ですが、微小振幅の超低周波の取り扱いが難しいのは事実です。
よほど安定な回路で無いと外部要因によって出力が変化してしまいます。
電灯のオンオフ、エアコンのオンオフはもちろん、窓の開け閉め、うちわで扇ぐなどでも影響されてしまいますから。
コンデンサの影響で低域がカットされるからではありません。

投稿日時 - 2006-09-05 14:20:32

お礼

tadysさん、回答ありがとうございます。ずばり、このことが知りたかったのです。ありがとうございました。

投稿日時 - 2006-09-05 21:59:00

ANo.7

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(7)

ANo.6

サンプリング周波数から十分低い周波数を取り出すことはなんら問題ないですよ。もう一度確認してください。
データサイズが大きくなってダメという状況はあるかもしれません。

投稿日時 - 2006-09-05 13:26:32

ANo.5

No3です。
C成分が勝手に出来るから低周波は取り出せない(ハイパスフィルタ)と言う事はちょっとありえないと思ったので。

勝手に出来るCは回路と並列に作られるために波形がなまる方向に働くと思いました。(ローパスフィルタ)

勝手にC成分が回路と直列に入ったら直流(0Hz)が計れない装置になってしまいます。
しかし、実際には電池で動く回路がたくさん有りますし、直流を計れるテスタやオシロもたくさん有ります。よって、勝手にハイパスフィルタが出来るということは無いと思います。

言いたい事が伝わっていないのか、何かかん違いをしているのではないかと思います。

投稿日時 - 2006-09-04 23:53:38

ANo.4

nrb

これ難問ですね・・・異常に難しいです

まず、100kHzのサンプリング周波数ですので、
単純に1/2が最大周波数になります

したがって・・
上は50KhZ~0HZの周波数範囲になります

ただし理論上の可能な周波数です

ところが現実の回路では理論とはこなる結果になります

・電気回路には現実には、
 抵抗成分
 コンデンサー成分
 コイル成分
が必ずできます

 問題はコンデンサー成分です

 コンデンサーは周波数が高いとほぼ抵抗が無くなります
 低いと(直流に近く成ると)抵抗が多くなります


 したがって・・50KhZ~0HZのうち低周波になると抵抗が多くなります
 したがって

 周波数特性を見てますと
 広帯域に回路組んでも

 上は100KHz-6dB(OCT)
 下は 10Hz -6dB(OCT)
みたない回路しか現実には組めません
 
 したがって1Hzの周波数を取りのは難しいです

 どうしてもかならずコンデンサー成分じゃまをしますので超低周波が取り出せないんですね
  

投稿日時 - 2006-09-04 22:14:21

ANo.3

出来ると思います。難しいという話は初めて聞きました。


思いついたものを書いてみます。
メモリの問題だとすると、データが1000個保存できるメモリを持っていたとしたら、100KHzから1Hzを取り出す事は不可能でしょう。
あとは100KHzは10万個のデータがあるわけですから、そのまま1Hzを認識するのには時間がかかるというのもあるかもしれません。

FFT使って取り出すんだとすると、サンプリング数が多いと時間がかかるというのは有ります。
結果的に1Hzを取り出すために1秒以上かかる事もありえるので難しいという事でしょうか?

投稿日時 - 2006-09-04 20:54:42

ANo.2

データ量が多くなるだけで、それほど(?)難しくは無いです。
1Hzの周波数成分を検出するには、1秒より充分長い期間のデータが必要です。
100kHzでサンプリングすると、最低でも100kWord(1秒)、できれば数十秒(数MWord)のデータを記録する必要があります。

投稿日時 - 2006-09-04 20:54:36

ANo.1

別に難しい事はないかとおもいますが、ちょっと困ったことがおきるのは確かです。

ある繰り返しの波形をサンプリングするには、その波形の1周期に相当する時間より長くサンプリングしなければなりません。例えば、もし1Hzの波形を100kHz でサンプリングしようとすると、最低 100K 個のサンプル数が必要になります。

FFT をご存知なら、FFT(あるいはDFT)で求められる最低の周波数は、確か、サンプリング周波数にサンプル数を掛けた時間の逆数だったと思います(でもこれはうろ覚え)。

まあ今ではメモリは安いのでこれくらいなんでもないですが、昔はメモリは高かったので…おっとこれはあまり関係ないですね。つまりはサンプル数が多いことが、後の処理やデータの保存で問題になることがある、ということだと思います。

ちなみにこれだけのサンプル数だとさすがのFFTも瞬時に求まるようなことにはならないような気がします(これもあてずっぽう)。

投稿日時 - 2006-09-04 20:54:26

あなたにオススメの質問