1/fゆらぎの傾きについて研究中!ホワイトノイズとピンクノイズ、ブラウンノイズの違いとは?

このQ&Aのポイント
  • 音の1/fゆらぎについて研究中。ホワイトノイズ、ピンクノイズ、ブラウンノイズの傾きを高速フーリエ変換で解析し、周波数ごとのパワーを算出しています。
  • 結果は、ホワイトノイズが0で正しい一方、ピンクノイズは傾き-0.48、ブラウンノイズは傾き-0.98と約1/2の値となっています。
  • 強度の表現についても疑問があり、強度Pのまま使用しているが、文献ではdBの値で表されていることがわかりました。
回答を見る
  • ベストアンサー

1/fゆらぎの傾きについて

私は今音の1/f ゆらぎについて研究していています。 まず傾きが既知のホワイトノイズ(傾き0)やピンクノイズ(傾き-1)、ブラウンノイズ(傾き-2)の音をMATLABで高速フーリエ変換を行ってスペクトル解析を行って周波数ごとのパワーを算出してエクセルで両対数をとって直線近似をしています。 結果、ホワイトノイズは0と正しいのですが、ピンクノイズは傾き-0.48、ブラウンノイズは傾き-0.98と約1/2の値となってしまいます。 強度はMATLABで算出された強度Pそのままを使っているのですが、文献などを見ると、dBの値で強度が表されいるので、そこに原因があるかと思うのですが・・・ 何かわかる方がいらっしゃればよろしくお願いいたします。 以下プログラム↓ [y,Fs]=wavread('pinknoize.wav'); y1 = y(:,1); Y = fft(y1,Fs/10); Y2 = abs(fftshift(Y)); Y3 = Y2(length(Y2)/2+1:length(Y2)); l = linspace(0,Fs/2,length(Y3));

質問者が選んだベストアンサー

  • ベストアンサー
noname#210617
noname#210617
回答No.1

>dBの値で強度が表されいるので >パワーを算出して パワーは強度の二乗に比例しますから、両対数プロットの傾きは >約1/2の値 になるのではないでしょうか。

関連するQ&A

  • ピンクノイズ(1/f ゆらぎ)を生成するには

    ホワイトノイズ(正規乱数:パワースペクトルは周波数によらず一定)は、以下のようにして生成できると分かりました。  ( -2 * ln( rand ) ) ^(1/2) * sin( 2 * pi * rand ) ブラウンノイズ(パワースペクトルは周波数の二乗に反比例)は、ホワイトノイズを加算することで得られると思います。 いわゆる“1/f ゆらぎ”であるピンクノイズ(パワースペクトルは周波数に反比例)は、どのようにすれば作れるでしょうか。多数の異なる周波数を持つサイン波を、周波数の逆数の平方根の強さで合成する方法は試してみたのですが、より精度の高いものを生成するやり方がないものか、ご教示ください。 MSエクセルの逆フーリエ変換などで作れるものなのでしょうか。

  • 1/fゆらぎについての私見は間違いですか?

    ピンクノイズの波形を見るとランダムに出てくる大きな振幅の低音でふらふらと揺らいでいます。 ピンクノイズは20Hz~20kHzまで全周波数のランダム音がバンド毎ではエネルギー(音圧)が同じに出るノイズ(雑音)と理解しています。 それでオクターブ毎に高音ほど-3dB(0.7倍)で振幅が低下するので低音部が勝っている波形になってゆらいでいます。 自然の音もランダム音で発生するならピンクノイズと同様になるのでは?と思いますし、クラシック音楽などはピンクノイズのカーブに近いものがあります。 TV、CDなど普通の中音が主体の音楽では倍音列の影響で約1kHz位までフラットで高音域はピンクノイズ同様にオクターブ毎-3dB(0.7倍)で低下しているものが多いようです。 又、コード変化が多い曲ではベースの基音が変化するのでゆらぎが多いはずです。 雑学でも明確な説明が無くてhttps://okwave.jp/qa/q11236.htmlの質疑でも理解できないので私見を述べましたが間違っているでしょうか?ご教授下さい。

  • ピンクノイズやブラウンノイズを直接生成出来ますか?

    ピンクノイズやブラウンノイズを直接生成出来ますか? PCM音声のような離散的な信号をお考え下さい。 各サンプルの値として一様乱数や正規乱数を使うと、その信号は全ての周波数で同じ強度のホワイトノイズと見なせます。 同じ様にして、ピンクノイズ(-3dB/oct)やブラウンノイズ(-6dB/oct)について、周波数領域で操作したりせず、各サンプルの値を直接生成する方法はあるでしょうか。 もしあれば教えて下さい。

  • ゆらぎの分析

    MATLABを使ってゆらぎの分析をしたいのですが、 FFT後、両対数軸で表示しようとすると、「警告:負のデータは無視されます」と出てきて、グラフが表示されなかったり、1本の直線が表示させたり、上手く表示できません。 FFTをする、対数軸で表示、の間にワンクッショなにかが必要なのでしょうか? 詳しい方教えてください。 一応テキストを見ながら作ったのですが、貼っておきます。 clear; fs=10000; dft_size=1024; x=wavread(' .wav');  //空けてあります。 w=HanningWindow_(dft_size); for n=1:dft_size, x(n)=x(n)*w(n); end X=fft(x,dft_size); A=zeros(1,dft_size/2+1); frequency=zeros(1,dft_size/2+1); for k=1:dft_size/2+1, A(k)=20*log10(abs(X(k))); frequency(k)=(k-1)*fs/dft_size; end subplot(2,1,1), plot(frequency,A); xlabel=('周波数[Hz]'); ylabel=('振幅[db]'); % 対数軸で表示 subplot(2,1,2), loglog(frequency,A); xlabel=('周波数[Hz]'); ylabel=('振幅[db]');

  • 1/f ゆらぎ スペクトル解析の近似直線

    私は今1/f ゆらぎについて研究していて、録音した音をフリーソフトでフーリエ変換を行ってスペクトル解析を行い、周波数ごとのパワー(dB)を出して、エクセルで両対数の散布図グラフにする段階まで到達しました。 そこで、その散布図の傾きを求めたいのですが、「近似曲線の追加」→「対数近似」とやると、出てくる数式が「y=aLn(x)+b」の形になり、どうすれば傾きが出るのかわかりません。 ここからどのような計算を施せばよいのでしょうか?教えてください。お願いします。 また、解析ソフトに関数としてHumming、Hanning、Rectangularというのがあります。できればこの意味も知りたいのですが、もしよろしかったらこの件についてもご回答よろしくお願いします。

  • ホワイトノイズとは具体的に何ですか?

    現在、ノイズのことについて調べております。 ホワイトノイズや、ブラウンノイズ、ピンクノイズなどがあり、 wikiには「ホワイトノイズは全ての周波数で同じ強度となるノイズである。」と書いてあり、 他のページを見ると「音声に載るノイズ」というような事ばかり出てきました。 音に限らず、ノイズの形がすべての範囲で一定であるものはホワイトノイズなのでしょうか? 例えば、電子機器を用いてAを100回測定、Bを100回測定、Cを100回、Dを100回・・・・と測定したときにそれぞれで生じる偶然誤差が、すべて一定の範囲内にある場合、ホワイトノイズと言ってしまって良いのでしょうか? よろしくお願いします。

  • 人の声である母音にはノイズが含まれている?

    以前の質問と重複しますが・・・ 人の声である母音(ア・イ・ウ・エ・オ等)では多数の「サイン波」(丸っぽい波)だけでなく「ノイズ」(ギザギザっぽい波)も含まれているって聞いたことがあるのですが、それって本当なんでしょうか? 例えば「ホワイトノイズ」「ピンクノイズ」「ブラウンノイズ」とかです。 単純に多数の「サイン波」を合成しただけでは、人間ではない電子音っぽい声に聞こえる。と聞きましたが、 「ホワイトノイズ」「ピンクノイズ」「ブラウンノイズ」とかのノイズも含まれているのでしょうか? 分かりやすく教えてください。 できれば、何かの例えで教えてくれると有難いです。 よろしくお願いいたします。

  • 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の係数の二乗和がパワーであると認識しているため上のような式を考えました。認識の間違いなどの指摘をお願いいたします。

  • PA機材のエコライザーについて

    PA機材のエコライザーのレベルをあわせるのに、アナライザーを使って ピンクノイズをながして、周波数を波形を平均にするようにすればいいのですか?また、ピンクノイズの他に、ホワイトノイズとブラウンノイズがありますけど、ピンクでいいですか?また、モードがあって、モノラル・左右独立・逆相とありますが、どれでいいですか? お手数おかけしますが、よろしくお願いします。

  • パワースペクトルの0dBの値について

    matlabを用いて時系列データのパワースペクトルを計算、対数表示でグラフにプロットしています。 matlabのfft関数のヘルプに記載されていた例を参考に、以下のような自作の関数を組んで計算しているのですが、2つ質問があります。 1. この場合、パワースペクトルの0dBは、時系列の値ではいくつになるのでしょうか? 0dB = 1でしょうか? 2. 関数の中において、power_fftをN_fft(高速フーリエ変換時のデータ長さ)で割っている事の理由がわからなかったのですが、なぜ行っているのでしょうか? ------------------------------------------------ 以下、自作のパワースペクトル表示関数を示します function Power_db(Data_xx) fs = 1000; % サンプリング周波数 [Hz] N_fft = 2^12; % 4096個 xx_fft = fft(Data_xx,N_fft); power_xx = xx_fft.* conj(xx_fft) / N_fft; frequency = fs*(0:2047)/N_fft; % (0:2047)で500Hzまで plot(frequency,20*log10(power_xx(1:2048))) xlabel('Frequency [Hz]'); ylabel('Power Spectrum [dB]'); grid on; --------------------------------------------------------- 以上です。 何か足らない情報などがありましたらお申し付けください。 よろしくお願い致します。