全高調波歪みの測定
この例では、正弦波信号の全高調波歪み (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
全高調波歪みは約 dB です。各高調波のパワーを調べてみると、主に 2 kHz の高調波の影響が大きいことがわかります。2 kHz でのパワーは基本波より約 62 dB 小さくなっています。残りの高調波は、全高調波歪みに大きくは影響していません。また、合成した信号には (基本波を含めて) 4 つの高調波しかありません。これは表で確認されますが、4 kHz を超えるとパワーの減少が非常に大きくなることがわかります。そのため、4 つの高調波のみを使用して計算を繰り返しても、全高調波歪みはそれほど変わりません。
信号スペクトルをプロットし、Figure のタイトルに全高調波歪みを表示して、高調波に注釈を付けます。
thd(x,Fs,nharm);