|
|
  |
Выделение сигнала на фоне помех |
|
|
|
Oct 29 2009, 19:37
|
Участник

Группа: Участник
Сообщений: 26
Регистрация: 25-06-06
Пользователь №: 18 344

|
Цитата(Марк_Я @ Oct 28 2009, 17:27)  Берем нулевой массив из 256 ячеек для 8-разрядного преобразования АЦП (у меня такое). Инкрементируем элемент массива с адресом равным отсчету АЦП. Получаем гистограмму этих 8 одноименных (в периоде) отсчетов. Затем двигаемся воротами анализа от 0 до 255 и, как только в воротах анализа окажется не менее, скажем 5 единиц (сумма значений элементов массива в воротах анализа), так центр ворот и будет весовым центром гистограммы. Если нигде не будет обнаружено пика, значит помеха слишком велика и детектирования сигнала не произойдет. Это можно упростить примерно так // сортируем 8 отсчетов a[8] по возрастанию sort(a);
// ищем группу из 5 отсчетов с близкими значениями for (i = 0; i < 8-4; i++) {
if (a[i+4] - a[i] <= GATE_WIDTH) {
return a[i] + GATE_WIDTH/2; // нашли группу, возвращаем центр окна // или return a[i+2]; // нашли группу, возвращаем медиану
}
} return error; // не нашли группу => сигнал испорчен помехой
Только в этом коде "центр окна" может оказаться больше 255, поэтому лучше использовать медиану. К тому же использование "центра окна" вносит систематическую погрешность, если все отсчеты одинаковые.
|
|
|
|
|
Oct 30 2009, 03:33
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(Марк_Я @ Oct 29 2009, 06:18)  Я специально выделил в названии слово ПОМЕХА. Задача - не допустить в конце концов ложного срабатывания устройства в целом по помехе. Сигнал при этом достаточно сильный и детектировать его в отсутствии помехи вообще элементарно. Так вот засада в том, что помеха имеет практически идентичную форму и отличается лишь некогерентностью с частотой следования семплов, т.е. может возникать внутри отсчета случайным образом. Корреляционный фильтр не отличит сигнал от помехи, поскольку есть вероятность (и она очень большая), что на этом месте (на месте помехи) может быть и сигнал. ЗЫ. Уже достаточно давно в этой разработке пытались "привинтить" корреляционный фильтр... без успеха... На фоне шумов - прекрасно, но в существующих помехах (спектры помехи и сигнала полностью пересекаются) он беспомощен полностью. Мало того, еще и страшно медленный... недопустимо медленный даже при реализации на Техасском Пикколо. А приведенная идея прекрасно справляется с задачей, но нужно уместить алгоритм во временную диаграмму скользящего анализа, вот тут и требуется конкретный испрошаемый мною алгоритм. Есть предположение, что Вы не совсем понимаете, что есть корреляция (вообще-то это селекция по форме сигнала, если так можно сказать). Помеха на то и помеха, что "в каком-то месте" она не сигнал - другая амплитуда, фаза и т.д. . Вот и делаете на своем пиккало какую-то ерунду. Ану ка выкладки в студию... Цитата(SFx @ Oct 29 2009, 21:32)  почитал топик, может вам нейронную сеть обучить?  Т.е. внутри нейронных сетей таится неведомая Вам и нам математика которую, этим самым обучением, можно задействовать, так?
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Oct 30 2009, 09:10
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
Цитата(DRUID3 @ Oct 30 2009, 06:33)  Есть предположение, что Вы не совсем понимаете, что есть корреляция .... А у меня есть предположение, что Вы не прочли внимательно мои спичи в теме... Про Ваше предположение спешу разочаровать... (на ушко, лично Вам..., как радиоинженер радиоинженеру). Что есть корреляция мне ведомо уже лет так 30... Я уже устал повторять. Помеха есть точно такой же сигнал, только ЧУЖОЙ. Если своего сигнала нет, то коррелятор (автокоррелятор) тупо принимает помеху за сигнал, пусть и ослабленный. Собственно вся моя нынешняя работа - это есть ОТКАЗ от корреляционной обработки, поскольку она никак не работает в условиях применения прибора. Что касается "в студию", не порадую Вас, брать чужую работу и публиковать не имею ни прав ни желания. Одно могу сказать. Алгоритм писал человек, который почти 40 лет пишет подобные вещи для бортовых РЛС...
Сообщение отредактировал Марк_Я - Oct 30 2009, 09:12
|
|
|
|
|
Oct 30 2009, 09:42
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(анатолий @ Oct 30 2009, 12:23)  Не надо нервничать. Товарищ предлагает делать корреляцию не как согласованный с сигналом фильтр, а как корреляцию с задержкой, равной периоду сигнала. Известно, что корреляция чудно усиливает периодические сигналы и подавляет случайные. Да-да-да. Можно даже создать эталонный сигнал накоплением "правильно обнаруженых" "фреймов". А неправильно расположеный во времени "фрейм" (сэмпл по местной терминологии, но это уже ни в какие ворота, язык не поворачивается назвать цуг сигнала - сэмплом) даст корреляционный максимум в "неправильном месте", со смещением. Что-то такое проделывают при изучении "вызваных потенциалов" на энцефалограммах/кардиограммах. Хотя изменчивость эталона может всё убить. Если же самое стабильное, что есть - это не форма сигнала, а период, можно попробовать строить линейный предсказатель со сдвигом на известный период. По результату предсказания следующего периода по предыдущему делать вывод о том сигнал это или помеха
|
|
|
|
|
Oct 30 2009, 10:26
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
Цитата(анатолий @ Oct 30 2009, 12:23)  Не надо нервничать. Товарищ предлагает делать корреляцию не как согласованный с сигналом фильтр, а как корреляцию с задержкой, равной периоду сигнала. Известно, что корреляция чудно усиливает периодические сигналы и подавляет случайные. Нее, я не нервничаю...  Предложенное и использовалось. Только при слабом (регулярном, своем) сигнале и при импульсной, но сильной помехе на выходе такого анализатора имеем практически идентичные сигналы. А при отсутствии своего, помеха подавляется, но остается очень высокая вероятность ложных срабатываний (что и наблюдается в периодическом, правда не частом, "попискивании" аларма изделия в присутствии помехи)... Господа. Статистический дифференциальный анализ в данном приложении решил проблему ложных срабатываний радикально. Единственная проблема, относительно большое (хотя и допустимое) время реакции системы. Хотелось поменьше. Дискретизация по периоду анализа - 64 точки. Потому все расчеты будут повторятся 128 раз (квадратурные сигналы). Вот отсюда и вопрос. Сейчас сделано раздельно - копим 2х8 семплов, затем обрабатываем и принимаем решение. А хочется после приема каждого семпла пересчитывать 8 последних (скользящее окно).
Сообщение отредактировал Марк_Я - Oct 30 2009, 10:28
|
|
|
|
|
Oct 30 2009, 10:32
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Марк_Я @ Oct 30 2009, 13:26)  Господа. Статистический дифференциальный анализ в данном приложении решил проблему ложных срабатываний радикально. Единственная проблема, относительно большое (хотя и допустимое) время реакции системы. Хотелось поменьше. Дискретизация по периоду анализа - 64 точки. Потому все расчеты будут повторятся 128 раз (квадратурные сигналы). Вот отсюда и вопрос. Сейчас сделано раздельно - копим 2х8 семплов, затем обрабатываем и принимаем решение. А хочется после приема каждого семпла пересчитывать 8 последних (скользящее окно). Хорошо. Не понятно, но алгоритм у Вас уже есть. А что Вы называете гистограммой? Если сэмпл - это отрезок сигнала Если то же что все (число отсчетов с данной интенсивностью), то гистограмму пересчитывать скользящим окном не получится. Гистограмма вещь примитивная p(S) = p(S) + 1 Тем более дифференциальная. ))
|
|
|
|
|
Oct 30 2009, 10:34
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
Цитата(fontp @ Oct 30 2009, 12:42)  Да-да-да. Можно даже создать эталонный сигнал накоплением "правильно обнаруженых" "фреймов". А неправильно расположеный во времени "фрейм" (сэмпл по местной терминологии, но это уже ни в какие ворота, язык не поворачивается назвать цуг сигнала - сэмплом) даст корреляционный максимум в "неправильном месте", со смещением. Нет там "неправильного места". Все правильные. Только помеха вылезает как сигнал в любом месте случайно (точнее в виде стробоскопических биений), а сигнал все 8 периодов стоит на одном месте в периоде. Но это место ЛЮБОЕ. Они вообще могут оказаться в одной точке (сигнал и помеха)...
|
|
|
|
|
Oct 30 2009, 10:36
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Марк_Я @ Oct 30 2009, 13:34)  Они вообще могут оказаться в одной точке (сигнал и помеха)... И как Вы их отличаете? Если они одинаковы по форме и позиционированы в одном месте в периоде )) Цитата(Марк_Я @ Oct 30 2009, 13:34)  Нет там "неправильного места". Все правильные. Только помеха вылезает как сигнал в любом месте случайно (точнее в виде стробоскопических биений), а сигнал все 8 периодов стоит на одном месте в периоде. Но это место ЛЮБОЕ. Они вообще могут оказаться в одной точке (сигнал и помеха)... Вас трудно понять. Мы все и говорим, что для сигнала это место ЛЮБОЕ, но расстояние между этими импульсами одинаковые равные периоду. А для помехи это не так. Поэтому, мы все говорим, дескать в функции корреляции на периоде Ф(Т) будет пик для сигнала, а для помехи будет в другом месте, а на периоде Ф(Т) = 0. Ладно, забудьте, алгоритм у Вас уже есть
|
|
|
|
|
Oct 30 2009, 10:46
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
Цитата(fontp @ Oct 30 2009, 13:32)  Хорошо. Не понятно, но алгоритм у Вас уже есть. А что Вы называете гистограммой? Если сэмпл - это отрезок сигнала Если то же что все (число отсчетов с данной интенсивностью), то гистограмму пересчитывать скользящим окном не получится. Гистограмма вещь примитивная p(S) = p(S) + 1 Тем более дифференциальная. )) Гистограмма в данном случае - это распределение одноименного в периоде отсчета АЦП по шкале АЦП. Т.е. скажем на 25-ый отсчет АЦП в разных фреймах (семплах, как угодно обзови...) было 8 разных значений: A3, A2, A0, A0, A1, A0, 1F, 9F. Таким образом гистограмма будет иметь 6 столбиков: А0 - высотой в 3 единицы, остальные по 1. Ежу понятно, что сигнал равен А0 (точнее наиболее вероятен!)... Цитата(fontp @ Oct 30 2009, 13:36)  И как Вы их отличаете? Если они одинаковы по форме и позиционированы в одном месте в периоде ))
Вас трудно понять. Мы все и говорим, что для сигнала это место ЛЮБОЕ, но расстояние между этими импульсами одинаковые равные периоду. А для помехи это не так. Поэтому, мы все говорим, дескать в функции корреляции на периоде Ф(Т) будет пик для сигнала, а для помехи будет в другом месте, а на периоде Ф(Т) = 0. Ладно, забудьте, алгоритм у Вас уже есть Если представить весь фрейм как суперпозицию отдельных независимых отсчетов АЦП, то статистический анализ каждого линейного массива отдноименных в периоде отсчетов и даст наиболее вероятный суммарный сигнал. Я уже это объяснял... ЗЫ. By the way, форма сигнала и помехи достаточно неопределенна - это могут быть импульсы разной формы, экспоненциально падающий синус и т.п....
Сообщение отредактировал Марк_Я - Oct 30 2009, 10:49
|
|
|
|
|
Oct 30 2009, 10:50
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(Марк_Я @ Oct 30 2009, 13:46)  Гистограмма в данном случае - это распределение одноименного в периоде отсчета АЦП по шкале АЦП. Т.е. скажем на 25-ый отсчет АЦП в разных фреймах (семплах, как угодно обзови...) было 8 разных значений: A3, A2, A0, A0, A1, A0, 1F, 9F. Таким образом гистограмма будет иметь 6 столбиков: А0 - высотой в 3 единицы, остальные по 1. Ежу понятно, что сигнал равен А0 (точнее наиболее вероятен!)... Если представить весь фрейм как суперпозицию отдельных независимых отсчетов АЦП, то статистический анализ каждого линейного массива отдноименных в периоде отсчетов и даст наиболее вероятный суммарный сигнал. Я уже это объяснял... Понятно, Вы как бы секёте сечением. Наверное, у Вас очень малоразрядный АЦП. Иначе шум сделает так, что все восемь значений будут различны и в гистограмме будут только единицы и нули. Цитата(Марк_Я @ Oct 28 2009, 16:27)  Поругайте мой "деревянный велосипед с квадратными колесами"и направьте на путь истинный...  Спасибо. Впрочем, 8-разрядный. Наверное, у Вас нет шума )) Можно загрубить, конечно Кажется единственное, что можно хорошего сразу сделать с гистограммой - это не хранить её в виде массива S[n], n=0, 255 а сделать её типа списка пар (n, count) и наращивать count при совпадении n при проходе по списку. Иначе можно замучиться с инициализацией S[n]=0, n=0, 255 А этих элементов максимум 8
|
|
|
|
|
Oct 30 2009, 11:36
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
Вооо! Это уже по теме... Смысл моего вопроса в том, какие аналитические (а не табличные) соотношения позволят достаточно быстро обработать такие массивы по 8 элементов. АЦП действительно 8 разрядный. Шума действительно практически нет, он лежит ниже дискрета преобразования по амплитуде. Шум квантования не мешает... В гистограмме могут быть и одни единицы и нули, но если все 8 единиц подряд, то серединка и есть сигнал... Цитирование меня про дер.велосипед оценил...  , это я так скромничаю...  вдруг какую нибудь хню ляпну, а так народ снисхождение какое никакое проявит...
Сообщение отредактировал Марк_Я - Oct 30 2009, 11:42
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|