2012-01-08 74 views
-1

以下代码的目的是从随机高斯噪声生成彩色高斯信号;执行快速傅立叶变换并生成功率信号。问题:有色噪声的矩阵索引尺寸误差

  1. 我想产生高斯有色噪声,使得功率谱密度是proprtional与1/f ^的β,其中的β= 1,-1,2,0。过程是否正确?

  2. 该代码生成错误

    ???错误使用==> rdivide 矩阵尺寸必须一致。

    错误==> expl at 9 x = x。* 1./(f.^2);在解决this.Thank你

回答

0

f有1025元 请帮助,x有2001元。但是他们的长度需要相等。你应该改变其中之一。

0

我执行你的代码,然后看看你生成的大小。

>> whos f x 
    Name  Size    Bytes Class  Attributes 

    f   1x1025    8200 double    
    x   1x2001   16008 double      

对于要执行的问题行,你不认为有f和x相同的大小会有用吗?

当MATLAB说矩阵尺寸不一致时,看起来第一个地方应该是所讨论变量的尺寸。 :)

+0

是的,我检查使用大小命令。所以,我如何让他们平等?请帮助;我是一个matlab新手。 – sts 2012-01-08 17:04:55

+0

@sts您应该先重新读取您的代码,然后理解为什么'numel(0:1/Fs:2)'和'numel(linspace(0,1,NFFT/2 + 1))'是不同的。然后,你应该重新考虑你的问题,并决定使用哪两个(或根据你在做什么适当修改)。一旦你这样做了,'x = x。* 1 ./(f。^ 2);'会毫不费力地评估:) – abcd 2012-01-08 21:31:21