реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Сравнение двух дискретных сигналов, pattern recognition
cyberrevenger
сообщение Jul 18 2013, 15:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 21-11-07
Пользователь №: 32 540



Доброго времени суток господа,
Есть у меня вопрос к гуру по ЦОС, т.к. сам далек от этой тематики. Появилась задача сравнение эталонного сигнала(предварительно полученного с ацп, выборка конечнаб частота не высокая, до 100 кГц) с сигналом поступающим в реальном времени с ацп. При достижении определенного уровня схожести, необходимо достаточно быстро принять решение(выставить 1 на одном из портов контроллера). Начало отсчета входного сигнала известно, но сигнал может быть задержен во времени(небольшой джиттер) или же начинаться может без задержки, но в определенный момент, временной джиттер может внести небольшой сдвиг. Читал о кросс корреляции, но в приложении реального времени это не подходит, т.к. необходимо знать априори выборку. Есть вариант в лоб вычитать значения амплитуд сигнала 1 из сигнала 2, они положительны от 0 до 5 В. Но как быть в случае временного сдвига в начале или в середине выборки, который может быть а может и не быть. Природа сигнала, значение потребляемого напряжения смарт картой при обработки различных команд посылаемых ей теминалом. В связи с этим известен момент начала обработки команды(плюс минус джиттер в начали и/или середине выборки).

Очень бы хотелось выслушать различные методы нахождения степени похожести сигналов.
С уважением.
Go to the top of the page
 
+Quote Post
serg1333
сообщение Jul 18 2013, 17:08
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 30-06-13
Из: Томск
Пользователь №: 77 321



Цитата
Читал о кросс корреляции, но в приложении реального времени это не подходит, т.к. необходимо знать априори выборку


Совершенно не нужно знать априори сравниваемые вектора: достаточно их наличие. Находите функцию взаимной корреляции, в момент, когда в памяти/регистрах будут находиться идентичные последовательности вы получите максимальный отклик. Другое дело, что кросс-корреляционная функция сильно зависит от ваших последовательностей, для большинства последовательностей корреляционный отклик является невыраженным и будет сложно определиться с порогом. Но если вы знаете в какой момент времени насчитывать корреляцию (нужно только определить есть она или нет), то это не проблема.
Go to the top of the page
 
+Quote Post
diwil
сообщение Jul 18 2013, 17:21
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Цитата(cyberrevenger @ Jul 18 2013, 19:57) *
Доброго времени суток господа,
Есть у меня вопрос к гуру по ЦОС, т.к. сам далек от этой тематики. Появилась задача сравнение эталонного сигнала(предварительно полученного с ацп, выборка конечнаб частота не высокая, до 100 кГц) с сигналом поступающим в реальном времени с ацп. При достижении определенного уровня схожести, необходимо достаточно быстро принять решение(выставить 1 на одном из портов контроллера). Начало отсчета входного сигнала известно, но сигнал может быть задержен во времени(небольшой джиттер) или же начинаться может без задержки, но в определенный момент, временной джиттер может внести небольшой сдвиг. Читал о кросс корреляции, но в приложении реального времени это не подходит, т.к. необходимо знать априори выборку. Есть вариант в лоб вычитать значения амплитуд сигнала 1 из сигнала 2, они положительны от 0 до 5 В. Но как быть в случае временного сдвига в начале или в середине выборки, который может быть а может и не быть. Природа сигнала, значение потребляемого напряжения смарт картой при обработки различных команд посылаемых ей теминалом. В связи с этим известен момент начала обработки команды(плюс минус джиттер в начали и/или середине выборки).

Очень бы хотелось выслушать различные методы нахождения степени похожести сигналов.
С уважением.


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

Ну и там всякие разные полезные тонкости еще...
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jul 18 2013, 17:28
Сообщение #4


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Для обнаружения известного сигнала на фоне белого шума оптимальным решением является согласованный фильтр. На выходе пороговае устройство для принятия решения о наличии сигнала.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Nixon
сообщение Jul 18 2013, 18:25
Сообщение #5


Гуру
******

Группа: Админы
Сообщений: 2 736
Регистрация: 17-06-04
Из: Киев
Пользователь №: 48



Посмотрите эту статью Прикрепленный файл  Patern_Recognition_1.pdf ( 422.58 килобайт ) Кол-во скачиваний: 343


