ある時間関数f(t)がありまして、その中から特定の周波数のレベルだけリアルタイムに取り出したいのですが、その処理をするCPUの処理能力に限界がありFFTなどという高級なことはできません。ある一つの周波数についてだけでよいので簡単に取り出す演算方法はないでしょうか。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

その周波数の振幅を乗算して、フィルタ関数で


一定周波数以下を抜きだして下さい。

フィルタ関数もめんどうなら、
単に平均化でも大丈夫です。
    • good
    • 2
この回答へのお礼

素早く的確な回答ありがとうございました。
問題のほとんどはこれで解決しましたが、「単に平均化でも大丈夫です。」をもう少し解説いただけるとありがたいです。乗算する正弦波の位相によってはDC成分が出てきてしまうのですが。

お礼日時:2001/03/01 14:09

 特定の周波数が与えられているとすると,下の回答のようにその周波数をもつ正弦波を乗算します.この結果,特定の周波成分と正弦波信号の

周波数の和と差の成分が現れます.和の方は低域フィルタか積分演算で除きます.差の方は正弦波と特定周波数成分と同じ成分の強度を表しています.すなわち,差の成分(直流成分)がその強度を表していますのでこれを除去することは情報を捨ててしまうことになります.この直流成分は正弦波と特定成分との位相差を表しています.従って強度を調べるためには振幅と位相情報の両方が必要になります.現実にはFFTを使うのが一番と思います.フィルタを通す方法は結局周波数領域での畳み込みが必要になりますのでFFT以上に時間がかかります.時間関数の周波数帯域がどの程度かわかりませんがソフトウエアで行うには相当制限があります.ソフトウエアのサイトで例えばVectorでfftと検索すればオーディオ帯域のリアルタイム表示の可能なフリーソフトがあったと思います.参考にしてはどうでしょうか.
    • good
    • 0
この回答へのお礼

FFTのソースコードは持っているのですが、CPUの制約で今回はやっぱり使えそうにありません。ありがとうございました。

お礼日時:2001/03/02 18:36

特定の周波数とは、Givenと思っていいのですね?



であれば、あとは、「位相」の問題だけですよね?

「位相合わせ」は初めに一度やれば済む話ではないんでしょうか?

位相のズレをいくつか試して、サンプル波(=正弦波またはその代用)との「畳み込み積分」的なことをやり、「ピーク」を見つける。ただし、ピークの見つけ方には「力ずく」にならないような工夫が必要でしょう。

初めに1回だけなら、別にFFTでもいいと思うんですけど...。

無責任な発言お許しください。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。おそらく下のかたと似たような考えかと思います。
位相のズレはDC成分としてだけ出てくるようなので後から除けば良いのではないでしょうか。

お礼日時:2001/03/01 14:15

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QFFTを使って信号から特定の周波数を抜き去る方法

FFTを用いてある時系列データから特定の周波数の成分を抜き去ろうと思っていますが、
うまくいかないのでお伺いします。
調べてみると、スペクトルを出すとき、例えば同じ振幅で周波数の異なるの正弦波を
10個入れても全て同じ振幅にならず、振幅の大きさにばらつきが出ていて周波数成
分の成分の推定がうまくいっていないようです。FFTの2乗のデータを小さな周波数区
間で積分してスペクトル密度にしても、先ほどの10個の正弦波の振幅がそろわない
のと、周波数推定が悪くなりうまく、引き去れなくなっています。
よくある状況だと思いますが、どういう工夫が必要なのでしょうか。
ちなみに、FFTのルーチンはnumerical recipeとFFTWの二つで試しました。

Aベストアンサー

0にする部分を
少し多めにする。

さらに詳しい計算が必要なら、
サンプリングレート
データ数
問題としている10の成分の周波数
FFTの結果のどの成分何ヘルツを表しているかの
計算式を記載してください。
逆フーリエ変換の結果
を書いてください。

QEXCELにてローパスフィルタを作成する

実験の測定データをEXCELでデータ整理しようと考えております。データ整理のためローパスフィルタをかけたいのですが、具体的にどういった式、もしくはEXCELの機能を使用したらいいのでしょうか?デジタルフィルタが良く分からないのでよろしくお願いします。
ちなみにローパスフィルタは1000Hzをかけたいです。

