- 締切済み
THD+N (全高調波歪み + ノイズ)の計算方法について
離散入力信号に対するTHD+N(全高調波歪み + ノイズ)について質問させてください。 ・THD+Nの定義式とはどのようなものなのですか? ・scilab(またはmatlab)でTHD+Nを計算したいのですが 以下のように計算できるのでしょうか? 出力信号y(n)=入力信号s(n)+ノイズN(n)において ・y(n)をFFT処理してY(w)を算出 ・(fs/2で対称なので)Y(w)の半分だけ抽出したY'(w)を取得 ・Ypower(w) = abs( Y'(w) )を計算(絶対値計算) ・Ypower(w)の入力信号成分をSpower、残りの成分の和をNpowerとすると THD+N = Npower/Spower THDが高調波歪率で信号波成分に対する高調波成分のパワーの和の比であり、THD+Nがノイズ全体のパワーも考慮しており、さらにFFTの係数の二乗和がパワーであると認識しているため上のような式を考えました。認識の間違いなどの指摘をお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- foobar
- ベストアンサー率44% (1423/3185)
若干訂正他 #1の回答書くときには、THD+Nがかなり大きな場合を想定していました。 THD+Nが基本波成分に比べて非常に小さいときには、この方法だと、測定や計算誤差の影響が大きくなります。 このため、ご質問でかかれているように、周波数分析やって基本波以外の成分に関してΣ(Y(w))^2を計算する手順の方が良いかと思います。 (パワーの計算なので、Y(w)^2の和を計算することになります。) 出力の実効値 √{(出力信号の実効値)^2-(出力のうち入力周波数成分実効値)^2} を使うときには、出力信号の実効値の計算ではFFTをする必要はありません。 計測区間で、√[Σ{y(n)^2}/T]で計算できます。 入力の実効値 入力信号の周波数がw0とすると、Y(w0)/√2になるかとおもいます。 (FFTを計算する時の係数のとりかたによっては、分母の√2が変わることもありますが)
- foobar
- ベストアンサー率44% (1423/3185)
THD+Nは信号の実効値(パワーの平方根に相当)で表すことが多いかと思います。 正弦波を入力したときには、(実効値やパワーの性質から) √{(出力信号の実効値)^2-(出力のうち入力周波数成分実効値)^2} で計算することが多いかと思います。 (これで算定した値と、FFTの結果から、各高調波およびノイズ成分のパワーの和から算出した値は(計算誤差程度の範囲で)一致するはず)
お礼
素早い回答ありがとうございます。入力の実効値=A/√2、(A:入力振幅) 出力のパワー=(出力のFFT結果の2乗和)/N (N:FFT点数)で これを平方したのが実効値と考えてよろしいのでしょうか? よろしければご指導よろしくお願いいたします。
お礼
ありがとうございます。実効値の計算手順参考になりました。試してみたいと思います。