--------------------
Вам помочь или не мешать?
Go to the top of the page
 
+Quote Post
cyberrevenger
сообщение Jul 18 2013, 22:51
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 21-11-07
Пользователь №: 32 540



Спасибо всем кто отвечал, очень интересные решения, но хочу подчеркнуть,
1) что вычислительные ресурсы ограничены микроконтроллером STM32F407.
2) в связи со спецификой данной задачи(смарт карты), решение необходимо принять достаточно быстро. По сути время ограничивается временем обработки комманды,
посылаемой терминалом смарткарте. Или даже временем выполнения определенного алгоритма на карте(например RSA или DES шифрование ключей). Если промедлить
с решением схожести сигнала, карта может безвозвратно умереть(полное удаление данных).
3) по этому сигнал надо не накапливать для последующей обработкм, а обрабатывать по мере поступления отсчетов в сравнении с эталоном

по этому к сожалению преобразования Фурье тут не получится пременить, потеря времени.

Go to the top of the page
 
+Quote Post
eugen_pcad_ru
сообщение Jul 19 2013, 04:44
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353



Теория гласит, что чем больше времени Вы анализируете сигнал, тем выше точность проводимой Вами оценки.
Хотите быстро? Можно, но точность будет невеликаsm.gif

P.S.: Метод наименьших квадратов и т.п. не рассматривали? Может лучше сравнивать не сигналы, а их основные параметры? Амплитуду, частоту и т.п.?


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
diwil
сообщение Jul 19 2013, 06:15
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Цитата(cyberrevenger @ Jul 19 2013, 02:51) *
Спасибо всем кто отвечал, очень интересные решения, но хочу подчеркнуть,
1) что вычислительные ресурсы ограничены микроконтроллером STM32F407.
2) в связи со спецификой данной задачи(смарт карты), решение необходимо принять достаточно быстро. По сути время ограничивается временем обработки комманды,
посылаемой терминалом смарткарте. Или даже временем выполнения определенного алгоритма на карте(например RSA или DES шифрование ключей). Если промедлить
с решением схожести сигнала, карта может безвозвратно умереть(полное удаление данных).
3) по этому сигнал надо не накапливать для последующей обработкм, а обрабатывать по мере поступления отсчетов в сравнении с эталоном

по этому к сожалению преобразования Фурье тут не получится пременить, потеря времени.


1. у этого проца ресурсов хватит _на_все_!!!. Для справки - комплексное БПФ в плавающей точке 128 отсчетов - 600мкс (168МГц). И это без ассемблера, только С код.
2. Делать короче выборку и, если сигнал уникальный, то решение будет принято еще раньше.
3. ммм... ну... тогда ничего не сделать sm.gif
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Jul 19 2013, 12:05
Сообщение #9


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(cyberrevenger @ Jul 19 2013, 02:51) *
3) по этому сигнал надо не накапливать для последующей обработкм, а обрабатывать по мере поступления отсчетов в сравнении с эталоном

А что делает согласованный фильтр как не обрабатывает входную смесь? Выход фильтра - автокорреляционная функция сигнала с которым этот фильтр согласован. Пиковое значение будет в момент окончания сигнала. Фильтр может быть построен по нерекурсивной схеме. Длина импульсной характеристики определяет задержку отклика на выходе. Импульсная характеристика - инвертированный во времени и сдвинутый образцовый сигнал.
Посмотрите как определяют начало пакетов при передачи информации по радиоканалам.(преамбула).


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
cyberrevenger
сообщение Jul 19 2013, 13:06
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 18
Регистрация: 21-11-07
Пользователь №: 32 540



Цитата(mdmitry @ Jul 19 2013, 15:05) *
А что делает согласованный фильтр как не обрабатывает входную смесь? Выход фильтра - автокорреляционная функция сигнала с которым этот фильтр согласован. Пиковое значение будет в момент окончания сигнала. Фильтр может быть построен по нерекурсивной схеме. Длина импульсной характеристики определяет задержку отклика на выходе. Импульсная характеристика - инвертированный во времени и сдвинутый образцовый сигнал.
Посмотрите как определяют начало пакетов при передачи информации по радиоканалам.(преамбула).

Хым, истина гдето рядом, буду копать в данном направлении, надо мат часть освежить... спасибо вам за совет
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 00:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016