2012-01-08 14 views
-1

ランダムガウスノイズから有色ガウス信号を生成し、高速フーリエ変換を実行してパワー信号を生成することです。質問は:有色ノイズのマトリクスインデックス次元の誤差

  1. Iは、パワースペクトル密度は、^、β、β= 1、-1,2,0 1/Fにproprtionalあるようなガウス白色雑音を生成したかったです。プロセスは正しいですか?

  2. コードは、エラー

    生成します? ==> rdivide を使用しているエラーマトリックスの寸法は一致している必要があります。

    エラーは==> 9で展開します。 x = x。* 1./(f.^2);親切にあなたが

答えて

0

f this.Thankの解決に役立つ は、1025個の要素を持っている、とxは、2001個の要素を持っています。しかし、その長さは等しい必要があります。あなたはそれらの1つを変更する必要があります。

0

あなたのコードを実行した後、あなたが生成したもののサイズを調べました。

>> whos f x 
    Name  Size    Bytes Class  Attributes 

    f   1x1025    8200 double    
    x   1x2001   16008 double      

問題の行を実行するには、fとxを同じサイズにすると便利ではないと思いますか?

MATLABは、行列の次元が一致しないと言ったとき、最初に見えるのは問題の変数の次元になります。 :)

+0

はい、私はサイズのコマンドを使用して確認した。どのように私はそれらを等しくするのですか?助けてください、私はmatlabの初心者です。 – sts

+0

@stsまず、コードを再読み込みし、なぜnumel(0:1/Fs:2)とnumel(linspace(0,1、NFFT/2 + 1))が異なるのかを理解する必要があります。次に、問題を再検討し、どちらを使用するか(または、あなたがやっていることに応じて適切に修正する)を決定する必要があります。いったんそれをすると、 'x = x。* 1 ./(f。^ 2);'は大騒ぎせずに評価します:) – abcd