2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2, 3, 4, 5, 6  След.
 
 Автокорреляция сигнала с весом
Сообщение09.02.2016, 13:55 


03/07/12
37
Добрый день.

Делаю свертку ЛЧМ сигнала с самим собой, но домноженным на вес.

ЛЧМ сигнал - функция вида
f(t) = $\cos(\varphi_0 + 2\pi(f_0t + \frac{bt^2}{2}))$

в качестве веса я брал весовую функцию Блэкмана (можно Хемминга или любую другую).

Получил следующее (картинки в логарифмическом формате для наглядности, в дБ):

Автокорреляция функции (conv = SxS) выглядит так:
Изображение
Свертка функции с весом (conv = SxW) так:
Изображение
А Свертка функции со взвешенной функцией (conv = Sx(S*W) ):
Изображение
Собственно очевидно, что большие боковые лепестки на 3 картинке возникают из-за весовой функции (на 2й картинке есть только они). Но я не могу разобраться как именно вес влияет на последнюю свертку.

В общем говоря - можно ли получить какую то зависимость свертки Sx(W*S) от двух других сверток (SxS и SxW) ?
Просто в третьем случае получается интеграл от произведения 3х функций, а в первых двух - два интеграла от произведений двух функций. Но связать у меня их не выходит.

-- 09.02.2016, 14:58 --

Если точнее, то мне кажется что можно как то выразить интеграл
$\int\limits_{-\infty}^{\infty}f(y)f(x-y)w(x-y)dy$
через интегралы
$\int\limits_{-\infty}^{\infty}f(y)f(x-y)dy$
и
$\int\limits_{-\infty}^{\infty}f(y)w(x-y)dy$
Но у меня что-то не выходит их расписать.

-- 09.02.2016, 15:05 --

Если ошибаюсь и тут нет зависимости, то подскажите пожалуйста математическое обоснование откуда берутся эти боковые лепестки

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 13:33 
Заслуженный участник
Аватара пользователя


11/03/08
10004
Москва
А в связи с чем Вы домножаете на вес? Окна используют при расчёте спектров, зная авто-(кросс-)корреляционную функцию, но не свёртывают с ними, а просто домножают на них. И окна используют при расчёте спектров через БПФ. А свёртку всегда считал просто так, без окон.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 14:08 


03/07/12
37
Пример свертки сигнала с весом я привел, чтобы показать что тогда получаются только боковые лепестки.

На самом деле при автокорреляции я домножаю опорную функцию на вес и только потом сворачиваю. Однако как раз при этом и возникают боковые лепестки, отмеченные на 3 картинке (на второй есть лишь они, потому что сворачивал сигнал лишь с весом).

При свертке добавляю к опорной функции вес для того, чтобы уменьшить влияние боковых лепестков. Т.к. при хорошем сигнале с малым уровнем шума, уровень боковых лепестков будет -13 дБ (картинка 1), а если добавить вес, то уровень боковых лепестков снижается до -40 дБ и меньше (картинка 2). Естественно при этом также увеличивается и ширина главного лепестка, что не очень хорошо, но вполне логично.
Но тут именно вопрос - откуда возникают широкие лепестки с обеих сторон от главного, т.е. как их обосновать.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 14:36 
Заслуженный участник
Аватара пользователя


11/03/08
10004
Москва
Так Вы автокорреляцию считаете или свёртку? Это не совсем одно и то же. И при расчёте автокорреляции, если домножают на оконную функцию, то после расчёта автокорреляции.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 14:38 


03/07/12
37
Извините, неверно выразился, считаю все же взаимную корреляцию сигналов.
Только использую для сравнения сигнала с самим собой, но домноженным на вес.
Причем корреляцию делаю при помощи БПФ.

-- 10.02.2016, 15:44 --

Просто если я не ошибаюсь - взаимная корреляция и свертка, в случае если функции четные, представляют собой одно и то же. А у меня косинусы - четная ф-я.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 15:33 
Заслуженный участник
Аватара пользователя


11/03/08
10004
Москва
На графиках у Вас по горизонтали что?

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 15:43 


03/07/12
37
в данном случае ось X не имеет значения - там одно и то же на всех графиках.

На 2м графике - отсчеты (16384 отсчетов - исходная длина сигнала, отличается от остальных, потому что я его делал как тестовый - свертка с весом, это по идее не имеет практической пользы).

На 1 и 3 графиков - тоже по 16384 отсчета, просто для своих целей я вереводил в другие величины (1 отсчет = 1.5). Могу в принципе перерисовать, тогда у всех 3х графиков ось будет одинаковая.

По вертикали на всех графиках децибелы, выравненные относительно максимума (второй график выровнял относительно максимума из первого графика, чтобы сравнить значения максимумов).

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 16:00 
Заслуженный участник
Аватара пользователя


11/03/08
10004
Москва
Вот как раз горизонтальная ось мне и интересна. Корреляции - их для сравнительно небольшого сдвига считают, а у Вас 25 тысяч точек. Можно подробнее, что Вы считали и как?
Ну и пока я не уяснил деталей - некоторые общие соображения. Фурье от свёртки равно произведению Фурье от свёртываемых. В первом равенстве второй и третий сомножители это функции одного аргумента, можно ввести новую функцию, их произведение. Фурье от произведения - свёртка Фурье сомножителей. Вот как-то в этом направлении, рассматривая свёртку, как фильтр.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 16:16 


03/07/12
37
По поводу 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.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 17:01 
Заслуженный участник
Аватара пользователя


11/03/08
10004
Москва
А вес где?

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 17:04 


03/07/12
37
вес - функция window, я не стал ее расписывать, это окно Блэкмана, или Хемминга, или Ханна иди подобное

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение10.02.2016, 19:11 
Заслуженный участник
Аватара пользователя


11/03/08
10004
Москва
Нет, как Вы её вводите. Сам конкретный вид не столь важен.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение11.02.2016, 09:58 


03/07/12
37
Код:
f1(1:2048) = signal.*window;  %добавил взвешенную функцию в первый сигнал


Я ее делаю той же длины что и импульс и накладываю на сигнал, а не на весь массив.

Т.е. сначала умножаю функцию на окно и только потом делаю корреляцию.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение11.02.2016, 11:22 
Заслуженный участник
Аватара пользователя


11/03/08
10004
Москва
То есть Вы сперва находите, где сигнал, а потом производите вычисления для нахождения его местоположения?
Насколько я вправе судить, для нахождения сдвига окна не применяются. Они для расчёта спектра по корреляционной функции, накладываясь после вычисления спектра домножением вычисленных значений на весовую функцию, чтобы у нас не получалось разрывов в точках, где мы закончили считать корреляции.

 Профиль  
                  
 
 Re: Атокорреляция сигнала с весом
Сообщение11.02.2016, 11:36 


03/07/12
37
Нет. Вес я накладываю на опорную функцию, в которой я знаю где сигнал. Причем вес накладывается во временной области.

А потом произвожу корреляцию, с целью нахождения этой функции уже в другом сигнале.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 78 ]  На страницу 1, 2, 3, 4, 5, 6  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: epros


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group