function mKF = myCF(M1, M2) % функция для получения корелляционной функции
M1inv = M1(length(M1):-1:1); % разворачиваем М1 (ну короче я мыслю, как на бумаге)
t = zeros(1, length(M1)); % временная ячейка t - память триггеров
mKFsize = length(M2)*2-1; % количество итераций для получения КФ
mKF = zeros(1, mKFsize); % создание заготовки под КФ
for j = 1:(mKFsize)
for i = (length(M1)):-1:2 %сдвигаем в триггерах элементы на 1 вперед,
%а на место первого итерации идут с последнего до второго элементов
t(i)=t(i-1);
if j>length(M2) %если нам уже сигнал закончился, то добавляем 0
t(1)=0;
else
t(1)= M2(j); %если нет - то берем дальше
end
end
mKF(j) = sum(M1inv.*t); %перемножаем и закидываем в житый элемент КФ
end
end
M1inv = M1(length(M1):-1:1); % разворачиваем М1 (ну короче я мыслю, как на бумаге)
t = zeros(1, length(M1)); % временная ячейка t - память триггеров
mKFsize = length(M2)*2-1; % количество итераций для получения КФ
mKF = zeros(1, mKFsize); % создание заготовки под КФ
for j = 1:(mKFsize)
for i = (length(M1)):-1:2 %сдвигаем в триггерах элементы на 1 вперед,
%а на место первого итерации идут с последнего до второго элементов
t(i)=t(i-1);
if j>length(M2) %если нам уже сигнал закончился, то добавляем 0
t(1)=0;
else
t(1)= M2(j); %если нет - то берем дальше
end
end
mKF(j) = sum(M1inv.*t); %перемножаем и закидываем в житый элемент КФ
end
end