通常、pmtmを使用して信号のスペクトルを計算します。
signal = rand(1000,1);
NW = 4;
Fr = 1:50;
Fs = 200;
[p, fr] = pmtm( signal, NW, Fr, Fs);
ただし、これをベクトル化して、同時に複数のスペクトルを計算できるようにする方法を探しています。私は試した:
signal = rand(1000,10); %<--- notice I have 10 columns instead of 1
NW = 4;
Fr = 1:50;
Fs = 200;
[p, fr] = pmtm( signal, NW, Fr, Fs);
しかし、それは私が何を間違えたかを実際には教えてくれないエラーを生成します。pmtm
呼び出しをループでラップできることはわかっています。
エラーは次のとおりです。
。*の使用中にエラーが発生しました。行列の次元は一致する必要があります。
pmtm> mtm_spectrumのエラー(231行目)[Xx、w] = ComputeDFT(E(:、1:k)。* x(:、ones(1、k))、nfft、Fs);
pmtmのエラー(142行目)[S、k、w] = mtm_spectrum(x、params);
これは、私が望むことを達成するためのベクトル化された方法がないことを私に疑わせる。私はここの誰かがこれを行う方法を知っていることを望んでいました。