|
|
  |
Выделение сигнала на фоне помех |
|
|
|
Oct 30 2009, 11:54
|

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

|
Если это всё скользит во времени, скользящее окно Вы сделать, конечно, можете. Нужно завести только линии задержки для всех 64 отсчетов х 8 задержек и наладить учёт, тех точек что уходят из окна анализа. Тогда лучше гистограмму хранить всё-таки массивом S[n] и делать для входящих S[n]+=1, а для уходящих S[k]-=1; n входящее в окно значение АЦП, к - задержанное на 8 значение, соответствующего отсчета; никакая инициализация в риал-тайме тогда не нужна.
Что касается анализа гарантированого статистического определения "центра" по 8 реализациям, то это мне кажется примерно относится к "Статистической теории одноразовых событий" ))
ЗЫ. Одно время в 90-е была потрясающе модной новая теория дискретизации. Для целых функций (с точностью до константы типа мощности) доказано что сигнал можно не квантовать на дискретной сетке, а достаточно определить моменты его пересечения с 0 и их оцифровать. В том числе для тех самых сигналов с ограниченым спектором, для которых Котельников. Такой "перпендикулярной" теории дискретизации было посвящено в своё время огромное количество научных статей в IEEE и даже спецвыпуск. Однако практического применения теория, кажется, совсем не нашла, поскольку всё сгубил шум, пусть даже и бесконечно малый
|
|
|
|
|
Oct 30 2009, 12:12
|
Местный
  
Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052

|
Цитата(Марк_Я @ Oct 30 2009, 14:36)  Вооо! Это уже по теме... Смысл моего вопроса в том, какие аналитические (а не табличные) соотношения позволят достаточно быстро обработать такие массивы по 8 элементов. Аналитические отношения - это линейные или гладкие функции. Вы убедились, что линейным способом задача не решается. Нужно очень нелинейное решение. Так как с линейной точки зрения информации не хватает. Это ранговая фильтрация и что-то около, эвристический алгоритм, замешанный на логике. Например, среди задержанных 8 кадров выбирать мажоритарно достоверные однономерные отсчеты и принимать решение.
|
|
|
|
|
Oct 30 2009, 12:13
|

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

|
Цитата(Марк_Я @ Oct 30 2009, 15:07)  Ну скользящее окно на последние 2х8х64 это просто и вообщем уже есть. Просто пишем в буфер такого объема последовательно по кругу и все. Какая разница для такой обработки кто первый, а кто последний... Анализируем сечение. Ну так Вы делаете это инкрементально или пересчитываете гистограмму по всем 8? Инкрементально - это значит что новые входят, а последние уходят. Приходит новое X и имеем линию задержки X[0][], X[1][]..., X[7][]- это самый последний тогда S[n]+=1; S[X[7][]]-=1; for (i=7; i>0; i--) X[i][] = X[i-1][]; X[0][] = X Хрен редьки не слаще и линию задержки выходит, что нужно крутить тоже на 8. Но если в процессоре есть аппаратная циклическая адресация, то последний цикл исчезает Это уже 2операции , а не 8 Не-е за 70 рублей так не пойдёт... Забудьте Цитата(Марк_Я @ Oct 30 2009, 15:07)  Я немного осторожно намекну... Решение в районе анализа матожидания с контролем дисперсии, только вот аналитические выражения для такого случая с подводными камнями хотелось бы услышать от спецов... Я и говорю, что для аналитического решения этой задачи нужны спецы по матстатистике гипотез примерно одноразовых событий. Здесь таких наверное нет ))
|
|
|
|
|
Oct 30 2009, 12:29
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
"аппаратная циклическая" есть - это называется автоинкрементная. В мнемонике ассемблера 18-х микрочипов это выглядит как виртуальный регистр POSTINC, с указателем FSR. Читаем/пишем по адресу указанному в FSR через окно POSTINC и аппаратно сразу просле операции указатель FSR инкрементируется. ЗЫ. Пишу на асме...  Но это к делу отношения не имеет, можно приводить и си-реализации.
|
|
|
|
|
Oct 30 2009, 12:32
|

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

