アンドレイ・シェルコヴェンコ。Vibromeraの開発者の一人であり、創設者。
記事の翻訳には不正確な部分が含まれている可能性がある。
- フーリエ変換と信号スペクトル
多くの場合、信号のスペクトルを求める(計算する)作業は次のようなものである。ADCがあり、サンプリング周波数Fdで、時間Tの間に入力される連続信号をデジタルサンプル-N個-に変換する。次に、このサンプルの配列を、あるプログラム(たとえば フーリエスコープ)は、N/2の数値を出力する。
プログラムが正しく動くかどうかをチェックするために、2つのsin(10*2*π*x)+0.5*sin(5*2*π*x)の和としてサンプルの配列を形成し、それをプログラムに入力する。プログラムは次のように描画した:
スペクトラム・グラフには、振幅0.5Vの5Hzと振幅1Vの10Hzの2つの高調波があるが、すべて元の信号の式通りである。グログラムは正常に動作しています。
つまり、2つの正弦波の混合からなる実信号をADC入力に送ると、2つの高調波からなる同様のスペクトルが得られる。
だから リアル 測定信号 5秒間ADCによってデジタル化され、すなわち次のように表される。 個別 サンプルは 非周期的 のスペクトルを持つ。
数学的見地から見て、このフレーズにはいくつの誤りがあるのだろうか?
では、同じ信号を0.5秒間測定してみよう。
ここがおかしい!10Hzのハーモニクスは正常に描かれ、5Hzのハーモニクスの代わりに不明瞭なハーモニクスがある。
インターネット上では、サンプルの末尾にゼロを加えればスペクトルが正常に描画されると言われている。
それは全然違う。理論的に対処しなければならないだろう。それでは ウィキペディア - 知識の源である。
2.連続関数とそのフーリエ級数表現
数学的には、継続時間T秒の信号は、区間{0, T}(この場合のXは時間)上で与えられる関数f(x)である。このような関数は、常に次のような形式の調和関数(サインまたはコサイン)の和として表すことができる:
kは三角関数の数(高調波成分の数、高調波の数)。
T - 関数が定義されるセグメント(信号の持続時間)。
Ak- k番目の高調波成分の振幅、
θk-第k次高調波成分の初期位相
関数を級数の和で表す」とはどういう意味でしょうか?各点におけるフーリエ級数の調和成分の値を足すことで、その点における関数の値が得られるということだ。
(より厳密には、関数f(x)からの系列の2乗平均偏差はゼロになる傾向があるが、2乗平均収束にもかかわらず、一般的に言って、関数のフーリエ級数は点ごとに収束する必要はない)。)
このシリーズは、次のような形でも書ける:
どこ k番目の複素振幅。
または
係数(1)と(3)の関係は以下の式で表される:
フーリエ級数のこれら3つの表現はすべて完全に等価であることに注意しよう。フーリエ級数を扱うとき、サインやコサインの代わりに虚数引数の指数を使った方が便利なことがある。しかし、フーリエ級数は対応する振幅と位相を持つ余弦の和として表される式(1)を使うのが便利である。いずれにせよ、実信号のフーリエ変換の結果が複素調和振幅になるというのは間違いである。Wikiが正しく述べているように、"フーリエ変換(!)とは、実変数のある関数を同じく実変数の別の関数に写像する操作である"。
結論:
信号のスペクトル分析の数学的基礎はフーリエ変換である。
フーリエ変換は、区間{0, T}上で定義された連続関数f(x)(信号)を、同じく区間{0, T}上で定義された振幅と位相が明確な三角関数(正弦または余弦)の無限個の和(無限級数)として表現することができる。このような級数はフーリエ級数と呼ばれる。
フーリエ変換を信号解析に正しく適用するためには、この点を理解する必要がある。X軸全体のフーリエ級数(正弦波の和)を考えると、区間{0, T}の外ではフーリエ級数関数が周期的に我々の関数を繰り返すことがわかる。
例えば、図7のグラフでは、元の関数は区間{-T2, +T2}で定義されており、フーリエ級数はx軸全体で定義された周期関数を表している。
正弦波自体が周期関数であるため、その和も周期関数になるからだ。
このように:
元の関数は、長さTのセグメント上で定義された連続的で非周期的な関数である。
この関数のスペクトルは離散的であり、すなわち倍音成分の無限級数、つまりフーリエ級数として表される。
実際、フーリエ級数はある周期的な関数を定義し、それは区間{0, T}上で我々の関数と一致するが、我々にとってこの周期性は本質的なものではない。
次ページ
高調波成分の周期は、初期関数f(x)が定義されている区間{0, T}の倍数である。言い換えれば、高調波の周期は信号測定の持続時間の倍数である。例えば、フーリエ級数における第一高調波の周期は、関数f(x)が定義されている区間Tに等しい。フーリエ級数における第 2 高調波の周期は、区間 T/2 に等しい。以下同様である(図8参照)。
したがって、高調波成分の周波数は1/Tの倍数である。すなわち、高調波成分Fkの周波数は、Fk= kTであり、kは0から∞までの値をとり、例えば、k=0 F0=0; k=1 F1=1T; k=2 F2=2T; k=3 F3=3T;....Fk= k 椎T(周波数ゼロの時、一定成分)。
初期関数を、T=1 秒間に記録された信号とする。このとき、第一高調波の周期は、信号の継続時間 T1=T=1 秒に等しく、高調波の周波数は 1Hz に等しい。第 2 高調波の周期は、信号の継続時間を 2 で割った値(T2=T/2=0.5 秒)に等しく、周波数は 2Hz に等しい。第 3 高調波の場合、T3=T/3 秒となり、周波数は 3Hz となる。となる。
この場合の倍音間のステップは1Hzである。
したがって、1秒間の信号を1Hzの周波数分解能で高調波成分に分解する(スペクトルを得る)ことができる。
分解能を2倍の0.5Hzにするには、測定時間を2倍の2秒にする必要がある。10秒間の信号を0.1Hzの周波数分解能で高調波成分(スペクトラム)に分解できる。周波数分解能を上げる他の方法はない。
サンプルの配列にゼロを加えることで、信号の持続時間を人工的に長くする方法がある。しかし、それでは実際の周波数分解能は上がりません。
3.離散信号と離散フーリエ変換
デジタル技術の発展により、測定データ(信号)の保存方法が変わった。以前は信号はテープレコーダーに記録され、アナログ形式でテープに保存できたが、現在では信号はデジタル化され、数値(カウント)の集合としてコンピュータのメモリにファイルとして保存される。
通常の信号測定とデジタル化のスキームは次のようになる。
測定トランスデューサー -- 信号ノーマライザー -- ADC -- コンピューター
(図9 測定チャンネルの模式図)
時間Tの間に受信された信号の読み取り値(サンプリング)はコンピュータに送信され、メモリに保存されます。
信号のデジタル化パラメータに必要な条件とは?入力されたアナログ信号を離散的なコード(デジタル信号)に変換する装置をアナログ・デジタル・コンバーター(ADC)と呼びます(© Wiki)。
ADCの基本パラメータの1つは、最大サンプリング・レート(時間的に連続した信号のサンプリング周波数)である。サンプル・レートはヘルツで測定される。((© Wiki))
コテルニコフの定理によれば、連続信号が周波数Fmaxによって制限されるスペクトルを持つ場合、それは時間間隔T=1/2*Fmax、すなわち周波数Fd≧2*Fmaxで採取された離散サンプルから完全かつ一意に再構成できる。言い換えれば、信号のデジタル化の周波数(ADCのサンプリング周波数)は、測定したい信号の最大周波数の少なくとも2倍以上でなければなりません。
また、コテルニコフの定理で要求されるよりも低い頻度でサンプルを取ったらどうなるだろうか?
この場合、デジタル化後の高周波信号が実際には存在しない低周波信号に変化する「エイリアシング効果」(別名ストロボ効果、モアレ効果)が発生する。図11では、高周波の赤い正弦波が実信号である。低周波の青い正弦波は架空の信号で、サンプリング時間中に高周波信号の半周期以上を経過する時間があるために生じる。
エイリアシング効果を避けるために、特別なアンチエイリアスフィルター(ローパスフィルター)がADCの前に配置される。これは、ADCサンプリング周波数の半分より低い周波数を通過させ、高い周波数をカットします。
離散サンプルによる信号スペクトルを計算するために、離散フーリエ変換(DFT)が使用される。繰り返しますが、離散信号のスペクトラムは、"定義上 "サンプリング周波数Fdの半分より小さい周波数Fmaxに制限されます。したがって、離散信号のスペクトルは、以下の和で表すことができる。 有限 連続信号のフーリエ級数が無限和であるのとは対照的に、高調波の数は無制限である。コテルニコフの定理によれば、高調波の最大周波数は少なくとも2つのサンプルを占めるようなものでなければならないので、高調波の数は離散信号のサンプル数の半分に等しくなる。つまり、サンプルにN個のサンプルがあれば、スペクトルの高調波の数はN/2になる。
ここで離散フーリエ変換(DFT)を考えてみよう。
フーリエ級数との比較
FFTの時間が離散的であることと、高調波の数がサンプル数の半分であるN/2に制限されていることを除けば、両者は一致していることがわかる。
DFT式は無次元整数変数k, sで記述され、kは信号サンプル数、sはスペクトル成分数である。
値 s は、周期 T(信号測定期間)あたりの全高調波振動の数を示す。離散フーリエ変換は、高調波の振幅と位相を数値的に、つまり "コンピュータ上で "求めるために使用される。
すでに述べたように、非周期関数(我々の信号)をフーリエ級数に分解すると、結果として得られるフーリエ級数は、実際には周期Tを持つ周期関数に対応する(図12)。
図12からわかるように、関数f(x)は周期T0で周期的である。しかし、測定サンプルの長さTが関数の周期T0と等しくないため、フーリエ級数として得られる関数はT点で不連続となり、その結果、この関数のスペクトルには多数の高周波高調波が含まれることになる。測定サンプルの長さTが関数の周期T0と一致する場合、関数f(x)は正弦波であるため、フーリエ変換後に得られるスペクトルには第1高調波(サンプルの長さに等しい周期を持つ正弦波)しか含まれない。
言い換えれば、DFTプログラムは私たちの信号が「正弦波のスライス」であることを「知らない」のであって、正弦波の別々の断片の不連続性によって不連続性を持つ周期関数を直列として表現しようとするのである。
その結果、スペクトルに高調波が現れ、この不連続性を含む関数の形状を全体として表すことになる。
従って、周期の異なる複数の正弦波の和である信号の "正しい "スペクトルを得るためには、1つの正弦波を1つの正弦波に変換する必要がある。 の整数期間 各正弦波は、信号の測定期間中に存在しなければならない。実際には、信号の測定期間が十分に長ければ、この条件を満たすことができる。
持続時間が短いと、画像は「悪く」見える:
実際には、どこまでが "本当の成分 "で、どこからが成分の周期と信号のサンプリング時間の不一致や波形の "ジャンプや切れ目 "に起因する "アーチファクト "なのかを理解するのは難しい。もちろん、「実成分」と「アーチファクト」という言葉が引用符でくくられているのには理由がある。スペクトラム・グラフ上に多くの高調波が存在しても、その信号が実際に高調波で構成されているわけではありません。それは、7番が3番と4番から「構成」されていると考えるようなものです。7は3と4の和と考えることができる。
ですから、私たちの信号......いや、むしろ「私たちの信号」ですらなく、私たちの信号(サンプル)を繰り返すことによって構成される周期関数は、ある振幅と位相を持つ高調波(正弦波)の和として表すことができます。しかし、実務上重要な多くの場合(上の図を参照)、スペクトルで得られる高調波を、周期的な性質を持ち、信号の形に大きく寄与する実際のプロセスに関連付けることも実際に可能である。
いくつかの結果
1.ADCでデジタル化されたT秒間の実測信号、すなわち離散サンプル(N個)の集合で表される信号は、高調波(N/2個)の集合で表される離散非周期スペクトルを持つ。
2.信号は有効な値の集合で表され、そのスペクトルは有効な値の集合で表される。高調波の周波数は正である。負の周波数を使って複素数形でスペクトルを表す方が数学的に便利だからといって、「これが正しい」「常にこうすべきだ」ということにはならない。
3.時間Tで測定された信号は、時間Tでのみ決定される。信号を測定し始める前に何が起こったか、そしてその後に何が起こるかは、科学にとっては未知である。私たちの場合、それは興味深いものではない。時間制限された信号のFFTは、ある条件下でその成分の振幅と周波数を計算できるという意味で、その「真の」スペクトルを与える。