Aベストアンサー

時系列データの処理ならば

OutputData(n+1) = OutputData(n) + (InputData(n+1) - OutputData(n)) * dt / T

dt:データのサンプリング間隔
T:フィルタの時定数 1/2πf
f:カットオフ周波数
n,n+1:それぞれn個目,n+1個目のデータをしめす。

でいけると思いますが、一次のパッシブなんで効果が薄いかも。(普通はベッセルかけるんでしょうけど、そこまではわからない)

Q音声データのある特定周波数帯域をカットできるソフトウェアはありますか。

難聴のあるお子さんの理解を図るための授業に資するため,疑似体験用の音声をつくりたいと考えております。例えば,私の音声を録音しそれをパソコンで高い周波数や低い周波数をカットしたり,あるいは特定の周波数帯のみを取り出したりすることのできるようなソフトウェアはないものでしょうか(わゆるローパス,ハイパスフィルター,特定周波数帯のフィルター)。高価なものの購入は難しいので,廉価なものがあるようでしたらお教えください。

Aベストアンサー

廉価どころかフリーなものもありますよ。

・録音した音声ファイルを加工するソフト
何年か前に朝日新聞土曜版の「ソフ得!」(↓筆者 鐸木能光氏のサイト)
http://takuki.com/
で紹介された、「SoundEngine Free」(↓メーカーサイト)
http://www.cycleof5th.com/
はいかがでしょうか。フィルタ以外にもかなり高機能なので逆に使いにくいのかもしれませんが。

・録音するソフト
60秒以内ならwindows付属のサウンドレコーダーでもいいでしょう。
ソフト登録サイト Vector の「音声 録音・再生」のカテゴリにたくさんあります。
http://www.vector.co.jp/vpack/filearea/win/art/sound/
実際に使っていないので、どれがお勧めとは言いかねるのですが、シンプルな(サイズが大きくない)もので十分では。
たとえば上のほうにある「ぽけっとれこーだー」とかいかがでしょうか。

フリーなのでいろいろと試してみてもいいと思います。

Qカットオフ周波数とは何ですか?

ウィキペディアに以下のように書いてました。

遮断周波数(しゃだんしゅうはすう)またはカットオフ周波数(英: Cutoff frequency)とは、物理学や電気工学におけるシステム応答の限界であり、それを超えると入力されたエネルギーは減衰したり反射したりする。典型例として次のような定義がある。
電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
導波管で伝送可能な最低周波数(あるいは最大波長)。
遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。


ですがよくわかりません。
わかりやすく言うとどういったことなのですか?

Aベストアンサー

>電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
>導波管で伝送可能な最低周波数(あるいは最大波長)。
>遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。

簡単にいうと、一口に「カットオフ周波数」と言っても分野によって意味が違う。
電子回路屋が「カットオフ周波数」と言うときと、導波管の設計屋さんが「カットオフ周波数」と言うとき
言葉こそ同じ「カットオフ周波数」でも、意味は違うって事です。



電子回路の遮断周波数の場合
-3dB はエネルギー量にして1/2である事を意味します。
つまり、-3dBなるカットオフ周波数とは

「エネルギーの半分以上が通過するといえる」

「エネルギーの半分以上が遮断されるといえる」
の境目です。

>カットオフ周波数は影響がないと考える周波数のことでよろしいでしょうか?
いいえ
例えば高い周波数を通すフィルタがあるとして、カットオフ周波数が1000Hzの場合
1010Hzだと51%通過
1000Hzだと50%通過
990Hzだと49%通過
というようなものをイメージすると解り易いかも。

>電子回路の遮断周波数: その周波数を越えると(あるいは下回ると)回路の利得が通常値の 3 dB 低下する。
>導波管で伝送可能な最低周波数(あるいは最大波長)。
>遮断周波数は、プラズマ振動にもあり、場の量子論における繰り込みに関連した概念にも用いられる。

簡単にいうと、一口に「カットオフ周波数」と言っても分野によって意味が違う。
電子回路屋が「カットオフ周波数」と言うときと、導波管の設計屋さんが「カットオフ周波数」と言うとき
言葉こそ同じ「カットオフ周波数」でも、意味は違うって事です...続きを読む

