这里有什么问题,如何计算自相关?

时间:2013-12-03 15:13:17

标签: matlab

f1 = 1 ;    
N = 1024 ;    
fs = 200 ;    
ts = 1/fs ;    
t = -(N/(2*fs)):ts:(N/(2*fs)) ;    
theta=rand(0:2*pi);    

X = sin(2*pi*f1*t+theta) ;

plot(t,x)    
grid

Error using  + 
Matrix dimensions must agree.

如何计算x函数Rxx(n)的自相关?

2 个答案:

答案 0 :(得分:0)

  1. theta行替换为

    theta = 2*pi*rand; %// generates a random number between 0 and 2*pi
    

    plot

    plot(t, X); %// capital "X", as you have defined previously
    
  2. 对于自相关,您可以使用conv(实际信号的相关等效于时间反转的卷积):

    c = conv(X,fliplr(X));
    plot(-(N/fs):ts:(N/fs), c)
    

答案 1 :(得分:0)

要添加Luis Mendo已回答的内容,错误消息的原因是:

>> size(t)
ans =

      1   1025

>> size(theta)
ans =

   0   1   2   3   4   5   6

所以你试图在X = sin(2*pi*f1*t+theta)中添加两个不同尺寸的东西,因此出现错误信息。

使用Luis的建议来修复您的代码。