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
10005
Москва
А в связи с чем Вы домножаете на вес? Окна используют при расчёте спектров, зная авто-(кросс-)корреляционную функцию, но не свёртывают с ними, а просто домножают на них. И окна используют при расчёте спектров через БПФ. А свёртку всегда считал просто так, без окон.

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


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

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

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

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


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

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


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

-- 10.02.2016, 15:44 --

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

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


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

 Профиль  
                  
 
 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
10005
Москва
Вот как раз горизонтальная ось мне и интересна. Корреляции - их для сравнительно небольшого сдвига считают, а у Вас 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
10005
Москва
А вес где?

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


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

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


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

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


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


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

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

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


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

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


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

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

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

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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