Построение автоковариантных функций на Matlab - PullRequest
0 голосов
/ 08 мая 2018

По сути, я пытаюсь построить автоковариационные, автокорреляционные, кросскорреляционные и кросковариационные функции x и y. Однако в любых вариациях временной области, которые я пробовал, я получал пустую страницу для их построения. Я процитировал просто кодирующую часть автоковариантности x. Если бы вы могли дать мне подсказку или пройти путь, я мог бы применить то же самое для остальных. Заранее спасибо. Используемые формулы основаны на ссылке https://ibb.co/cEqSKS

clc,clear
load('C:\Users\furka\Documents\MATLAB\sample2.mat');

Nx=length(x);
Ny=length(y);
N=Nx;
N=Ny;       %length of both x and y vectors are the same , 100000 column vectors.
fsampling=44100;

%average value of x
mean_x=0;
for i=1:N    
    mean_x=x(1,i) + mean_x;
end
mean_x= mean_x./N

%average value of y
mean_y=0;
for i=1:N
    mean_y= y(1,i) +mean_y;
end
mean_y= mean_y /N


%variance of x
var_x=0;
for i=1:N
    var_x = (abs(x(1,i)- mean_x)).^2 + var_x;
end
var_x = var_x ./N

%variance of y
var_y=0;
for i=1:N
    var_y= (abs(y(1,i)-mean_y))^2 +var_y;
end
var_y = var_y/N


%Auto-covariance function of x
for k=1:N 
    Cxx(k) =0;

    for i=1:(N-k+1)
         Cxx(k)= (x(1,i+k-1)-mean_x).*conj((x(1,i)-mean_y))+ Cxx(k);         
    end 
end
   Totaltime= N/fsampling;
    t= linspace(0,Totaltime,N);
    %t=0:(N-1)/fsampling;    

    figure(1)
    plot(t,Cxx(k))
...