Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: алгоритм опознания сигнала по спектру
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Lmx2315
Есть 128 точечное БПФ с треугольным окном перед ним, нужно по результату работы БПФ опознать сигнал (сравнить с эталоном) .
Применяли корреляцию по Пирсону - не удобно, так как результирующий коэффициент (при подаче эталонного сигнала) скачет в широких пределах (0.7 - 0.99) , а хотелось бы 0.9 - 0.99.
Типы входных сигналов - импульсная последовательность с разной скважностью и амплитудой .

з.ы.
Если коряво объяснил - прошу покорно извинить, жду советов каких-нибудь.
Спасибо.
Oldring
Цитата(Lmx2315 @ Sep 15 2010, 20:40) *
скачет в широких пределах (0.7 - 0.99) , а хотелось бы 0.9 - 0.99.


Думаете, за вас кто-то поймет причины ваших неудач и придумает алгоритм классификации сигналов, не имея даже доступа к тестовым данным и не вникая глубоко в свойства полезного сигнала и помех?

А вот, пожалуйста. Алгоритм. Перебираете все эталоны, сравниваете, и при точном совпадении выдаете - "совпало". laughing.gif
Lmx2315
Цитата(Oldring @ Sep 16 2010, 00:25) *
Думаете, за вас кто-то поймет причины ваших неудач и придумает алгоритм классификации сигналов, не имея даже доступа к тестовым данным и не вникая глубоко в свойства полезного сигнала и помех?


ну ведь какие-то алгоритмы кто-то использует ? Я потому и спросил - какие ещё можно использовать алгоритмы для опознания сигнала по спектру. Или может кто посоветует что конкретно по Пирсону - скажет что-то вроде : " ..э , мужик - да Пирсон вообще тут не подходит и т.д. "

Цитата
А вот, пожалуйста. Алгоритм. Перебираете все эталоны, сравниваете, и при точном совпадении выдаете - "совпало". laughing.gif


..зачем все перебирать smile.gif , у меня один эталон - его запомнил потом с ним сравнивал его же , коэффициент прыгал от 0.7 - до 1 . (0.7 редко но бывает) . Потому и спросил из-за чего это - может треугольное окно перед БПФ , плохое - надо ..не знаю Ханна использовать или я не так Пирсона считаю , потому что - кто нибудь скажет : "Мужик , мы Пирсона считали - у нас всё классно к = 0.9 -0.99 ) .


з.ы. спасибо за внимание.
SPACUM
Цитата(Lmx2315 @ Sep 16 2010, 08:18) *
ну ведь какие-то алгоритмы кто-то использует ?

Треугольное окно неудобно для сравнения из-за изрезанности спектра. Попытайтесь использовать окно с колоколообразной характеристикой - Гаусса например.
eugen_pcad_ru
Я в свое время применял окно Хэмминга...
А больше точек получить никак нельзя? Всё-таки чем больше информации для анализа, тем выше вероятность определения типа сигнала. По моему, при малом буфере и неизвестном характере помех (скажем какие-нибудь импульсные) мало что можно сделать вразумительного с высокой степенью достоверности...
Lmx2315
Цитата(eugen_pcad_ru @ Sep 16 2010, 10:07) *
Я в свое время применял окно Хэмминга...
А больше точек получить никак нельзя? Всё-таки чем больше информации для анализа, тем выше вероятность определения типа сигнала. По моему, при малом буфере и неизвестном характере помех (скажем какие-нибудь импульсные) мало что можно сделать вразумительного с высокой степенью достоверности...


..да вот , мне хотелось бы определять тип сигнала только по 128 отсчётам , если использовать последовательность сильно по длиннее . То там даже статистически можно всё получить .
Artemij14
Может не туда лезу, но вы с нейросетями работать не пробовали?
DRUID3
Цитата(Artemij14 @ Sep 16 2010, 09:45) *
Может не туда лезу, но вы с нейросетями работать не пробовали?

ohmy.gif свять-свять-свять...

2Lmx2315:
Если честно я не понял Вашу проблему. sad.gif Но не в том ли она, что вычисляя корреляцию в частотной области у Вас скачет само значение корреляции при сравнении заведомо идентичных сигналов? Нет АРУ или другого масштабирования? Может перейти к коэффициенту корреляции? Причем он есть такой каким мы привыкли его видеть в мире Эвклида, а есть обобщенный - там есть где разгуляться аппроксимациям, обобщениям и быстрым алгоритмам wink.gif ...