Q原波形のノイズ除去方法(FFT、逆FFT)

始めに、僕は数値解析等にはかなりの未熟者です。
今、微量な電流を拾ってそれを200倍に増幅した原波形があるのですが、それには多くのノイズがはいってしまい見にくいんです。それでそのノイズを除去したいのです。
今考えているのはFFTをかけてでてきた周波数を逆FFTを行いノイズを除去しようと考えています。もし他に簡単にノイズを除去できる方法があれば教えていただきたいのですが。
今、自分のなりの考えで行うとしてもその処理の仕方がまったくわかりません。どのソフトを使うのが最適なのかがわかりません。こういう場合で使いやすいソフトってありますか?

わかりにくい説明ではありますが、分かる人がいましたらアドバイスください。

Aベストアンサー

No.2です。

画面全体がノイズだらけになるとしたらデータの処理だけで
ノイズを除去する事は難しいかもしれません。
データの再取得が可能であるならば再取得してください。
その際、あらかじめアナログ回路部分でノイズを除去しておいてデータを取得するようにしてください。
データのサンプリング時にエイリアシングが発生して信号にかぶさった場合には後処理でノイズを除去する事は不可能です。


フィルタについてはアナログ回路で実現するもの、AD変換後にデジタル回路で実現するもの、データ取得後にソフトウエアで行うものなどが有ります。

>多少信号のでている時間、大きさに誤差が出てきてしまう
とのことですが、フィルタを通した場合一般的には時間遅れが生じます。
どれだけ遅れるかはフィルタが決まれば決定されるのでその分補正すれば良いです。
大きさについては適切に設計されていれば大きくずれる事はありませんが
フィルタの種類によっては通過域でゲインが変化しないものと多少の変化があるものとが有るので用途によって使い分けします。

フィルタ処理の具体例を挙げます。
No.3さんの計算と同じものです。
/* FIRフィルタのサンプル */
#define DATA_SZ1000 /* データの個数 */
#define KN2
#define KEISU_SZ(2*KN+1) /* フィルタの係数の個数 */

float input[DATA_SZ]; /* 入力データ 適当な方法で初期化すること */
float output[DATA_SZ]; /* 出力データ */
float keisu[KEISU_SZ] = {1.0/KEISU_SZ} ; /* 移動平均フィルタの場合 */

void fir( float *in, float *out, float *ks ){
int i,j ;
float x;

  for( i=KN ; i<DATA_SZ-KN ; i++ )
    {
      x= 0 ;
      for( j=-KN : j<=KN ; j++ )
      {
         x += in[i+j] * ks[j+KN] ;
      }
      out[i] = x ;
   }
} /* インデントを付けるため全角スペースを使用しています */

もっと具体的には
入力データ d0,d1,d2,d3,d4,d5,d6,d7
係数データ k0,k1,k2,k3,k4
出力データ ______x2______  上下をそれぞれ掛け算したものの合計
x2 = ( d0*k0 + d1*k1 + d2*k2 + d3*k3 + d4*k4 )

出力のx3を求める場合は入力データを1個左にシフトします。
入力データ d1,d2,d3,d4,d5,d6,d7
係数データ k0,k1,k2,k3,k4
出力データ ______x3______ 
x3 = ( d1*k0 + d2*k1 + d3*k2 + d4*k3 + d5*k4 )

これから分かるように x0,x1 を求めるにはデータが足りません。
どこかから(例えばd0で置き換える)データを持ってくるか、無いものとするしかありません。

係数の数を増やせばより高性能なフィルタとすることが出来ます。
係数を決める、つまりはフィルタを設計する方法の説明はここでは難しいです。
次数がそれほど大きくなけれはエクセルでも計算できます。

No.2です。

画面全体がノイズだらけになるとしたらデータの処理だけで
ノイズを除去する事は難しいかもしれません。
データの再取得が可能であるならば再取得してください。
その際、あらかじめアナログ回路部分でノイズを除去しておいてデータを取得するようにしてください。
データのサンプリング時にエイリアシングが発生して信号にかぶさった場合には後処理でノイズを除去する事は不可能です。


フィルタについてはアナログ回路で実現するもの、AD変換後にデジタル回路で実現するもの、データ取得...続きを読む

Q直流成分、交流成分の意味

