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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Фильтрация входного сигнала.
AndrewN
сообщение Jan 30 2014, 19:23
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



QUOTE (TSerg @ Jan 30 2014, 22:17) *
Это разве задача? sm.gif
Интереснее на ней рассмотреть предельные возможности разных методов.

Оказалась ещё и какая sm.gif Я удалённо силой мысли внутрь полупроводника проник - см. мой модифицированный предыдущий msg. sm.gif

QUOTE (thermit @ Jan 30 2014, 22:19) *
Вы придумали собственную задачу и бодро взялись ее решать (не решив, кстати говоря). Между тем с вопросом тс можно ознакомиться в 1 посте.
"Да чихал я на Лохматого" - х/ф "Акваланги на дне" sm.gif

Сообщение отредактировал AndrewN - Jan 30 2014, 19:38
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jan 30 2014, 19:38
Сообщение #17


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Было бы интересно взглянуть на распределение, когда выдается более широкий диапазон чисел, а не только "температура тела". Подогреть пациента, охладить.
Потому что оно не нормальное (ненормальное!). sm.gif
Go to the top of the page
 
+Quote Post
AndrewN
сообщение Jan 30 2014, 19:48
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



QUOTE (ViKo @ Jan 30 2014, 23:38) *
Подогреть пациента, охладить.
Потому что оно не нормальное (ненормальное!). sm.gif
Я практически уверен, что АЦП битое. Поэтому и распределение шума асимметричное и с дырками. Дырки мне удалось (случайно) убрать, а уж асимметрию теплового шума - чего только битый АЦП не придумает...
Go to the top of the page
 
+Quote Post
Xtal1
сообщение Jan 31 2014, 07:27
Сообщение #19





Группа: Участник
Сообщений: 12
Регистрация: 8-01-13
Пользователь №: 75 101



Всех ответивших благодарю за помощь.
Вообщем, это не АЦП, потому сеанс телепатии был не совсем удачен.
Физически, эти значения представляют собой тики таймера в системе радиочастотной ToF. Т.е. мы измеряем расстояние между цифровыми трансиверами с помощью вычисления времени полета радиоволны.
Сам процесс измерения производится следующим образом:
Первое устройство (мастер) запускает счет таймера и отправляет ведомому пакет, в момент завершения отправки происходит событие захвата и защелкивается значение счетного регистра таймера, мастер переключается в режим приема. Далее, ведомое устройство, принимает пакет, переключается в режим передачи, и начинает отправку ответного пакета. Когда мастер ловит событие детектирования синхрослова, то это событие на другом канале захвата таймера вызывает защелкивание второго значения таймера (переполнения учитываются). После этого, получаем разницу между двумя событиями в тиках таймера. Вот именно эти значения и даются в первом посте.
Все задержки, константные, кроме одной - задержки между началом передачи и моментом возникновения события детектирования синхрослова. Подозреваю, что природа этого связана с частотой дискретизации входного сигнала в трансивере. Другими словами, насколько точно трансивер определяет фронты сигнала - насколько точный результат я и получаю на выходе. И "ненормальность" распределения, мне кажется, связана именно с этим. Во всяком случае, другого объяснения для того факта, что измерения стремятся занимать несколько определенных дискретных значений, я пока не придумал sm.gif

Сама проблема заключается не в том, что нужно получать большую скорость измерений, а в том, что устройства автономные и тратить энергию на слишком длинные сеансы связи - роскошь. Так, на данном этапе, для того, чтобы провести 100 циклов измерения я сейчас затрачиваю 85 мс, но усреднение 100 значений дает разброс больше желаемого. Приемлемую болтанку дает усреднение 1000 значений, но тогда и время измерения почти секунда. Так что при этом сеансы измерения расстояния прийдется проводить значительно реже, что, собственно и смущает.
Пытался вычислить для выборки максимумы и минимумы (все, если их несколько) и выбросить из усреднения, но это не дало результата. Видимо действительно нужно как-то задавать окно и за его пределами отсекать "левые" значения. Но пока не придумал по каким критериям задавать границы этого окна, имея просто выборку, например из сотни значений.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 31 2014, 10:31
Сообщение #20