А игры с окнами я так и не понял. Там скорее всего играться нужно с синхронизацией прямоугольного окна относительно Вашего импульса - что очень не тривиально, и решается только "на месте"...
Lmx2315
Цитата
2Lmx2315:
Если честно я не понял Вашу проблему. sad.gif Но не в том ли она, что вычисляя корреляцию в частотной области у Вас скачет само значение корреляции при сравнении заведомо идентичных сигналов? Нет АРУ или другого масштабирования?
..
А игры с окнами я так и не понял. Там скорее всего играться нужно с синхронизацией прямоугольного окна относительно Вашего импульса - что очень не тривиально, и решается только "на месте"...


.. sad.gif , по видимому коряво мысли излагаю.
моя проблема именно в том что скачет само значение коэффициента корреляции, в недопустимо широких пределах - хотелось бы эти скачки сжать.

Игры с окнами связаны с тем что , так как БПФ относительно короткое - 128 точек , то составляющие "спектра" сильно колеблются относительно своих средних показателей и это сильно влияет на результирующий коэффициент сравнения с эталоном. Если ставить треугольное окно - колебания уменьшаются , если поставить какое другое окно покруче - они (надеюсь) ещё сильнее уменьшатся - только ставить что-то круче треугольного окна , будет трудно . В плис мало места и вообще для меня это проблемы.
ИМХО - про БПФ и окна вы знаете больше меня.

..АРУ нет , никакого подстраиваемого масштабирования - нет . После БПФ - возвожу в квадрат действительную и мнимую часть - складываю , перевожу в "двоичный логарифм" - сжимаю с 32 бит до 8 и вывожу на экран . Также из этих данных высчитываю коэффициент корреляции с эталонным сигналом.

Цитата
Может перейти к коэффициенту корреляции? Причем он есть такой каким мы привыкли его видеть в мире Эвклида, а есть обобщенный - там есть где разгуляться аппроксимациям, обобщениям и быстрым алгоритмам wink.gif ...


тут не понял , если можно поподробней - ссылку например какую на вики например , или ещё что.

спасибо.

Цитата(Artemij14 @ Sep 16 2010, 10:45) *
..но вы с нейросетями работать не пробовали?

..это для меня круто , мне бы что попроще. Что-нибудь что позволило бы по признакам опознать сигнал.
DRUID3
Цитата(Lmx2315 @ Sep 16 2010, 11:12) *
.. sad.gif , по видимому коряво мысли излагаю.
моя проблема именно в том что скачет само значение коэффициента корреляции, в недопустимо широких пределах - хотелось бы эти скачки сжать.

ясно...

Цитата(Lmx2315 @ Sep 16 2010, 11:12) *
Игры с окнами связаны с тем что , так как БПФ относительно короткое - 128 точек , то составляющие "спектра" сильно колеблются относительно своих средних показателей...

???

Цитата(Lmx2315 @ Sep 16 2010, 11:12) *
ИМХО - про БПФ и окна вы знаете больше меня.

Я знаю, что я ничего не знаю smile.gif ... Но интуиция подсказывает мне - окна тут нипричем smile.gif . Вы просто ими давите то, что Вам не нравится и думаете, что его нет.

Цитата(Lmx2315 @ Sep 16 2010, 11:12) *
..АРУ нет

+
Цитата(Lmx2315 @ Sep 16 2010, 11:12) *
никакого подстраиваемого масштабирования - нет.

...для к.к. оно и не нужно...

Цитата(Lmx2315 @ Sep 16 2010, 11:12) *
Также из этих данных высчитываю коэффициент корреляции с эталонным сигналом.

По физическому спектру!!!??? 07.gif

Цитата(Lmx2315 @ Sep 16 2010, 11:12) *
тут не понял , если можно поподробней - ссылку например какую на вики например , или ещё что.

спасибо.

Ну Вы блин даете wink.gif ... Вот и вот. О метрике там хорошие статьи из "кванта" визу приведены... за день - вряд-ли поймете, губы будут повторять звуки и слова - но мозК не согласится. Разбавлять чтение галюциногенными грибами или LSD по вкусу wink.gif ... Одна из форм функции расстояния - pow(sum(i=0..m-1, pow((abs(F1(i) - F2(i) ), L) ) ), 1/L); L=2 - это Эвклид. L=1 это удобно smile.gif ... Но L может быть любым... Вообще любым... Дробным... Даже функцией от... Да - это путь к математической шизофрении smile.gif ...