直流成分、交流成分という単語をたまに参考書やネットなどで見かけるのですが、いまいち何を示しているのかわかりません。

今回はウェーブレット変換の本で見かけました。

電磁気学がちゃんと分かっていれば理解できるのかもしれませんが、生憎苦手です。
ネットで調べるとフーリエ級数がどうとかも出てきます。
フーリエ関連はある程度分かりますが、何がどう直流なのか交流なのかが結局分かりませんでした。

そこで本を読み進めるにあたっての簡単な解釈を教えていただけたらと思います。

何卒よろしくお願いいたします。

Aベストアンサー

ある波形(信号波形、電圧波形、電流波形)の直流成分は平均値のことです。
それに対して、
ある波形(信号波形、電圧波形、電流波形)の交流成分は、その波形から平均値を差し引いた波形のことです。

フーリエ級数で言えば
a0の項が直流成分です。
a0の項を除いた項の和が交流成分です。

Qmatlabで指定した周波数帯域だけ返す方法

matlab初心者です。

matlabで、ある音響データを読み込んだ時、時間領域の波形のまま、
指定した周波数帯域だけを取り出したいのですがやり方が分かりません。

例として、サンプリング周波数44.1kH  16bitモノラル音源の音響データがあったとして、
1kH~1.5kHの周波数帯域を時間領域の波形のまま取り出すにはどうすればいいですか?

つまるところ、帯域通過フィルタの設計方法がわからないのです。

Aベストアンサー

フィルタの設計方法は幾つかあると思いますが、
関数fir1を使ってFIRバンドパスフィルタを設計する方法をご紹介します。

Fs=44100; % サンプリング周波数(Hz)
N=100; % フィルタ長。大きいとフィルタ精度が向上するが畳み込みに時間を要する
Wn=[1000 1500]/(Fs/2); % 通過帯域を表すベクトル。0Hzが0、(Fs/2)Hzが1となるようスケーリング
fil=fir1(N,Wn,'bandpass'); % バンドパスフィルタの設計

あとは関数convを使って畳み込み積分をすればOKです。
フィルタの特性はfreqz(fil,1)で確認することができます。

参考URL:http://lis2.huie.hokudai.ac.jp/~toyo/MATLAB/

Qフーリエ変換をして、周波数成分を取り出したい

1次元フーリエ変換を理解中の者です。

サンプリングした電圧のデータ列を分析して、周波数成分を取り出したいのですが、
フーリエ変換の概念はわかります。
やりたいのは、よく見かける、横軸周波数、縦軸電圧を作りたいです。

探したサンプルプログラムを実行して出力を得ました
実は一般的なソースらしいのですが、意味はまだ理解していません


1Khzでサンプリングした電圧のデータ列
int samp[20] = {0, 0, 0, 0, 0, 0, 0, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0};

結果
0 0 0 0 0 0 0 100 100 100 100 100 100 0 0 0 0 0 0 0
0 12 30 15 -42 -99 -80 60 292 510 600 510 292 60 -80 -100 -42 15 30 12
0 0 0 0 0 0 0 100 100 100 100 100 100 0 0 0 0 0 0 0

ソースは最後に添付します

お聞きしたいのは、この結果は、どう見たら良いのでしょうか
欲しい結果は、
1kHz = 〇v
10kHz = 〇v
...


ソース
int test_1_main()
{
double re[20], im[20];
int i;
FILE *fo;

char *outfile="test.txt";

if ((fo = fopen(outfile, "w")) == NULL) {
printf("file open error!!\n");
return (-1);
}

for(i=0; i<20; i++){
re[i] = samp[i];
im[i] = 0;
}

for(i=0; i<20; i++){
fprintf(fo, "%d ", (int)re[i]);
}

dft_swap(re, im, 20);
fprintf(fo, "\n");
dft_idft(re, im, 20, DFT);
dft_swap(re, im, 20);

for(i=0; i<20; i++){
fprintf(fo, "%d ", (int)re[i]);
}
fprintf(fo, "\n");

dft_swap(re, im, 20);
dft_idft(re, im, 20, IDFT);
dft_swap(re, im, 20);

for(i=0; i<20; i++){
fprintf(fo, "%d ", (int)re[i]);
}
fprintf(fo, "\n");

fclose(fo);

return 0;
}

