По поводу 25к отсчетов - я же уточнил, что у меня 16384 отсчета. Просто по оси X у меня отложено по 1.5 на отсчет, что как раз и будет 16384*1.5 = 24576.
А делаю я следующее - есть массив, в моем случае длины 16к. В нем есть сигнал, к примеру длины 2к, например с 0 по 2048 отсчеты.
Далее есть второй массив, так же длины 16к. Но сигнал в нем расположен к примеру с 7000 по 9048 отсчеты.
Собственно считаю, что 1й сигнал - это какой то идеальный сигнал и там я знаю где находится сигнал. А про второй предположим не знаю ничего.
При помощи взаимной корреляции я могу определить есть ли во втором сигнале первый, и где он находится. А если я перед этим наложу вес на идеальный сигнал, то тем самым уменьшу боковые лепестки и вероятность определения станет больше.
соответственно в модели это как то так:
Код:
signal - функция, по формуле из первого поста длины 2048.
window - окно, так же длины 2048.
f1 = zeros(1,16384); %первый сигнал
f2 = zeros(1,16384); %второй сигнал
f1(1:2048) = signal.*window; %добавил взвешенную функцию в первый сигнал
f2 (7000:9048) = signal; %добавил функцию во второй сигнал
C_FFT = fft(f1).*fft(f2); %перемножил спектры
res = ifft(C_FFT); %обратное Фурье, предполагаю что это результат корреляции
соответственно выводя res на график в логарифмическом формате, получаю нечто похожее на рисунок 3. А если не использовать вес, то рисунок 1.