Полная версия этой страницы:
Определение типа сигнала
Люди, помогите!
Предположим, что на выходе ЦФ у меня есть cos(), затем треугольник, а затем опять cos()
Каким образом можно объяснить компу, что на выходе 2 косинуса и как их можно отделить, т.е. комп должен понять, что первый cos() занимает первые 100 отчетов, а последний - с 350 по 400. Ясно, что у косинусов разные частоты.
Т.е. как комп научить распознавать форму сигналов?
Заранее спасибо!
bahurin
Apr 27 2010, 13:47
данная задача будоражит умы уже лет эдак 100 и путевого решения увы нет. Пути по которому можно идти:
1. Сравнивать степень похожести на основе кратковременного корреляционного анализа (по времени и частоте). Пожалуй самое простое и ненадежное. Сюда же можно добавить всякого рода образы (вейвлет и прочее)
2. Строить некую следящую систему на основе линейной (а лучше нелинейной) авторегрессионной модели. Это уже гораздо сложнее, если вообще возможно.
3. Есть такой аппарат для распознавания называется искусственные нейронные сети. Их можно обучать и пытаться ими чтото там распознавать. Я лично к ним отношусь с недоверием.
Вот у меня такая задача. Через фильтр я пропускаю сигнал, на выходе у меня cos-ы с разными частотами + всякая фигня.... Частоты мне заранее неизвесты!!! Может есть идеи как хотя бы с точностью в 50% распознать cos! Мне нужно получить совокупность cos-ов и их частот, присутствующих на выходе... Корреляция фигня полная, она кажись работает только с М-последовательностями!!!
Может литературу посоветует?
Andron_
Apr 27 2010, 15:24
Цитата(boobo @ Apr 27 2010, 21:37)

Может есть идеи как хотя бы с точностью в 50% распознать cos!
по отношению уровней гармоник оценить...
AsJohnAs
Apr 29 2010, 15:40
Ну для того чтоб найти частоты можно применять метод MUSIC или метод Писаренко (http://en.wikipedia.org/wiki/Frequency_estimation).
Метод MUSIC реализован в MATLAB, там можно с ним поиграться.
Mad_max
Apr 30 2010, 14:53
Цитата(boobo @ Apr 27 2010, 18:37)

Вот у меня такая задача. Через фильтр я пропускаю сигнал, на выходе у меня cos-ы с разными частотами + всякая фигня.... Частоты мне заранее неизвесты!!! Может есть идеи как хотя бы с точностью в 50% распознать cos! Мне нужно получить совокупность cos-ов и их частот, присутствующих на выходе... Корреляция фигня полная, она кажись работает только с М-последовательностями!!!
Может литературу посоветует?
Корреляция, а точнее ВКФ взаимно корреляционная функция характеризует степень похожести двух сигналов.
А теперь думайте подходит это вам или нет. Если нет, то второй третий пунк из приведенного выше ваш путь на пару ближайших лет
А если пройтись скользящим окном Фурье по этому сигналу и выделить максимальные компоненты? Вполне может сгодиться, если косинусы достаточной амплитуды. Вообще, хорошо бы знать как относятся уровни сигналов тех же косинусов с треугольниками, например. По полученным спектрам можно ходить также скользящим окном с адаптивным порогам. Там где есть превышение - есть косинус. Далее различными вариациями алгоритма можно более точно локализовать начало и конец сигнала. А вообще, гораздо удобнее знать хотя бы приблиительно какие косинусы ожидать на выходе...
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.