call関数は書けないので抜粋以下
int dft_idft(double *re, double *im, int num, int flag)
{

for(i=0; i<num; i++){
temp_re[i] = temp_im[i] = 0.0;
}

if(flag==IDFT)coefficient=num;
else coefficient=1;

for(i=0; i<num; i++){
for(j=0; j<num; j++){
temp_re[i] += re[j]*cos(2*PI*i*j/num) + flag*im[j]*sin(2*PI*i*j/num);
temp_im[i] += -flag*re[j]*sin(2*PI*i*j/num) + im[j]*cos(2*PI*i*j/num);
}
temp_re[i] /= coefficient;
temp_im[i] /= coefficient;
}

for(i=0; i<num; i++){
re[i] = temp_re[i];
im[i] = temp_im[i];
}


}

1次元フーリエ変換を理解中の者です。

サンプリングした電圧のデータ列を分析して、周波数成分を取り出したいのですが、
フーリエ変換の概念はわかります。
やりたいのは、よく見かける、横軸周波数、縦軸電圧を作りたいです。

探したサンプルプログラムを実行して出力を得ました
実は一般的なソースらしいのですが、意味はまだ理解していません


1Khzでサンプリングした電圧のデータ列
int samp[20] = {0, 0, 0, 0, 0, 0, 0, 100, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, 0, 0};

結果
0 0 0 0 0 0 0 100 10...続きを読む

Aベストアンサー

#1です。

> 結果は、(元データ単位がVだとして)
> 0Hz 900v 
> 50Hz 1332.5v
> ・・・
> でしょうか

違います。
0Hzは30V(3列目)です。

pow=(re/20)^2+(im/20) 

pow=(re/20)^2+(im/20)^2
の間違いでした。
オイラーの公式知っていますか?
reはreal
imはimaginary
を示しています。
re*cos(θ)+i*im*sin(θ)
のパワーがpowです。
大きさはパワーの平方根でmagです。

”折り返し部分を纏めて”は
08行目のパワーと10行目のパワーは同じ周波数のパワーを示しているので
足しているだけです。
((510/20)^2+(-80/20)^2)*2=1332.5
これはパワーなので大きさに直すと
√1332.5=36.5Vです。

最大100Vの信号なので900Vなんて出るわけありません。

また、分析周波数単位という言葉はわかりませんが、
今回のように
1kHzサンプリングで20サンプルの系列をFFTで20個の周波数の系列に変換した場合、
変換後の周波数分解能は50Hzです。

#1です。

> 結果は、(元データ単位がVだとして)
> 0Hz 900v 
> 50Hz 1332.5v
> ・・・
> でしょうか

違います。
0Hzは30V(3列目)です。

pow=(re/20)^2+(im/20) 

pow=(re/20)^2+(im/20)^2
の間違いでした。
オイラーの公式知っていますか?
reはreal
imはimaginary
を示しています。
re*cos(θ)+i*im*sin(θ)
のパワーがpowです。
大きさはパワーの平方根でmagです。