Но... у вас проблема не с этим... laughing.gif Не с масштабированием...
Oldring
Цитата(Lmx2315 @ Sep 16 2010, 08:18) *
..зачем все перебирать smile.gif , у меня один эталон - его запомнил потом с ним сравнивал его же , коэффициент прыгал от 0.7 - до 1 . (0.7 редко но бывает) . Потому и спросил из-за чего это - может треугольное окно перед БПФ , плохое - надо ..не знаю Ханна использовать или я не так Пирсона считаю , потому что - кто нибудь скажет : "Мужик , мы Пирсона считали - у нас всё классно к = 0.9 -0.99 ) .


Конечно используют. С 40-х годов прошлого века теорию строили. Простейших вывода из теории два: существует предел реализуемости желаний, и иногда удается найти оптимальный алгоритм, реализующий этот предел, но оба существенно зависят как от свойств сигнала, так и от свойств помех. И, кстати, критерий "оптимальности" тоже может быть разным. Вы же, как мне кажется, пытаетесь решить задачу с наскока. Может быть кто-то догадался, что у вас там за сигналы и помехи, но не я. Вероятно, вы и сами точно не знаете, раз не догадываетесь, насколько это важно при постановке задачи. Так что какой вопрос - такой ответ.

А с одним эталоном... Неужели ваш алгоритм и на этом одном эталоне ошибается? laugh.gif

PS А по спектру или не по спектру... Да блин, ну какая вообще разница с точки зрения теории? Преобразование Фурье даже с треугольным окном есть лишь линейное биективное преобразование сигнала. Не хотите использовать фазу - не надо, но как хотите.
Lmx2315
Цитата(DRUID3 @ Sep 16 2010, 13:03) *
По физическому спектру!!!??? 07.gif

..а почему ж ещё ? ..у меандра - один спектр , у гармонического сигнала - другой . и т.д. В первом приближении - для сильно разных сигналов пойдёт.
DRUID3
Цитата(Lmx2315 @ Sep 16 2010, 13:04) *
..а почему ж ещё ? ..у меандра - один спектр , у гармонического сигнала - другой . и т.д. В первом приближении - для сильно разных сигналов пойдёт.

biggrin.gif Нет... ну дело Ваше, конечно... Только скажите по-секрету - это не медоборудование? rolleyes.gif
Oldring
Цитата(DRUID3 @ Sep 16 2010, 14:06) *
Только скажите по-секрету - это не медоборудование? rolleyes.gif


+100 laughing.gif

PS Судя по форумной истории, два года назад это были беспилотники, и человек - связист.
Lmx2315
Цитата(Oldring @ Sep 16 2010, 14:12) *
+100 laughing.gif

PS Судя по форумной истории, два года назад это были беспилотники, и человек - связист.


...меня от туда выгнали год назад smile.gif , я теперь мед. оборудование разрабатываю .
maniac.gif

з.ы.
шутка, не паникуйте. хотя то что работу сменил - это правда.
biggrin.gif
DRUID3
smile.gif

P.S.: и все равно не понимаю - как и на что должен делиться физический спектр, после чего его можно назвать "коэффициентом корреляции"... wacko.gif
Lmx2315
Цитата(DRUID3 @ Sep 16 2010, 17:18) *
smile.gif

P.S.: и все равно не понимаю - как и на что должен делиться физический спектр, после чего его можно назвать "коэффициентом корреляции"... wacko.gif


..как на что ? на такой же спектр - эталонного сигнала .
Если спектры совпадут - коэффициент равен 1 .
чем больше шум - тем дальше от 1.
DRUID3
Цитата(Lmx2315 @ Sep 16 2010, 21:08) *
..как на что ? на такой же спектр - эталонного сигнала .
Если спектры совпадут - коэффициент равен 1 .
чем больше шум - тем дальше от 1.

biggrin.gif собственно, почему нет - рубрика то у нас "Цифровая Обработка Сигналов", а не "Корректная Цифровая..."... на выходе у нас цифры... Все ... кхм... корректно laughing.gif ...
SPACUM
Цитата(DRUID3 @ Sep 16 2010, 17:18) *
smile.gif

назвать "коэффициентом корреляции"

С корреляцией как раз все понятно - это сумма произведений амплитуд соответствующих гармоник фурье. Для окон с плавным спектром должно сработать. (треугольное совсем не подходит и Ханна слишком острое)
А вот еще другой алгоритм, Я применил его а приборе для определения усталости человека и напряженности.
1. Выделяются характерные особенности сигнала и спектра среднее значение, дисперсия, смещение среднего относительно максимума, нестационарность.
2. Находится расстояние между этими координатами для эталона и измеренного значения.
Можно иметь несколько эталонов.
Тут все зависит от удачи в выборе параметров и Вашей фантазии.
Oldring
Цитата(SPACUM @ Sep 16 2010, 22:46) *
А вот еще другой алгоритм, Я применил его а приборе для определения усталости человека и напряженности.


А вот и медицина к нам пожаловала! smile.gif

Цитата(SPACUM @ Sep 16 2010, 22:46) *
1. Выделяются характерные особенности сигнала и спектра среднее значение, дисперсия, смещение среднего относительно максимума, нестационарность.
2. Находится расстояние между этими координатами для эталона и измеренного значения.
Можно иметь несколько эталонов.


Да вы открыли классификатор на основании расстояния до эталонов в Евклидовом пространстве признаков! Следующий ваш шаг - открыть расстояния Махаланобиса. biggrin.gif
SPACUM
Цитата(Oldring @ Sep 16 2010, 23:18) *
А вот и медицина к нам пожаловала! smile.gif

Нет. Это игрушка. Написано в 1985г. Эти игрушки в универмагах и на вокзалах стояли. Я на эти деньги еще XT купил с янтарным монохромным монитором.
Oldring
Цитата(SPACUM @ Sep 16 2010, 23:47) *
Это игрушка. Написано в 1985г. Эти игрушки в универмагах и на вокзалах стояли. Я на эти деньги еще XT купил с янтарным монохромным монитором.


Нет, не помню.
DRUID3
Кстати... Я придумал как этот новый параметр назвать... Ведь 2-а таких различных параметра под одним названием приведут к лишней путанице в молодых головах...
Итак - встречайте впервые на арене цирка - "коэффициент корреляции военного времени"...

Почему?
По нескольким причинам...

Первая это конечно отбрасывание фазы - в кои то веки сдвиг по фазе преграда к военной карьере?

Ну а второе и основное - если синус и косинус в военное время запросто преодолевают единичный барьер, чем, я спрашиваю, хуже коэффициент корреляции!? Что Вы, Lmx2315, на практике нам и демонстрируете... Понимаю лишь Ваша врожденная скромность заставляет Вас не акцентировать внимание на этом замечательном свойстве Вашего соотношения wink.gif ...
Lmx2315
Цитата(DRUID3 @ Sep 18 2010, 01:44) *
Ну а второе и основное - если синус и косинус в военное время запросто преодолевают единичный барьер, чем, я спрашиваю, хуже коэффициент корреляции!? Что Вы, Lmx2315, на практике нам и демонстрируете... Понимаю лишь Ваша врожденная скромность заставляет Вас не акцентировать внимание на этом замечательном свойстве Вашего соотношения wink.gif ...


..а с чего это вы взяли что у меня коэффициент корреляции превышал единицу?..не было такого .
У меня к-ент прыгает от 0.7 до 1 потому что гармоники в спектре дёргаются как сумасшедшие , я тут пытался выяснить можно ли эту проблему решить наложением какого-нибудь хитрого окна или применив другую какую хитрость.
Вот вы мне объясните , нахрена козе баян ?? ..в смысле зачем мне знать фазы гармоник чтобы по спектру отличить спектр меандра от спектра не меандра ?

....ах да , забыл одну малость добавить - я всегда точно знаю где находятся гармоники - составляющие спектра , потому что частота периодического сигнала подлежащего исследованию всегда одна и та же , меняется только форма колебания.По спектру нужно определять какая именно форма у сигнала .
DRUID3
Цитата(Lmx2315 @ Sep 19 2010, 21:54) *
..а с чего это вы взяли что у меня коэффициент корреляции превышал единицу?..не было такого .

...так, а должно... smile.gif встряхните пробирку - Вы на пути к открытию своего пенициллина К.К.В.Вр. smile.gif

Цитата(Lmx2315 @ Sep 19 2010, 21:54) *
У меня к-ент прыгает от 0.7 до 1 потому что гармоники в спектре дёргаются как сумасшедшие , я тут пытался выяснить можно ли эту проблему решить наложением какого-нибудь хитрого окна или применив другую какую хитрость.

С таким подходом действительно кажется уместной нейросеть... Она конечно не выручит вообще никак, но придаст некий привкус мистики... Эдакий Тесла местного разлива от ЦОС... smile.gif

Цитата(Lmx2315 @ Sep 19 2010, 21:54) *
Вот вы мне объясните , нахрена козе баян ?? ..в смысле зачем мне знать фазы гармоник чтобы по спектру отличить спектр меандра от спектра не меандра ?

Ну поскольку данные Вы так или иначе визуализируете - это какой-то осцил? - то почему нет, "лишних" по отношению к распознаванию вычислений не избежать... Просто Вы всех запутываете в определениях - смешивая названия классических методов и своих частных, но очень оригинальных... wink.gif

Цитата(Lmx2315 @ Sep 19 2010, 21:54) *
....ах да , забыл одну малость добавить - я всегда точно знаю где находятся гармоники - составляющие спектра , потому что частота периодического сигнала подлежащего исследованию всегда одна и та же , меняется только форма колебания.По спектру нужно определять какая именно форма у сигнала .

Да я не против... Но что такое коэффициент корреляции - знать не мешает... wink.gif
DRUID3
. не туда нажал... tongue.gif rolleyes.gif
SPACUM
Цитата(DRUID3 @ Sep 20 2010, 00:52) *
Но что такое коэффициент корреляции - знать не мешает... wink.gif

Что-то Вы совсем заклевали топикстартера. Он спрашивал всего-лишь как математически проверить два спектра на одинаковость. Причем выбрал самое неправильное окно производящее ершистый спектр и традиционный метод корреляции - вычесть среднее перемножить и по максимуму.
Обойдемся без этого. Возьмем любое гладкое окно. Если Гаусса не хочется возьмите Наттала. Вычислим среднеквадратичное отклонение одного спектра от другого и по минимуму. (Вопрос о нормализации мощностей спектров на усмотрение проверяющего, может это тоже диагностический признак)
DRUID3
smile.gif О боги Шамбалы, я вообще-то добрейший человек и никого заклевывать и не думаю... Просто безобидно шучу. smile.gif Шутите в ответ ...

Цитата(Lmx2315 @ Sep 16 2010, 11:23) *
Также из этих данных высчитываю коэффициент корреляции с эталонным сигналом.

Вот это меня немного сбило с толку... Подумал, что где-то и как-то все-таки делается метрическое нормирование... Сам я тоже дал маху - не объяснил, что под к.к. я понимаю обычный к.к. из радиотехнических учебников или Ю.Сато - а не начала математической шизофрении от WiKi - т.е. обычная корреляция делится на произведение абсолютных длин N-мерных векторов сигналов. Но - фишка в том, что в абсолютная длинна - если абстрагироваться от Марь Ивановны которая бьет указкой по пальцам учеников с альтернативным мышлением - тоже понятие относительное. И взяв обобщенную формулу, что я приводил и вставив туда L=1 (очень широко применяемая на практике метрика - напрмер в ИИ) - по-сути мы находим сумму модулей сэмплов - что на порядки эффективнее корня из суммы квадратов - мы здорово облегчим себе жизнь... Правда у топикстартера все делается в частотной области - ну так и там напридумывать можно много чего... Но главное почему я был за к.к. - ему не нужны никакие нормировки, АРУ, масштабирование и прочие - это и есть основное его свойство отличающее от простого вычисления корреляции как некого числового параметра подобия, к.к. всегда лежит в интервале [-1, 1] что дает очень удобную и однозначно... Автор же вычисляет отношение физических спектров сигналов (в общем случае - любое число) - это не эквивалент к.к.
Lmx2315
Цитата(SPACUM @ Sep 20 2010, 13:31) *
..Он спрашивал всего-лишь как математически проверить два спектра на одинаковость. Причем выбрал самое неправильное окно производящее ершистый спектр и традиционный метод корреляции - вычесть среднее перемножить и по максимуму.
Обойдемся без этого. Возьмем любое гладкое окно. Если Гаусса не хочется возьмите Наттала. Вычислим среднеквадратичное отклонение одного спектра от другого и по минимуму. (Вопрос о нормализации мощностей спектров на усмотрение проверяющего, может это тоже диагностический признак)


.. да , так и хотел.
Треугольное окно - самое простое для реализации в ПЛИС , потому его и выбрал.
Спасибо.
SPACUM
Цитата(Lmx2315 @ Sep 20 2010, 15:24) *
.. да , так и хотел.
Треугольное окно - самое простое для реализации в ПЛИС , потому его и выбрал.
Спасибо.

У Вас мало точек просто запишите таблицу. Желаю удачи.
Lmx2315
Цитата(SPACUM @ Sep 20 2010, 22:23) *
У Вас мало точек просто запишите таблицу. Желаю удачи.

biggrin.gif

..вот за это спасибо !
про таблицу - мне и в голову не пришло , это на самом деле гораздо проще .

Надеюсь поможет, или как альтернативный вариант буду высчитывать отдельные гармоники , из большей выборки отсчётов.
Lmx2315
..попробовал я окна , окно Наталла (Nuttall window) , окно Хемминга (Hamming window) .
У меня в системе хреновый сигнал / шум , окно превращает всё в плавно волнующееся море .
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.