Guests






Понимание подходов для обработки могут дать стат. исследования потоков, по примеру Вами приведенному в первом посте.
Если действительно имеет место более-менее стационарная кластеризация сигнала по уровням, то необходимо определить параметры такой кластеризации и обрабатывать сигнал в онлайн на основе полученных знаний.
P.S.
Если захотите - можете скинуть сюда или в личку некий набор подобных измерений для анализа.

Go to the top of the page
 
+Quote Post
AndrewN
сообщение Jan 31 2014, 10:40
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961



QUOTE (Xtal1 @ Jan 31 2014, 10:27) *
Во всяком случае, другого объяснения для того факта, что измерения стремятся занимать несколько определенных дискретных значений, я пока не придумал
Да. Пара банальностей: всякое измерение это случайный процесс, в большинстве случаев с гауссовым распределением.

Из измеренных данных видно тримодальное распределение, причём оно проявляется уже на первом десятке измерений, и дальше статистика не меняется, что для 50, для 100, для 1000 всё едино. Значит должно быть хорошее, разумное объяснение для дырок в распределении. Эти дырки случайными не выглядят, а имеют систематический характер. Что это? Моя гипотеза - сбой (ошибка в работе) в измерительной системе.
Go to the top of the page
 
+Quote Post
_pv
сообщение Jan 31 2014, 11:02
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



если не секрет, то интересуют грязные подробности sm.gif
что за трансиверы, параметры передачи (битовая скорость) и в каких тугриках измеряется время в прикреплённом файле.

распеределние вполне нормальное, надо только округлить до значения (загрубить дисктеризацию до ~40 тугриков).
33590, 36630, 36670. потому что это и есть реальная дисктерность ограниченная в приёмнике, остальные более мелкие изменения полезной информации не несут.
Прикрепленное изображение

можно попробовать улучшить ситуацию если аккуратно смотреть частоту тактирования обоих трансиверов. так как частоты заведомо не одинаковые можно попробовать поймать их биения, чья фаза возможно даст дополнителную информацию о задержке распространения. но так как шумы (16 тугриков) не особо меньше дискретности (40 тугриков) то, пожалуй, ничего хорошего из этого не получится.

так что природу тут не обманешь, есть распределение с сигмой 16 тугриков, хочется сделать 1, усредняй 16^2 = 256 раз.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 31 2014, 12:47
Сообщение #23





Guests






Это нормальный подход, если говорить о традиционной фильтрации.
Если сигнал+помеха можно устойчиво кластеризовать, то появляется возможность выборки наиболее привлекательного кластера значений и далее обрабатываеть его относительно традиционными средствами.
Добавив динамическую кластеризацию получаем довольно робастный алгоритм.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 31 2014, 21:21
Сообщение #24





Guests






Что интересно, в итоге - спасибо ТС за подачу почти забытой мной идеи.
Набросал сегодня алгоритм динамической кластеризации в онлайн решении и на его основе - разбраковку помех по кластерам.
После вычленения остатка - считаем его сигналом (линейная обработка в частотной области) или делаем стат. оценку.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Jan 31 2014, 22:11
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Xtal1 @ Jan 30 2014, 17:18) *
Можно ли добиться подобного результата с помощью каких-то более серьезных алгоритмов фильтрации и получить при этом время отклика фильтра хотя бы 200-400 сэмплов.
Можно.
Только поясните, пожалуйста, зачем это Вам нужно? Ну, какие характеристики сигнала являются существенными, и Вы хотели бы их выделить?


Цитата(Xtal1 @ Jan 31 2014, 11:27) *
Вот именно эти значения и даются в первом посте.
Ага, теперь немного понятнее.
Скажите, есть ли какие-нибудь гипотезы относительно динамики взаимного передвижения объектов в системе?

Цитата(Xtal1 @ Jan 31 2014, 11:27) *
...Сама проблема заключается не в том, что нужно получать большую скорость измерений, а в том, что устройства автономные и тратить энергию на слишком длинные сеансы связи - роскошь.
Я бы посоветовал чистить такие сигналы чем-нибудь вроде сплайн-сглаживания. Результат хороший, но вычислительная нагрузка может оказаться неприемлемой.
Ещё, как вариант для длинных последовательностей - БИХ-фильтр НЧ в арифметике повышенной разрядности. Он чрезвычайно экономичен вычислительно, однако даёт непостоянство ГВЗ по частоте.

Скажите, задержка получения результата фильтрации имеет значение?

Цитата(TSerg @ Jan 30 2014, 20:07) *
Гистограмма исходного сигнала за вычетом среднего с учетом помех:
Цитата(AndrewN @ Jan 31 2014, 14:40) *
Моя гипотеза - сбой (ошибка в работе) в измерительной системе.
Да... Похоже, Автору темы предстоит-таки серьёзно поработать с измерителем.
Для получения вменяемых первичных данных.
Что-то там явно не так. Не может внешняя помеха иметь такую дикую статистику.

Цитата(_pv @ Jan 31 2014, 15:02) *
распеределние вполне нормальное, надо только округлить до значения (загрубить дисктеризацию до ~40 тугриков).
33590, 36630, 36670. потому что это и есть реальная дисктерность ограниченная в приёмнике, остальные более мелкие изменения полезной информации не несут.
Вот это действительно похоже на правду. Если загрубить, всё получается.
А чем Вы можете объяснить такую дискретность?


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
sup-sup
сообщение Jan 31 2014, 22:26
Сообщение #26


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Можно и так:
Прикрепленные файлы
Прикрепленный файл  sampling_fix.rar ( 31 килобайт ) Кол-во скачиваний: 24
 
Go to the top of the page
 
+Quote Post
Xtal1
сообщение Feb 1 2014, 07:21
Сообщение #27





Группа: Участник
Сообщений: 12
Регистрация: 8-01-13
Пользователь №: 75 101



Цитата(_pv @ Jan 31 2014, 13:02) *
если не секрет, то интересуют грязные подробности sm.gif
что за трансиверы, параметры передачи (битовая скорость) и в каких тугриках измеряется время в прикреплённом файле.


Трансиверы ST-шные SPIRIT1. Параметры передачи на данный момент следующие: FSK, 250 kbps, Δf = 127 kHz, полоса пропускания 540 kHz.

Контроллер используется STM32f401, тактирование таймера 84 MHz.
Соответственно те тугрики, которые тики таймера, которые в прицепленном файле, это время выраженное в 1/84е6 секунд или 11,905 наносекунд на каждый тугрик.


Цитата(Stanislav @ Feb 1 2014, 00:11) *
Скажите, есть ли какие-нибудь гипотезы относительно динамики взаимного передвижения объектов в системе?

Наверное, я не совсем понял вопрос, но тот сигнал, который я приводил, получен при неизменном взаимном расположении трансиверов (на расстоянии около 2-х метров) и предметов вокруг них (за исключением меня, сидящего рядом на стуле).

Цитата(Stanislav @ Feb 1 2014, 00:11) *
Скажите, задержка получения результата фильтрации имеет значение?

Большого значения не имеет, если она, конечно, в разумных пределах. А какая задержка имеется ввиду, время расчета?
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 1 2014, 08:02
Сообщение #28


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Xtal1 @ Feb 1 2014, 10:21) *
Контроллер используется STM32f401, тактирование таймера 84 MHz.
Соответственно те тугрики, которые тики таймера, которые в прицепленном файле, это время выраженное в 1/84е6 секунд или 11,905 наносекунд на каждый тугрик.
Наверное, я не совсем понял вопрос, но тот сигнал, который я приводил, получен при неизменном взаимном расположении трансиверов (на расстоянии около 2-х метров) и предметов вокруг них (за исключением меня, сидящего рядом на стуле).