”折り返し部分を纏めて”は
08行目のパワーと10行目のパワーは同じ周波数のパワーを示しているので
足しているだけです。
((510/20)^2+(...続きを読む

Qノイズの入った波形をきれいな波形にする方法

こんにちは。ギザギザになっている波形をきれいな波形にしたいのですが、方法が思い浮かばず困っています。

たとえば、このような式のデータがあったとします。
COS(2*3.1419*100*時間)+0.1*COS(2*3.1419*500*時間)-0.2*SIN(2*3.1419*800*時間)-0.1*COS(2*3.1419*10000*時間)+0.4*SIN(2*3.1419*25000*時間)

欲しい波形:COS(2*3.1419*100*時間)+0.1*COS(2*3.1419*500*時間)-0.2*SIN(2*3.1419*800*時間)
ノイズ:-0.1*COS(2*3.1419*10000*時間)+0.4*SIN(2*3.1419*25000*時間)
だと思ってください。

この波形をきれいな波形にしたいのですが、どのような方法で行うのがよいのでしょうか?
移動平均を取ってみたのですが、上手くいかず、困っています。参考になりそうなサイトの情報でも構いませんので何か手がかりをください。
よろしくお願いします。

こんにちは。ギザギザになっている波形をきれいな波形にしたいのですが、方法が思い浮かばず困っています。

たとえば、このような式のデータがあったとします。
COS(2*3.1419*100*時間)+0.1*COS(2*3.1419*500*時間)-0.2*SIN(2*3.1419*800*時間)-0.1*COS(2*3.1419*10000*時間)+0.4*SIN(2*3.1419*25000*時間)

欲しい波形:COS(2*3.1419*100*時間)+0.1*COS(2*3.1419*500*時間)-0.2*SIN(2*3.1419*800*時間)
ノイズ:-0.1*COS(2*3.1419*10000*時間)+0.4*SIN(2*3.1419*25000*時間)
だと思ってください。

こ...続きを読む

Aベストアンサー

No.1の方の回答が一番適切だと思いますが、それに対する質問者の反応がいまいちだったので補足します。
FFT(高速フーリエ変換)をご存知でしょうか。
今提示されている式は「信号成分」と「ノイズ分」は時間軸で記載されていますがこれをFFT解析することで周波数軸のデータに変換できます。ノイズは例えば信号成分に対し離れた周波数の場合に多いのでこの特性を利用して、周波数軸データからノイズの周波数成分をフィルタ関数などで取り除きます。
この後元の時間軸データに戻す作業がiFFT解析です。

もし、ノイズ成分が信号成分の周波数と近いならばNo.2の方の平均方法が適切です。
ノイズは一般にランダム性が強いので平均化でかなり取り除けるはずです。

前者のFFTソフトについてはVectorなど紹介されていますので探してみてください。

以上、参考まで。

QFFT・PSDの縦軸は何を意味するのでしょう?

加速度計測の結果について、PSD(パワースペクトラムデンシティ)をかけた場合、その縦軸の意味を教えてください。
また、FFTとPSDはどういう違いが有るのでしょうか?
これまでは、周波数の分布のみに着目していました。
どなたか、わかりやすく教えてください。
よろしくお願いします。

Aベストアンサー

一般に加速度センサー信号の出力は電圧です。

縦軸は係数をかけていない状態では#1さんがおっしゃるように計測した電圧の値を示しています。

よって、縦軸に物理的な意味を持たせるのには、電圧と加速度の間の換算係数をかけてやる必要があります。

フーリエ解析は時刻歴波形は正弦波の組み合わせで構成されるという仮定の下で計算を行っています。FFTの結果は横軸で示される周波数の正弦波の振幅を示しています。
電圧と加速度の換算係数をかけてやると、FFTの縦軸はその周波数成分を持つ加速度振幅を示しています。

ここで1つ問題があります。FFTはサンプリング周波数により分解能が変わります。FFTによる周波数分析は正確にいうと、離散値なので、ジャストの周波数のもをだけを表しているのではなく、ある範囲の周波数範囲にある成分を表しています。
このため分解能が変わると周波数範囲が変わり、同じ波形を分析しても振幅が変わります。
これでは分解能が異なるデータ同士は比較できないなどの問題が生じます。
そのため、周波数幅で振幅を基準化して、1Hzあたりの振幅としたものがPSDです。
PSDならサンプリング周波数が異なるデータ同士の比較ができます。

要はフーリエ振幅(FFT)はサンプリング周波数・分解能により変わる値であり、PSDはそのようなことのないように周波数幅で基準化した値という差があります。

なお、2乗表示したものをパワースペクトルと呼び、それを周波数で基準化したものをPSDと呼びますが、PSDは表示方法によって2乗した状態のあたいを表示(パワー表示)するときと、2乗した値の平方根を計算して表示することがありますので、使用する際には縦軸の表示方法については要注意です。

一般に加速度センサー信号の出力は電圧です。

縦軸は係数をかけていない状態では#1さんがおっしゃるように計測した電圧の値を示しています。

よって、縦軸に物理的な意味を持たせるのには、電圧と加速度の間の換算係数をかけてやる必要があります。

フーリエ解析は時刻歴波形は正弦波の組み合わせで構成されるという仮定の下で計算を行っています。FFTの結果は横軸で示される周波数の正弦波の振幅を示しています。
電圧と加速度の換算係数をかけてやると、FFTの縦軸はその周波数成分を持つ加速...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング