• 締切済み
  • すぐに回答を!

パワースペクトルについて教えてください

matlabである信号の時間t(フレーム数)における周波数fのパワースペクトルの表の作り方を教えてください。 例 44100フレーム目の周波数100Hzのパワースペクトルが1のとき P(44100、100)=1となるPが作りたいです

共感・応援の気持ちを伝えよう!

みんなの回答

  • 回答No.1

spectrogram関数使ってみては? http://www.mathworks.co.jp/help/ja_JP/toolbox/signal/spectrogram.html これが重いのなら、特定の周波数だけ演算してみては? 例えばこんな感じ。 for I=1:??? % dataのサイズは[1 128] フレーム data = ??? %窓関数適用 win = window(@hamming,128); data = data.*win; % fは正規化周波数0~64を指定 re = sum( data .* cos(2*pi()*f*[0:127]/128) / 128 ); im = sum( data .* -sin(2*pi()*f*[0:127]/128) / 128 ); p(I) = re.^2+im.^2; %DC,ナイキスト以外は倍(折り返し) if !((f == 0) || (f == 64)) p(I) = p(I)*2; end %窓関数用の正規化 p(I) = p(I)*128*2/sum(win); end 手元にMATLABないんで未確認です。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • パワースペクトルの見方について

    パワースペクトルの見方について wikiのホワイトノイズやピンクノイズなどのパワースペクトルを見ていて思ったのですが 例えば、ホワイトノイズでしたら、パワーが周波数によらず一定になるようですが 縦軸が直線ならば確かに一定だな、と思うのですが 下半分が青く塗りつぶされていますよね? これは例えば周波数f1のときは-20、f2のときは-80、f3のときは-50、f4のときは-20といったかんじで 実は周波数ごとで全くことなる値を示しているということにならないのですか?

  • MATLABによるFFTと位相スペクトルについて

    純粋な正弦波信号 y=sin2πft ただし周波数f=500MHz をサンプリング周波数2.5GHz,サンプリング数128,256,512,1024の四パターンMATLABでFFTし、パワースペクトルと位相スペクトルを求めました。 結果、パワースペクトルは予想通り500MHzでピーク値をとったのですが、位相スペクトルは各サンプリング数ごとに全く違う値を取りました。 というわけで、 (1)理論上、正弦波の位相スペクトルはどのような値になるのか (2)なぜサンプリング数ごとに位相スペクトルの結果が大きく変わったのか この二点をご教授ください。よろしくおねがいします。

  • 自己相関関数とパワースペクトル密度関数、フーリエ変換について

    パワースペクトル、パワースペクトル密度と自己相関関数についての質問です。 (tは時間、hは次数、fは周波数として) ある信号x(t)の自己相関関数r(h)をフーリエ変換すると、その信号のパワースペクトル密度関数p(f)になるとネットにあったのですが、パワースペクトル密度関数p(f)と、信号x(t)をそのままフーリエ変換して得たパワースペクトルX(f)はどう違うんでしょうか。 ちなみに数学的な話というよりはコンピュータ上の処理(離散値)で考えています。 もともとパワースペクトルが『自己相関関数の離散フーリエ変換として定義される』と本にはあったのです。 しかし同じ本の中に、『自己相関関数のフーリエ変換は正しくはピリオドグラムと言い、パワースペクトルとはピリオドグラムの平均値で求められる』とも書いてありました。 パワースペクトルとパワースペクトル密度関数はいったいどう違うのか…?とずっと考えているのですが分かりません。 あと自己相関関数と自己相関係数の関係も謎です。 何がどうなっているのか混乱しているので、教えて頂きたいと思いこちらに投稿いたしました。回答よろしくお願いします。

  • 高低狂いパワースペクトル密度から高低狂い波形を生成する方法。

    高低狂いのパワースペクトル密度P(F)を用いて高低狂い波形を生成する方法がわかりません。 F:空間周波数である。 走行速度をvとするとF=f/vの関係からP(F)は時間周波数fの関数pr(f)に変換される。 すなわち、 pr(f)=P(f/v)/v この式の意味もわからないのですが、そこから縦軸変位z、横軸時間tのグラフをだしたいのですがどのようにすればいいのでしょうか?? パワースペクトル密度は数本の直線で近似したもので 横軸:Spatial frequancy (1/λ) [1/m] 縦軸:PSD P(1/λ) [mm2・m] でλは波長でこの逆数1/λ(空間周波数)であらわされるパワースペクトル密度です.

  • 自己相関関数とパワースペクトル密度関数、フーリエ変換について。

    自己相関関数とパワースペクトル密度関数、フーリエ変換について。 パワースペクトル、パワースペクトル密度と自己相関関数についての質問です。 (tは時間、hは次数、fは周波数として) ある信号x(t)の自己相関関数r(h)をフーリエ変換すると、その信号のパワースペクトル密度関数p(f)になるとネットにあったのですが、パワースペクトル密度関数p(f)と、信号x(t)をそのままフーリエ変換して得たパワースペクトルX(f)はどう違うんでしょうか。 ちなみに数学的な話というよりはコンピュータ上の処理(離散値)で考えています。 もともとパワースペクトルが『自己相関関数の離散フーリエ変換として定義される』と本にはあったのを読みました。 しかし同じ本の中に、『自己相関関数のフーリエ変換は正しくはピリオドグラムと言い、パワースペクトルとはピリオドグラムの平均値で求められる』とも書いてありました。 パワースペクトルとパワースペクトル密度関数はいったいどう違うのか…?とずっと考えているのですが分かりません。 あと(自己、相互)相関関数と(自己、相互)相関係数にはどのような関係があるのですか。回答よろしくお願いします。 前回1つ回答頂いたんですが解決できなかったのですみません、もう一度お願いします。

  • パワースペクトルの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; --------------------------------------------------------- 以上です。 何か足らない情報などがありましたらお申し付けください。 よろしくお願い致します。

  • パワースペクトルから時間を求めたい

    FFTアナライザーを使用して求めたパワースペクトルからその周波数を検知した時間を求めることはできるでしょうか? 出来るのであれば計算方法を教えていただきたいです

  • ImageJによるパワースペクトル

    こんにちは。 物理は素人です。 どうかよろしくお願いします。 ImageJで画像にFFTをかけたあとで、 パワースペクトルを作成すると、 よく意味のわからない、真っ黒画面中央にしろい点が出ます。 パワースペクトルといえば、 縦軸が振幅で、 横軸が周波数のものとおもっていたので、 なんだかわからなくて困っています。 ImageJやなんらかの簡易なソフトで、 FFT画像から、 横軸周波数、縦軸振幅の パワースペクトルを求めることは出来ないでしょうか? お知恵を頂ければ助かります。 よろしくお願いいたします。

  • パワースペクトルのデシベル表示について

    信号のパワースペクトルをFFTによって求め、それのデシベル値を横軸を周波数としてグラフで表示するとき、その上限が 0 dBになっているのを、様々な文献やサイトでよく見かけます。 パワースペクトルの値は 1 以上になることもありますので、そのデシベル値も 0 dB以上になると思うのですが、上記のような上限が 0 dBとして表示されている場合は、正規化などがされたパワースペクトルのデシベル値が表示されているのでしょうか? また、ある標本化関数のフーリエ変換を求め、その周波数特性の理論値をグラフとして表示するとき、周波数 0 のときで理論値が明らかに 1 ではないにも関わらず、そのデシベル表示が 0 dBから始まっているのを、様々な文献で見かけるのですが、それも正規化などがされた理論値が表示されているのでしょうか? 初歩的な質問かもしれませんが、よろしくお願いします。

  • パワースペクトルとフーリエスペクトル

    あるHPでパワースペクトルとフーリエスペクトルの違いについて調べたところ,パワースペクトルにT/2(Tは継続時間)を乗じたものがフーリエスペクトルであると説明されていました。 この説明は正しいのでしょうか。 回答よろしくお願いします。