Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

全高調波歪みの測定

この例では、正弦波信号の全高調波歪み (THD) を測定する方法を説明します。この例では、次のシナリオを使用します。あるオーディオ スピーカーのメーカーが、モデル A スピーカーで発生する高調波歪みは、1 kHz での 1 ボルトの入力で 0.09% 未満であると主張しています。この高調波歪みは基本波 (THD-F) を基準に測定されています。

スピーカーを 1 ボルトの 1 kHz トーンで動かして取得される次のデータを記録すると仮定します。データは解析用に 44.1 kHz でサンプリングされます。

Fs = 44.1e3;
t = 0:1/Fs:1;
x = cos(2*pi*1000*t)+8e-4*sin(2*pi*2000*t)+2e-5*cos(2*pi*3000*t-pi/4)+...
    8e-6*sin(2*pi*4000*t);

入力信号の全高調波歪みを dB 単位で取得します。THD の計算に 6 つの高調波を使用するよう指定します。この中には 1 kHz の基本周波数が含まれています。44.1 kHz のサンプリング周波数を入力します。高調波の周波数とパワー推定を決定します。

nharm = 6;
[thd_db,harmpow,harmfreq] = thd(x,Fs,nharm);

関数 thd は全高調波歪みを dB 単位で出力します。測定単位を dB から % に変換し、メーカーの主張する値と比較します。

percent_thd = 100*(10^(thd_db/20))
percent_thd = 0.0800

取得した値から、スピーカー モデル A の THD に関するメーカーの主張が正しいことがわかります。

各高調波のパワー (dB) を調べると、詳細な情報が入手できます。

T = table(harmfreq,harmpow,'VariableNames',{'Frequency','Power'})
T=6×2 table
    Frequency     Power 
    _________    _______

       1000      -3.0103
       2000      -64.949
       3000       -96.99
       4000      -104.95
     4997.9       -306.1
     5998.9      -310.62

全高調波歪みは約 -62 dB です。各高調波のパワーを調べてみると、主に 2 kHz の高調波の影響が大きいことがわかります。2 kHz でのパワーは基本波より約 62 dB 小さくなっています。残りの高調波は、全高調波歪みに大きくは影響していません。また、合成した信号には (基本波を含めて) 4 つの高調波しかありません。これは表で確認されますが、4 kHz を超えるとパワーの減少が非常に大きくなることがわかります。そのため、4 つの高調波のみを使用して計算を繰り返しても、全高調波歪みはそれほど変わりません。

信号スペクトルをプロットし、Figure のタイトルに全高調波歪みを表示して、高調波に注釈を付けます。

thd(x,Fs,nharm);

Figure contains an axes object. The axes object with title THD: -61.94 dB, xlabel Frequency (kHz), ylabel Power (dB) contains 16 objects of type line, text. These objects represent Fundamental, Harmonics, DC and Noise (excluded).

参考

関連するトピック