この問題は、今回(R03年9月期)初出ですが、どこかで見たことがあると思ったら、何と1陸技の無線工学Aにそっくりの問題がありました。そのため、この問題は、1陸技用に書き溜めていたファイルから、殆どそのままパクってきました。そのため、説明が長く、また数式等に難しい所がありますが、ご容赦願います。
INDEX
[1]電気信号を周波数軸で解析する
(1) 周波数軸の解析ツール…フーリエ変換
(2) フーリエ変換の意味するところ (3) フーリエ変換の計算
(4) フーリエ変換とはフーリエ級数を求めること
[2]スペクトルを測定する計測器
(1) スペクトラムアナライザとFFTアナライザ
(2) 2種類の測定器の構成と特徴
[3]FFTアナライザと離散フーリエ変換
(1) 時間離散波形とフーリエ変換
(2) フーリエ係数を求める方法
[4]標本化定理とエイリアシング
(1) 標本化定理とその意味
(2) エイリアシングとは何か
[5]エイリアシングを防ぐ方法
(1) 標本化周波数を上げる
(2) 信号の帯域を制限する
[6]FFT演算と出力の読み方
(1) フーリエ係数は有限個でよい
(2) FFTの演算アルゴリズム
(3) 周波数軸はどう決まる、どう決める?
(4) スペクトルを得る方法
(5) 逆フーリエ変換と波形の復元
[7]もっと高い周波数でFFT処理したい
(1) 高い周波数の狭い帯域を見たい
(2) ヒントはスーパーヘテロダイン受信機
解答
[1]電気信号を周波数軸で解析する
電気信号(特に時間的に変化する信号)を議論する際、横軸が時間で縦軸が振幅(電流や電圧etc.)のグラフを頭に描く場合と、横軸が周波数で縦軸が振幅(時に位相も)のグラフを描く場合があります。 いわば、同じ信号を2つの側面から見る測定ですが、各々に使うツール(測定器と理論)が異なります。そこらから入って行きます。
(1) 周波数軸の解析ツール…フーリエ変換
同じ信号を2つの側面から見る、比較的簡単な例としては、振幅変調を挙げました(Fig.HJ0403_a)。
|
Fig.HJ0403_a 時間領域と周波数領域
|
変調率や尖頭電圧を話題にしている時は横軸が時間で、A3EとJ3Eで占有周波数帯幅の違いや信号対雑音(S/N)比を議論している時は、横軸が周波数のグラフ(周波数スペクトル、以後、単にスペクトル、と呼びます)を頭に思い浮かべているはずです。 この場合、同じAM変調の信号を、ある時は時間軸の方向から、またある時は、周波数の軸から眺めていることになりますが、これらの見方は相互に、ある変換をかければ可能になります。
|
その変換が、フーリエ変換及び逆フーリエ変換というもので、
・時間波形→スペクトル:フーリエ変換
・スペクトル→時間波形:逆フーリエ変換
です。Fig.HJ0403_aの右側(周波数領域)には、振幅と位相を描いてありますが、これは、振幅のみのデータからは、逆変換しても実時間波形は得られないことを言いたかったからです。交流の表現には、振幅と周波数の他に、位相の情報が必要不可欠であることに留意して下さい。
(2) フーリエ変換の意味するところ
フーリエ変換、逆フーリエ変換の正確な解説には分かりやすい教科書がありますので、それを参照して下さい。ここでは、無線に必要な基本的な結果のみを述べます。 フーリエ変換が主張するのは、 任意の信号は周波数と位相、振幅の異なる正弦波の和で表現できる
という物理です。特に、一定の周期T [s]を持つ信号については、f0(=1/T) [Hz]として、
周波数f0とその整数倍の正弦波の和 で表現できる、ということになります。
(3) フーリエ変換の計算
任意の周期関数(但し、絶対積分可能、要するに積分すると発散するような「変な」関数ではないということ)をf(t)、ω0=2πf0 [rad/s]、として上記の内容を式で書けば、
となります。これをフーリエ級数展開といいます。第1式を(expの中が純虚数で書かれているので)オイラーの公式(exp(jx)=cosx+jsinx)を使って、第2式のように変形しました。また、sin, cosの角速度部分にω0にnが掛かって入っているので、基本波(n=±1)と高調波(|n|≧2)の和になっていることが分かります。ちなみにn=0は直流成分です。 (1)式を見ると、nは負の値も取りうるので、「それは『負の周波数』があるということ?」という疑問がわきます。数学的な証明は専門書を参照していただくとして、ここでは、「負の周波数があるものとして話を進めると、都合がいいから」という、まったくもって都合のいい解釈で誤魔化してしまうことにします。
(4) フーリエ変換とはフーリエ級数を求めること
(1)式の中で、Cnはフーリエ係数と呼ばれ、一般に複素数です。波形が時間とともに変化しないなら、定数で、これが、各正弦波の振幅や位相を示します。Cnを求めた結果だけ書くと、
となります。なお、これまた数学的な説明は専門書に譲りますが、0でない整数kについて、Ck=C-k+(CkとC-kは「複素共役」)が成り立ちます。 ところで、「(1)式はどうして左辺が実数(電圧や電流)なのに、右辺に複素数が入ってくるんだ?」という疑問がありませんか? それは、各周波数成分が異なる「位相」を持つことと関係があります。上で、Cnの大きさや偏角が各周波数成分の振幅や位相を示す、と書きました。周波数成分の振幅がCnの大きさ(絶対値)であり、位相がCnの偏角に相当するのです。後で示しますが、我々が測定器に表示させているのは、このフーリエ級数Cnのabs(Cn)やarg(Cn)なのです。 左辺が実数で、右辺が複素数なのですが、右辺の虚数の項は全てのΣを取った後には、ゼロになります。
[2]スペクトルを測定する計測器
次に、スペクトルを測定できる測定器には、どんなものがあるか、を見ておきます。
(1) スペクトラムアナライザとFFTアナライザ
放送局や高周波の機器の研究開発方面でお勤めの方にはテスターやオシロスコープと同じ程度に当たり前の計測器かもしれません。大きく分けて、スペクトラムアナライザ(国家試験ではスペクトルアナライザと表記)とFFTアナライザの2種類があります。 FFTとは、高速フーリエ変換(Fast Fourier Transform)のことで、標本化(サンプリング)したN点のデータの周波数解析をNlogN回の積和演算で行う(DFTと呼ぶ高速化しない方式ではN2回の積和演算が必要)ことができるアルゴリズムで、近年ではDSP(デジタルシグナルプロセッサ)等のプログラマブルデバイスを使い、ハードウェアでの高速処理が可能になっています。
(2) 2種類の測定器の構成と特徴
ここではまず、構造について見て行きます。それぞれ、得意分野があり、使い分けがされています。もっとも、最近ではデジタル+アナログ技術を融合・駆使して、両者を組み合わせて適用範囲を広げてきています。これも最後に触れることにします。
|
Fig.HJ0403_bのように、基本的にはスペクトラムアナライザはアナログリッチな測定器で、振幅の周波数成分のみを、FFTアナライザはデジタルリッチな測定器で、振幅と位相の両方の周波数成分を同時に計測することができます。 スペクトラムアナライザの基本構成はスーパーヘテロダイン受信機とほぼ同じで、受信機の中間周波数をスイープさせながら、IFフィルタの出力を検波します。検波の際に、位相の情報は消えてしまいますので、振幅の大きさのみを解析するものです。また、スイープさせている間、同じ波形が繰返し現れなければならないので、単発・非繰返し波形は測定できない、というデメリットもあります。
|
Fig.HJ0403_b FFTとスペクトラムアナライザ
|
スイープさせている間に波形が変わってしまうと、周波数成分も変わってしまうので、スイープが済んだ部分と、これからスイープする部分で、違う波形のスペクトルを見ていることになってしまうからです。 一方で、扱える周波数範囲は数[kHz]から数十[GHz]までと広いのものが製品化されています。主に、無線関係・EMC関係で使うのはこちらです。
対するFFTアナライザは、A/D変換器や波形メモリ、DSPやCPU等の演算素子からなっています。対象時間内の波形をいったん全て標本化・量子化(A/D変換)した後、メモリに蓄積し、このデータに対してFFT演算を施します。波形をメモリに蓄えて演算しますから、単発現象や繰返し波形でない信号の分析が可能です。周波数範囲は、数[mHz]から100 [kHz]程度までのものが多いようです。特に高周波用の物では、数 [MHz]まで測れるものもあります。音響関係、建築関係、メカの騒音・振動解析等が主な用途です。
スペクトラムアナライザとFFTアナライザとを比較すると、以下のようになります。
項目 |
スペクトラムアナライザ |
FFTアナライザ |
基本構成 |
スーパーヘテロダイン受信機とほぼ同じ |
A/D変換器・波形メモリ・DSPorCPU |
動作 |
中間周波数をスイープしながら帯域フィルタの出力を測定 |
波形メモリにデジタイズしたデータにFFT演算を掛ける |
単発/繰返し |
繰返し信号のみ |
単発・非繰返し。繰返しも可 |
周波数範囲 |
数kHzから数10GHz程度 |
数mHzから100kHz 特別なもので数MHz程度 |
周波数分解能 |
IF後段のBPFに依存(可変) |
標本化周波数と標本化数に依存 |
測定項目 |
振幅スペクトルのみ |
振幅と位相スペクトル |
用途 |
無線機・回路設計、EMC試験等 |
音響関係、振動・騒音解析等 |
[3]FFTアナライザと離散フーリエ変換
ここまではスペクトラムアナライザとFFTアナライザの比較でしたが、ここからは、専らFFTアナライザの説明をして行きます。
(1) 時間離散波形とフーリエ変換
FFTアナライザの概略で「アナログ信号をA/D変換してメモリに蓄積し…」と書きました。(1)式の左辺のf(t)は周期関数で、時間連続です。もちろん右辺も時間連続な関数です。
|
Fig.HJ0403_c 連続関数から離散関数へ
|
これをA/D変換すると時間的に離散の関数になってしまいますが、問題ないのでしょうか? それに、f(t)が時間軸に離散的になってしまったら、Cnを求めるのに時間積分((2)式)が使えなくなってしまうのではないでしょうか? 積分や複素数を含んだ面倒な(1)や(2)式を出しておきながら、結局FFTってどんな計算なのでしょうか? 実は、標本化周波数とf(t)が持つ周波数成分の広がりの間に、「ある条件」が成り立つ条件の元では、連続的だろうと離散的だろうと、スペクトルとして等価な結果が得られることが証明されています(それがこの後の節の「標本化定理」です)。
|
(2) フーリエ係数を求める方法
Fig.HJ0403_cのように、時間離散系では、関数の周期T [s]をN等分した時間t0の時間間隔で標本化するものとします。波形の「0番目」の標本化を時間軸上の開始点t=0とする(t=+(N-1)t0を終了点)と、開始からk番目までの経過時間は、kt0 [s](k=0,1,2,…,N-1)となります。 時間連続の系の(1),(2)式に対応する、時間離散系での式は下記のようになります。式を並べるだけでは何かよく分からないので、一つずつ式とその中身を見て行きます。
(3)式は(1)式の時間tを「離散的な時間」kt0に変更(tにkt0を代入)し、周期T=Nt0なので、ω0=2πf0=2π×(1/T)=2π/Nt0のω0を(1)に代入しただけです。ここまでは何の「手品」も使っていません。 式の意味は時間tが離散的になったこと以外は、(1)式と全く同様で、「ある時間kt0の関数fの値f(kt0)は、フーリエ係数Cnと『回転部分』exp(j2πnk/N)の積の和で表される」という意味です。『回転部分』と名づけたのは、exp(jq)という関数は、実数qが増加すると、複素平面内の原点を中心とした単位円上を反時計方向に回転する点という意味で、時間的に回転しているわけではありません。
(4)式は(2)式の積分を行なう際に、離散系なので、飛び飛びのt(t=kt0でk=0,1,2,…,N-1)以外のところでは値がゼロで積分がΣに書き変えられることと、上記のようにtとω0を(2)に代入したものです。 Σや積分等が出てきたので、少し長くなりますが、分解して書いてみます。まず、(4)式のΣの中をバラしてみます。あるnで、k=0,1,2,…,N-1について書き下してみると、
となります。このような式がCnの個数分、つまり0からN-1までN本あるわけです。(5)式のf(x)の右の係数exp(-j2πn/N)を定数R(R=exp(-j2π/N))と置いて書けばRnとなるので、もっと簡単にできて、
となります。
時間離散系で信号のスペクトルを求める、というのは(4)式のフーリエ係数Cnを全てのnについて求める、ということです。
[4]標本化定理とエイリアシング
上で、時間連続系から離散系に移る時に、「ある条件の元で、両者は等価だ」と書きました。ここではその「条件」を考えます。
(1) 標本化定理とその意味
まず、信号波に含まれる周波数成分は有限の範囲で、その最高値をfmax [Hz]、標本化周波数をfs [Hz]とします。 証明は専門解説に譲り、結論だけ書くと、
標本化をfmaxの2倍以上の速さのfsで行えば、
時間連続な系と、標本化して得た時間離散系のスペクトルは等価である
となります。言い換えれば、
時間連続な系と標本化して得た時間離散系のスペクトルが等価となる条件は、
2fmax≦fsである
ということになります。これがよく知られた「標本化定理」(又は「ナイキスト定理」)で、アナログ信号の標本化を利用するデジタル信号処理の基本定理となっています。また、標本化周波数の半分(fs/2)をナイキスト周波数といいます。さらに、源信号に含まれる最高周波数fmaxが、標本化周波数fsの半分より低い、という条件を「ナイキスト条件」といいます。 この条件を満たせば、サンプリングを行なった時間離散のパルス列から、元の信号を復元できる、という理論です。
(2) エイリアシングとは何か
|
通常、自然界にあるアナログ信号は、そのままでは無限に広い帯域に広がっていますから、常にナイキスト条件が満たされるとは限りません。ナイキスト条件を満たさない信号を標本化してしまった場合は、どんなことが起こるのか、を考えてみます。 Fig.HJ0403_dは一つの正弦波入力をナイキスト条件を満たす周波数関係(上)と、満たさない関係で標本化した場合(下)のスペクトルを比較したものです。 信号波の周波数をfR [Hz]とします。ナイキスト条件を満たす周波数fS1 [Hz](つまり2fR<fS1、ここではfR=0.3fS1)、満たさない周波数fS2 [Hz](2fR>fS2、ここではfR=0.6fS2)と設定してみます。
|
Fig.HJ0403_d 標本化定理とエイリアシング
|
ナイキスト条件を満たす時のスペクトル(Fig.HJ0403_d右上)は、標本化した結果も元の信号と同じく、周波数fRの所に線スペクトルが現れています。 一方、ナイキスト条件を満たさない関係(同図右下)では、fRの所にスペクトルはなく、実際には信号成分が存在しない周波数fS2−fRのところに、あたかも存在するかのような線スペクトルfAが現れています。 このように、標本化定理を満たさない周波数関係でサンプリングされた源信号の成分が、標本化周波数の1/2の周波数を対称軸に「折り返し」たように偽信号となって現れる現象をエイリアシングと言います(エリアシングとかエイリアジングとか折返し歪み、折返しノイズ等、様々な呼び方がありますが、ここでは「エイリアシング」で統一します)。英語で、エイリアス(alias)という言葉から来ていますが、これは偽名とか「あるように見える」とかいう意味です。
[5]エイリアシングを防ぐ方法
エイリアシングが発生すると、元々ナイキスト周波数以内に入っていた源信号の成分と区別が付かなくなるので、避けなければなりません。ここでは、エイリアシングを避ける方法を考えます。
(1) 標本化周波数を上げる
今、Fig.HJ0403_eの左上のように、fs/2のナイキスト周波数以上にも成分を持っている源信号があるとします。
|
Fig.HJ0403_e エイリアシングの防止法
|
これを、この図のような周波数にある標本化周波数fs [Hz]で標本化すると、赤色実線で示した部分がfs/2 [Hz]を境に折返されて赤色点線のように、ナイキスト周波数内に加算されてきてしまいます。 これを避けるには、ひとつには単純に考えて、同図右上のように、標本化周波数fsを大きく上げて、fs/2を信号成分がほとんどない領域まで持って行ってしまえば、エイリアシングは起こらなくなります。 しかし、この方法では、高速なA/Dコンバータやその後段の信号処理系(FFTも含め)が必要になりますから、コストアップ、開発の難易度アップは避けられません。
|
設計の自由度があれば、この方法もありですが、商品とするものの製品設計・システム設計では、この方法を採ることはまずないでしょう。
(2) 信号の帯域を制限する
一方、無線通信に用いられる周波数幅は、そもそも法律で割当て(占有周波数帯幅)が決まっていますから、自然界に存在する音声や映像が、無限に広い周波数帯域を持っていても、これをある範囲に制限しなければ、電波に乗せられないことはご承知の通りです。アナログ変調であれば、どのような音声・映像フォーマットを用いるか、デジタル変調であれば、どのような変調方式と速度(シンボルレート)を取るかで、源信号に含まれる最高周波数と帯域幅が決まってしまいます。 これは、エイリアシングを避けるには好都合で、無限に広い周波数幅を相手にする必要はなく、源信号を決まった周波数帯域に制限してしまっても、通信できるということです。 このように、エイリアシングを避ける目的で、A/Dコンバータの前段に設けられる(アナログ)フィルタを、アンチエイリアシングフィルタと呼び、通常、低域通過フィルタ(LPF)が用いられます。 この目的には、ナイキスト周波数でバッサリ切れるフィルタが理想ですが、アナログフィルタでは、そんなに切れ味のよいフィルタは実現できないので、カットオフ周波数をナイキスト周波数より若干低い側に設計します(Fig.HJ0403_e右下)。このようにして、エイリアシングが起きないような源信号に加工(Fig.HJ0403_e左下)して、A/Dコンバータに入力します。 以下は「設計事項」と私の私見ですが、単純にナイキスト周波数以上の成分をアナログフィルタでカットする、と言っても、この成分が完全にゼロになるわけではありません。フィルタの次数を高く取れば、帯域外の減衰量は取れますが、帯域内のリプルや群遅延の問題など、設計の難易度も上がります。どの程度エイリアシングを許容するかはシステムによりますので、装置メーカーの差別化要因にもなり得る重要なパラメータです。
[6]FFT演算と出力の読み方
ここでは、FFT演算が実際どのようなアルゴリズムで行なわれているのか、また出力のデータをどう解釈したらよいのか、を考えます。
(1) フーリエ係数は有限個でよい
[3]の最後のところで、全てのCnを求めることが、(離散)フーリエ変換である、と書きました。しかし、フーリエ級数式(3)のnは−∞から+∞まであり、無限に続く加算を計算機にはさせられません。nが大きくなればCnは一様に収束する、という保証があれば、どこかで計算を打ち切ってしまうこともできそうですが、相手は振動関数ですから、そんな保証があるかどうかも分かりません。 ところがそこは良くしたもので、上記のナイキスト条件を満たす場合には、フーリエ級数式(3)は、以下のように表せることが証明されています(証明は私には無理なので、結果だけ)。
この式が語るところは、入力信号の周波数範囲が限られていれば、フーリエ係数も有限個求めればいい、というごく当たり前な結論です。これで、nを0からN-1までのN個の値についてのCnを求めるだけで良くなりました。これもばらして書けば、関数fのある時刻t=kt0(但しk=0,1,2,…,N-1)における値f(kt0)は、
と書けます。なお、フーリエ係数Cnの求め方はnの数に無関係に(4)ですので、これは変更ありません。これでやっと、エイリアシングもなく、フーリエ変換でスペクトルが求められる準備が整いました。ここから、FFT演算の方法と、出てきた結果の読み方を説明します。
(2) FFTの演算アルゴリズム
今、標本化されたN点の波形データをf(kt0)=dkと置き、列ベクトルとして縦に並べ、Rの項を行列(N行N列の正方行列)にすれば、Fig.HJ0403_fの下段の行列の式の右辺となります。ここでは、N=16の例をあげてあります。
|
コンピュータ(CPU,FPGA,DSP etc.)は、この膨大な行列演算を実行して行くわけですが、これを力技で何の工夫もなしに実行したのでは、いくら高速なデバイスがあっても足りません。例えば、4096点の行列演算をまともに解こうとすれば、1600万回以上の積和演算が必要になります。 今の世の中、コストダウンは求められるし、リアルタイム性は要求されるし、低消費電力化も必須です。こんな「腕力勝負」な解き方では、売れる物は作れそうにありません。何かいい方法はないでしょうか?
|
Fig.HJ0403_f FFT演算と出力データの意味
|
私が生まれた1960年代に、同じことを考えた人がいて、この膨大な行列の計算を高速でやってのけるアルゴリズムが開発されました。
|
Fig.HJ0403_g フーリエ係数の「回転」因子
|
N=16を例に取ると、R225(=R(16-1)×(16-1))までの係数が必要ですが、これを何とか楽に計算できないか、考えてみます。 図(Fig.HJ0403_g)からお分かりかもしれません。Rnをガウス平面上の単位円上にプロットすると、nが増加する場合、反時計方向に2π/N [rad]ステップでぐるぐる回るだけです。 ですから、原点について対称な位置にある点の座標は、符号を反対にするだけですし、実部または虚部のどちらかの符号を変えただけの係数もたくさん出てきます。
|
また、16より大きなnについても、z=Rnはnについて周期16(=N)の関数ですから、0≦p,q<16なる整数p,qについて、
Rp=Rp+16=Rp+32=…=Rp+16q
が成立ちます。ということは、R0からR225の全ての係数を計算する必要はないということです。さらに、実軸に関して対称な点(例えばR2とR14)は複素共役なので、虚数部の符号を変えてやるだけで求められます。 このように、Rのナントカ乗の計算を大幅に省略したり、行列の入替えで計算を節約し、力技でやればN2回のオーダーで必要な積和演算をNlogNのオーダーに抑えることができる、というのがFFTのミソです。(時間があれば、FFTの専門書を読んでみて下さい。「バタフライ演算」など、計算量を工夫して減らす「知恵」に感動です。) 但し、この方法は2のべき乗のサンプル点数(波形データ数)の時にのみ使えます。サンプル点数2のべき乗でないケースでも使えるようにする工夫はあるようですが、詳しくないので省きます。 なお、上で明確には書いていませんが、Fig.HJ0403_fの行列計算の式からも分かるように、サンプル数がNである時は、求められるフーリエ係数もN個です。
(3) 周波数軸はどう決まる、どう決める?
さて、振幅や位相のスペクトルをグラフにする前に、求められたN個のフーリエ係数Ck (k=0,1,2,…,N-1)をどう並べればよいのか、初めに周波数軸とサンプル数N、標本化周波数の関係について考察します。Ckのインデックスkが周波数を表します。整数kをどうやって周波数に換算するか…。これは単純に、標本化周波数がfs [Hz]なら、周波数軸は0(直流)からfsまでをN等分したものになります。つまり、k番目(但し、k<N/2)のフーリエ係数は、(k/N)fs [Hz]の成分を示す、ということになります。 しかしながら、「但し、k<N/2」の但し書きには理由があって、単純にkが大きくなるにつれて、周波数が高くなるように並べれば良いかというと、そうではありません。得られたN個のフーリエ係数をインデックスkの順に並べてみると、標本化周波数fs/2(すなわちk=N/2番目)を境界にして、右の領域と左の領域は、実質的に同じ情報しか持っていません。このことは、後で詳しく書きます。 fsとNの関係から分かるように、周波数分解能を細かくしたければ、fsを低くするか、Nを大きくすれば良いわけです。波形取込みに掛かる時間T=N/fs [s]ですから、fs一定でNを大きくする、ということは、より長い時間を掛けて取込まなければならない、ということになります。 一方、Nが大きくなると、必要なメモリ量も演算時間も増加するので、Nは増やせない、ということであれば、fsを下げるしかありませんが、そうすると今度は、ナイキスト周波数が下がって、解析できる周波数範囲が狭くなるというデメリットが生じます。 つまり、サンプル数Nを一定にして、標本化周波数fsを上げれば、計測周波数範囲は広がるが周波数分解能が粗くなる、標本化周波数fsを一定にしてサンプル数Nを増やすと、周波数分解能は細かくなるが、計測周波数は広くはならない、というトレードオフの関係にあります。なので、測定の用途によって、最適設定は異なってきます。 ちなみに、周波数分解能Δf [Hz]は、
Δf=fs/N=(N/T)/N=1/T [s]
∴ TΔf=1 …(9)
となります。ですから、10 [Hz]の周波数分解能にしたければ、0.1 [s]の取込み時間Tを掛けなければなりません。逆に、Tを1 [ms]より長くできないのなら、周波数分解能は1 [kHz]より細かくすることはできません。(9)式を見て分かるように、この式はNにもfsにも依存しないので、これらとは無関係に物理で決まる関係です。これを、時間と周波数の不確定性の原理といい、周波数カウンタでもゲート時間と周波数分解能に同じ原理が当てはまります。
(4) スペクトルを得る方法
復習になりますが、[1]で述べたように、フーリエ係数Ckの絶対値|Ck|がその周波数成分の大きさ(振幅)を、偏角arg(Ck)が位相を表します。 上で少し触れましたが、Ckはf=fs/2(k=N/2)を境目にして、k<N/2とk>N/2の領域では、同じ情報を持っています。それは、
Ck=CN-k+ (k:0<k<N/2の整数) …(10)
ということで、この式の意味は、f=fs/2(k=N/2)を対称の軸とした位置にあるCkとCN-kは共役複素数の関係にある、ということです。 データの見方の第1として、最もよくお目にかかる振幅のスペクトルについて考えます。上で書いたように、Ckはk<N/2とk>N/2の領域で、複素共役の関係にあり、|Ck|=|CN-k|です。従って、振幅スペクトルのグラフはf=fs/2を軸にして左右対称(Fig.HJ0403_f右上の左)になります。 データの見方の第2として、位相スペクトルはと言うと、複素共役の関係にあるCkとCN-kでは、実部の符号が同じで虚部の符号が逆、つまり偏角の符号が逆(arg(Ck)=-arg(CN-k))ということです。従って、位相スペクトルのグラフはf=fs/2と周波数軸の交点に関して180度回転の点対称(Fig.HJ0403_f右上の右)になります。
さて、ここまで見てきて、fs/2より上の周波数領域にあるスペクトルは、0からfs/2までの領域のコピーのような存在であることが分かります。どちらかの周波数領域だけ見ていれば、欲しい情報が全てそこにあり、他方は見なくても用が足りるからです。とは言うものの、fs/2より上の周波数領域では周波数の高低が反転していますので、普通、測定器は0からfs/2までの領域の振幅や位相しか表示しないようになっています。
(5) 逆フーリエ変換と波形の復元
Fig.HJ0403_fの行列演算の式を見て、数学の得意な方は「この巨大な正方行列の逆行列を求めて左から掛ければ、逆フーリエ変換(スペクトルから元の波形を求めること)ができるじゃないか」と気付かれたかもしれません。その通りで、実際そういうアルゴリズムで、スペクトル情報から源波形が求められます。 但し、通常、測定器には表示されない、fs/2より上の周波数領域のCkや、位相の情報(つまり、Ckの偏角の情報)を捨ててしまうと、復元できません。fs/2より上の周波数領域のCkは、fs/2より下の周波数領域のCkの共役複素数を取ればいいので補えますが、位相の情報を捨ててしまうと、絶対に波形の復元はできません。 なお、スペクトラムアナライザでは、(元々位相の情報を取ることができない測定器なので)元の波形を再現することはできません。
[7]もっと高い周波数でFFT処理したい
例えば、搬送波が数 [GHz]帯のQAM信号を解析したい場合、今まで説明してきた中では、最大でも1 [MHz]程度までしか使えないFFTアナライザは使えません。では、スペクトラムアナライザならいいかと言うと、スペアナでは位相が測定できないので、QAM信号は解析できません。さて、どう解決しましょうか、という課題です。
(1) 高い周波数の狭い帯域を見たい
アナログ変調では、例えばFM放送の音声品質をスペクトル分析で細かく見たい場合、やはりスペアナしか手段がありませんが、スペアナのIFフィルタは10 [Hz]のようは細い帯域の測定は無理です。増幅器や伝送路の位相特性も見たい場合は、位相を測定できないスペアナではダメです。 上記のケースに共通しているのは、搬送波の周波数はFFTで扱える範囲を越えているが、欲しいのはQAMやFMといった、せいぜい数 [kHz]から数100 [kHz]程度の帯域だ、ということです。
(2) ヒントはスーパーヘテロダイン受信機
|
スーパーヘテロダイン受信機の構造を思い起こすと、周波数変換を1段から数段行なって、搬送波周波数から低い中間周波数に変換(ダウンコンバート)していました。 ならば、スペアナのようにベースバンドまでダウンコンバートして、その後を検波以降の処理を、A/D変換してFFT処理に置き換えたらどうでしょう? Fig.HJ0403_hはまさにそのように構成したFFTアナライザで、これなら、VHFだろうがSHFだろうが、変調が掛かって電波として飛んできた信号の、ベースバンドでの振幅・位相の評価が可能になります。
|
Fig.HJ0403_h スペアナとFFTの組合せ
|
非常に高い周波数を相手にする場合は、周波数変換はトリプルコンバージョン等の多段の変換を行います。 但し、この方法で測定できる周波数の幅は、FFTの標本化周波数に依存します。例えば1 [GHz]の搬送波に数 [kHz]幅のQAM信号が乗っている場合、見たいのはこの数 [kHz]の幅であって、標本化周波数としては数10 [kHz]もあれば充分です。 決して直流から1 [GHz]を2 [GHz]の標本化周波数でサンプリングしてFFTをかけ、そのうちの下の方の数 [kHz]だけを解析する、というワケではありません。そんな高速A/D変換器と数GBの高速メモリととてつもないパワーの演算器があるのなら、スペクトラムアナライザは必要なく、何でもかんでもFFTしてしまえばいいことになります。 最近ではかなり広い幅を解析できる測定器もありますが、FFTとの組合せとなると、数100 [MHz]もの帯域を持ったものはありません。
それでは、解答に移ります。
1…A-D変換器の働きを言っているだけですので正しい記述です
2…FFTで処理された時系列データは周波数領域に変換されるので、誤った記述です
3…FFTでは周波数毎の振幅と位相の情報が得られるので正しい記述です
4…被測定信号に含まれる周波数成分はナイキスト周波数より低くなければならないことを言っていますので、正しい記述です
5…FFTのナイキスト周波数はA-D変換器の最大サンプリングスピードの半分が限度となりますから、正しい記述です
となりますから、正解(誤った記述)は2と分かります。
|
|
|