Main Content

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

歪みの測定

50 kHz でサンプリングされた周波数 2.5 kHz の正弦波のサンプルを 2048 個生成します。S/N 比 (SNR) が 80 dB となるホワイト ガウス ノイズを付加します。

Fs = 5e4; 
f0 = 2.5e3;
N = 2048;
t = (0:N-1)/Fs;
SNR = 80;

x = cos(2*pi*f0*t);
x = x+randn(size(x))*std(x)/db2mag(SNR);

結果を多項式で表される弱非線形増幅器に通します。増幅器によって高調波の周波数にスプリアス トーンが発生します。

amp = [1e-5 5e-6 -1e-3 6e-5 1 25e-3];
x = polyval(amp,x);

信号スペクトルをプロットして SNR に注釈を付け、期待値に達していることを確認します。関数 snr は、基本波のノイズ フロアに対するパワー比率を計算し、DC 成分と高調波を無視します。

snr(x,Fs);

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

信号スペクトルをプロットし、全高調波歪み (THD) に注釈を付けます。関数 thd は、高調波の基本波に対するパワー比率を計算し、DC 成分とノイズ フロアを無視します。

thd(x,Fs);

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

信号スペクトルをプロットし、信号対ノイズおよび歪みの比率 (SINAD) に注釈を付けます。関数 sinad は、基本波の高調波とノイズ フロアに対するパワー比率を計算します。ここでは DC 成分のみが無視されます。

sinad(x,Fs);

Figure contains an axes object. The axes object with title SINAD: 71.43 dB, xlabel Frequency (kHz), ylabel Power (dB) contains 7 objects of type line, text. These objects represent Fundamental, Noise and Distortion, DC (excluded).

SNR、THD および SINAD が以下の方程式に従っていることを検証します。

10-SNR/10+10THD/10=10-SINAD/10.

lhs = 10^(-snr(x,Fs)/10)+10^(thd(x,Fs)/10)
lhs = 7.2203e-08
rhs = 10^(-sinad(x,Fs)/10)
rhs = 7.1997e-08

信号スペクトルをプロットし、スプリアスフリー ダイナミック レンジ (SFDR) に注釈を付けます。SFDR は、基本波と最強のスプリアス成分 ("スパー") のパワー比率です。この例では、スパーは第 3 高調波に対応します。

sfdr(x,Fs);

Figure contains an axes object. The axes object with title SFDR: 72.16 dB, xlabel Frequency (kHz), ylabel Power (dB) contains 9 objects of type patch, line, text. These objects represent SFDR, Fundamental, Spurs, DC (excluded).

参考

| | |