|
Цитата(Марк_Я @ Oct 30 2009, 15:29)  "аппаратная циклическая" есть - это называется автоинкрементная. В мнемонике ассемблера 18-х микрочипов это выглядит как виртуальный регистр POSTINC, с указателем FSR. Читаем/пишем по адресу указанному в FSR через окно POSTINC и аппаратно сразу просле операции указатель FSR инкрементируется. POSTINC мало. Нужно, чтобы ещё указатель сам зацикливался при инкременте - 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0... Это назвается циклической адрсацией. Вы конечно можете сделать i+=1 i = (i & 0x7) но это уже не так эффективно. Но можно. Благодаря тому, что 8=2**3 не 7 и не 9
|
|
|
|
|
Oct 30 2009, 12:36
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
Цитата(fontp @ Oct 30 2009, 15:13)  Не-е за 70 рублей так не пойдёт... Забудьте Трудно забыть работающую на рабочем столе конструкцию... (только окно не скользящее)...  Цитата(fontp @ Oct 30 2009, 15:32)  POSTINC мало. Нужно, чтобы ещё указатель сам зацикливался при инкременте - 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 0... Это назвается циклической адрсацией. Вы конечно можете сделать i+=1 i = (i & 0x7)
но это уже не так эффективно. Но можно. точно! в асме маска накладывается в две строки: movlw 0x07 andwf FSRx, f итого 130 наносекунд
Сообщение отредактировал Марк_Я - Oct 30 2009, 12:38
|
|
|
|
|
Oct 30 2009, 12:39
|

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

|
Цитата(Марк_Я @ Oct 30 2009, 15:36)  Трудно забыть работающую на рабочем столе конструкцию... (только окно не скользящее)...  точно! в асме маска накладывается в две строки: movlw 0x07 andwf FSRx, f  Я не про процессор, а про циклическую адресацию и инкрементальный пересчет гистограммы. С адресом будет труднее. Ну придумайте сами что-нибудь как адрес выровнять на границу чего то кратного 8 и потом маскировать при инкременте. Обычно всё-таки косвенная адресация с инкрементом эффективней индексной ЗЫ. Сам алгоритм может быть работоспособен и даже устойчив. Но мне всё же очень не нравится статвывод по 8-и реализациям. Хотя дело Ваше хозяйское, не буду мешать ))
|
|
|
|
|
Oct 30 2009, 13:10
|
Местный
  
Группа: Участник
Сообщений: 270
Регистрация: 29-06-06
Пользователь №: 18 445

|
Чото я не пойму метаний. Как уже отметил анатолий, задача существенно нелинейная. Давайте разделим линейную и нелинейную части. Что линейное у нас? Только то, что сигнал от помехи можно отличить по периоду повторения, ни по чему больше. Понятно, период с некоторыми отклонениями от среднего. Амплитуду и верхнюю частоту отклонений можно замерить предварительно на натуре или вычислить. что нелинейное? То, что сигнал может быть с помехой, быть помеха без сигнала и вообще ничего на входе. Думается, выглядит логично сделать алгоритм тоже нелинейным, а именно, ввести режим поиска своего сигнала. После обнаружения - адаптивное стробирование с ограниченной скоростью изменения сдвига строба по времени. Потом уже можно и статистику, и всё, что угодно накладывать.
|
|
|
|
|
Oct 30 2009, 13:24
|
Частый гость
 
Группа: Свой
Сообщений: 178
Регистрация: 19-09-07
Из: М.О. г.Фрязино
Пользователь №: 30 656