Умножаем 11,905 ns на 36600, получаем 0,44 ms. Умножаем на скорость света 300 000 000, получаем 130 714 m. Что-то не сильно похоже на 2 x 2 m. laughing.gif
Значит, есть (ее не может не быть) громадная задержка обработки сигналов в микроконтроллерах. А из-за разных прерываний и т.п. она еще и не постоянная. Вот и побочные всплески.

Цитата(sup-sup @ Feb 1 2014, 01:26) *
Можно и так:

Ух ты, в экселе (точнее, у меня LibreOffice Calc) можно и графики рисовать!

P.S. Что делают микроконтроллеры 36000 тактов? 05.gif
Go to the top of the page
 
+Quote Post
_pv
сообщение Feb 1 2014, 08:05
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Stanislav @ Feb 1 2014, 05:11) *
Вот это действительно похоже на правду. Если загрубить, всё получается.
А чем Вы можете объяснить такую дискретность?

раз тактовая частота 84МГц, или 12нс, то соответственно внутри приёмника сигнал оцифровывается на частоте 84/40 ~ 2МГц, что для полосы ~500 кГц, вполне разумно, зачем оцифровывать быстрее?
соответственно уже снаружи столь высокочастотным таймером измерять это дело абсолютно бестолку.
единственное как я уже говорил можно попробовать поймать биения этих 2МГц частот у приёмника и передатчика. тогда может и получится померить расстояние получше

Go to the top of the page
 
+Quote Post
Xtal1
сообщение Feb 1 2014, 08:40
Сообщение #30





Группа: Участник
Сообщений: 12
Регистрация: 8-01-13
Пользователь №: 75 101



Цитата(ViKo @ Feb 1 2014, 10:02) *
Умножаем 11,905 ns на 36600, получаем 0,44 ms. Умножаем на скорость света 300 000 000, получаем 130 714 m. Что-то не сильно похоже на 2 x 2 m. laughing.gif
Значит, есть (ее не может не быть) громадная задержка обработки сигналов в микроконтроллерах. А из-за разных прерываний и т.п. она еще и не постоянная. Вот и побочные всплески.


Ух ты, в экселе (точнее, у меня LibreOffice Calc) можно и графики рисовать!

P.S. Что делают микроконтроллеры 36000 тактов? 05.gif


Как я уже говорил выше, задержка естественно есть.
Она состоит из задержек на переключение режимов приема/передачи, самого времени передачи пакета...
Время входа в прерывания стабильно одинаковое (это тоже отлаживалось и проверялось), каких-то более приоритетных да и вообще других включенных прерываний нет.
И еще раз повторюсь, все задержки константные (во всяком случае насколько я смог их измерить с точностью до 41,6 нс).
Нестабильны задержки от начала отправки пакета передатчиком и до момента выдачи сигнала детектирования синхрослова приемником.
Они одинаково пляшут при передаче в обе стороны. И порядок гуляния этих задержек как раз укладывается в гуляния самого результата измерения.
Вы хотите сказать, что моя гипотеза о периоде дискретизации входного сигнала в трансивере, которым он квантует результирующие значения не верна?

Цитата(_pv @ Feb 1 2014, 10:05) *
раз тактовая частота 84МГц, или 12нс, то соответственно внутри приёмника сигнал оцифровывается на частоте 84/40 ~ 2МГц, что для полосы ~500 кГц, вполне разумно, зачем оцифровывать быстрее?
соответственно уже снаружи столь высокочастотным таймером измерять это дело абсолютно бестолку.
единственное как я уже говорил можно попробовать поймать биения этих 2МГц частот у приёмника и передатчика. тогда может и получится померить расстояние получше


А эти 40, это вы взяли скачки результатов из выборки?
То-есть Вы тоже считаете, что малину портит именно частота дискретизации самого трансивера?

Еще хочется услышать Ваше мнение по поводу вот этого.
Как думаете, там результат получился более красивый именно за счет несколько иного функционирования трансиверов (я имею ввиду, что у них частота дискретизации могла быть повыше)?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 27th June 2025 - 18:21
Рейтинг@Mail.ru


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