|
Специально для отстающих...  Сов.секретно. Есть детектор частотных меток. Несколько детекторов. Рядом. Каждый зондирует отдельно. Метки разные. Их технологически не сделать одинаковыми. Каждая зондирующая посылка и есть фрейм. Все зонды друг другу мешают и устранить это НЕВОЗМОЖНО в принципе. Потому немного разводят периоды зондирования (частоты повторения). Все. Во фрейме на осциллографе сплошная каша. Только свое стоит как влитое на месте (произвольном внутри фрейма). Все. Накопление, коррелятор только уменьшают помехи но не устраняют их. Кроме того, в случае слишком больших помех нужно блокировать прием (сбрасывать принятые массивы/ игнорировать их и выводить на индикацию эту ситуацию - светодиод поджигать  )...
Сообщение отредактировал Марк_Я - Oct 30 2009, 13:30
|
|
|
|
|
Oct 30 2009, 16:03
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(Марк_Я @ Oct 30 2009, 17:24)  Специально для отстающих...  Сов.секретно. Есть детектор частотных меток. Несколько детекторов. Рядом. Каждый зондирует отдельно. Метки разные. Их технологически не сделать одинаковыми. Каждая зондирующая посылка и есть фрейм. Все зонды друг другу мешают и устранить это НЕВОЗМОЖНО в принципе. Потому немного разводят периоды зондирования (частоты повторения). Все. Во фрейме на осциллографе сплошная каша. Только свое стоит как влитое на месте (произвольном внутри фрейма). Все. Накопление, коррелятор только уменьшают помехи но не устраняют их. Кроме того, в случае слишком больших помех нужно блокировать прием (сбрасывать принятые массивы/ игнорировать их и выводить на индикацию эту ситуацию - светодиод поджигать  )... Понятно. Коррелятор у Вас не коррелятор, а что-то другое. Коррелятор просто обязан работать и давать максимальный эффект. Нужно его правильно сделать. Подозреваю, что Ваш алгоритм и есть алгоритм коррелятора, но Вы его выражаете в привычных вам терминах.
|
|
|
|
|
Oct 30 2009, 22:12
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(Марк_Я @ Oct 30 2009, 22:17)  Даже и не знаю что сказать... Если коррелятор можно сделать без единого умножения, то пусть это будет "коррелятор"... Видно слово красивое... понравилось очень. Если серьезно, то корреляторы работают и дают эффект, когда применяются по назначению. А когда его никаким боком сюда не приткнуть, поскольку нет детерминированной формы сигнала, нет внятного позиционирования сигнала внутри фрейма, наконец когда взаимокорреляционная функция сигнала и помехи практически равна автокорреляционной сигнала, о какой корреляции можно вообще говорить? Чего с чем? Сигнал имеет очень стабильную частоту повторения. Такая же частота должна быть выбрана у сэмплов для приема именно этого сигнала. При поточечном перемножении всех восьми сэмплов между собой только в месте расположения сигнала (в произвольном, но в одном и том же месте для всех восьми сэмплов) будет пик. В остальных местах будут нули, так как случайно расположенные чужие сигналы не совпадут восемь раз подряд из-за отличающейся частоты (тоже, как я понял, стабильной, но другой). Првктически, совпадение должно быть восемь раз подряд. Если хоть в одном случае в сэмпле на этом месте будет "ноль", пик сигнала не выделяется. Таким образом, в корреляции обязательно участвует период повторения принимаемого сигнала.
Сообщение отредактировал sup-sup - Oct 30 2009, 22:14
|
|
|
|
|
Oct 30 2009, 22:26
|
Знающий
   
Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837

|
Цитата(sup-sup @ Oct 31 2009, 02:12)  Сигнал имеет очень стабильную частоту повторения. Такая же частота должна быть выбрана у сэмплов для приема именно этого сигнала. При поточечном перемножении всех восьми сэмплов между собой только в месте расположения сигнала (в произвольном, но в одном и том же месте для всех восьми сэмплов) будет пик. В остальных местах будут нули, так как случайно расположенные чужие сигналы не совпадут восемь раз подряд из-за отличающейся частоты (тоже, как я понял, стабильной, но другой). Првктически, совпадение должно быть восемь раз подряд. Если хоть в одном случае в сэмпле на этом месте будет "ноль", пик сигнала не выделяется. Таким образом, в корреляции обязательно участвует период повторения принимаемого сигнала. Я это же самое предлагал ещё в посте 4, но автор, видимо, 30 лет знает только слово корреляция, но не понимает что оно означает.
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|