|
Фильтрация входного сигнала. |
|
|
|
Jan 30 2014, 13:18
|
Группа: Участник
Сообщений: 12
Регистрация: 8-01-13
Пользователь №: 75 101

|
Всем доброго времени суток. Прошу прощения, если не в тот раздел, но более подходящего не нашел. Проблема заключается в следующем: Есть поток входных значений, для примера даю выборку из 1000 отсчетов
sampling.rar ( 9.22 килобайт )
Кол-во скачиваний: 164Нужно фильтровать такой поток значений, дабы получить "болтанку" на выходе не более 2-3 единиц по амплитуде. Тупым усреднением этого получается достичь лишь при количестве усредняемых значений близкому к 1000. Можно ли добиться подобного результата с помощью каких-то более серьезных алгоритмов фильтрации и получить при этом время отклика фильтра хотя бы 200-400 сэмплов.
|
|
|
|
|
 |
Ответов
|
Jan 31 2014, 11:02
|
Гуру
     
Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954

|
если не секрет, то интересуют грязные подробности  что за трансиверы, параметры передачи (битовая скорость) и в каких тугриках измеряется время в прикреплённом файле. распеределние вполне нормальное, надо только округлить до значения (загрубить дисктеризацию до ~40 тугриков). 33590, 36630, 36670. потому что это и есть реальная дисктерность ограниченная в приёмнике, остальные более мелкие изменения полезной информации не несут.
можно попробовать улучшить ситуацию если аккуратно смотреть частоту тактирования обоих трансиверов. так как частоты заведомо не одинаковые можно попробовать поймать их биения, чья фаза возможно даст дополнителную информацию о задержке распространения. но так как шумы (16 тугриков) не особо меньше дискретности (40 тугриков) то, пожалуй, ничего хорошего из этого не получится. так что природу тут не обманешь, есть распределение с сигмой 16 тугриков, хочется сделать 1, усредняй 16^2 = 256 раз.
|
|
|
|
|
Feb 1 2014, 07:21
|
Группа: Участник
Сообщений: 12
Регистрация: 8-01-13
Пользователь №: 75 101

|
Цитата(_pv @ Jan 31 2014, 13:02)  если не секрет, то интересуют грязные подробности  что за трансиверы, параметры передачи (битовая скорость) и в каких тугриках измеряется время в прикреплённом файле. Трансиверы 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)  Скажите, задержка получения результата фильтрации имеет значение? Большого значения не имеет, если она, конечно, в разумных пределах. А какая задержка имеется ввиду, время расчета?
|
|
|
|
|
Feb 1 2014, 08:02
|

Универсальный солдатик
     
Группа: Модераторы
Сообщений: 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.  Значит, есть (ее не может не быть) громадная задержка обработки сигналов в микроконтроллерах. А из-за разных прерываний и т.п. она еще и не постоянная. Вот и побочные всплески. Цитата(sup-sup @ Feb 1 2014, 01:26)  Можно и так: Ух ты, в экселе (точнее, у меня LibreOffice Calc) можно и графики рисовать! P.S. Что делают микроконтроллеры 36000 тактов?
|
|
|
|
|
Feb 1 2014, 08:40
|
Группа: Участник
Сообщений: 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.  Значит, есть (ее не может не быть) громадная задержка обработки сигналов в микроконтроллерах. А из-за разных прерываний и т.п. она еще и не постоянная. Вот и побочные всплески. Ух ты, в экселе (точнее, у меня LibreOffice Calc) можно и графики рисовать! P.S. Что делают микроконтроллеры 36000 тактов?  Как я уже говорил выше, задержка естественно есть. Она состоит из задержек на переключение режимов приема/передачи, самого времени передачи пакета... Время входа в прерывания стабильно одинаковое (это тоже отлаживалось и проверялось), каких-то более приоритетных да и вообще других включенных прерываний нет. И еще раз повторюсь, все задержки константные (во всяком случае насколько я смог их измерить с точностью до 41,6 нс). Нестабильны задержки от начала отправки пакета передатчиком и до момента выдачи сигнала детектирования синхрослова приемником.Они одинаково пляшут при передаче в обе стороны. И порядок гуляния этих задержек как раз укладывается в гуляния самого результата измерения. Вы хотите сказать, что моя гипотеза о периоде дискретизации входного сигнала в трансивере, которым он квантует результирующие значения не верна? Цитата(_pv @ Feb 1 2014, 10:05)  раз тактовая частота 84МГц, или 12нс, то соответственно внутри приёмника сигнал оцифровывается на частоте 84/40 ~ 2МГц, что для полосы ~500 кГц, вполне разумно, зачем оцифровывать быстрее? соответственно уже снаружи столь высокочастотным таймером измерять это дело абсолютно бестолку. единственное как я уже говорил можно попробовать поймать биения этих 2МГц частот у приёмника и передатчика. тогда может и получится померить расстояние получше А эти 40, это вы взяли скачки результатов из выборки? То-есть Вы тоже считаете, что малину портит именно частота дискретизации самого трансивера? Еще хочется услышать Ваше мнение по поводу вот этого. Как думаете, там результат получился более красивый именно за счет несколько иного функционирования трансиверов (я имею ввиду, что у них частота дискретизации могла быть повыше)?
|
|
|
|
|
Feb 1 2014, 08:52
|

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

|
Цитата(Xtal1 @ Feb 1 2014, 11:40)  Нестабильны задержки от начала отправки пакета передатчиком и до момента выдачи сигнала детектирования синхрослова приемником. Они одинаково пляшут при передаче в обе стороны. И порядок гуляния этих задержек как раз укладывается в гуляния самого результата измерения. Вы хотите сказать, что моя гипотеза о периоде дискретизации входного сигнала в трансивере, которым он квантует результирующие значения не верна? Почему они пляшут одинаково, а не каждый "танцует свой танец"? У вас тактовая частота микроконтроллеров не синхронна с частотой трансиверов. Также и частоты самих микроконтроллеров не синхронны. Поэтому задержки могут гулять на такты. Но у вас же гуляет на 40 тактов?! Так, это... эхо? И 36000 тактов - еще раз интересуюсь, на что они пошли?
|
|
|
|
|
Feb 1 2014, 09:40
|
Группа: Участник
Сообщений: 12
Регистрация: 8-01-13
Пользователь №: 75 101

|
Цитата(ViKo @ Feb 1 2014, 10:52)  И 36000 тактов - еще раз интересуюсь, на что они пошли? Попробую ответить такой картинкой:  По названиям каналов должно быть понятно где какой сигнал. Период между маркерами - это то, что собственно измеряется. Задержка между SLAVE SYNC DETECTED и SLAVE TX точная и обеспечивается таймером МК. Не буду засорять ноосферу лишней информацией, просто скажу, что задержка эта необходима в силу особенностей работы самого трансивера. Как видите, ничего там лишнего нету и при такой скорости передачи задержка особо меньшей быть не может. Формат пакета следующий: 4 байта преамбулы, 3 байта синхрослова, остальное - данные, но они никакой роли не играют.
|
|
|
|
Сообщений в этой теме
Xtal1 Фильтрация входного сигнала. Jan 30 2014, 13:18 Rst7 Moderator: Есть же раздел "Алгоритмы ЦОС... Jan 30 2014, 13:33 TSerg Сигнал вроде без явного тренда.
Вычисляем скользящ... Jan 30 2014, 13:53 ViKo По-моему, круче усреднения ничего быть не может. К... Jan 30 2014, 14:00 TSerg Это - да
Но там есть явные выбросы, которые стоит ... Jan 30 2014, 14:03 ViKo Цитата(TSerg @ Jan 30 2014, 17:03) Это - ... Jan 30 2014, 14:05  AndrewN QUOTE (ViKo @ Jan 30 2014, 17:05) сначала... Jan 30 2014, 15:59 TSerg О чем и речь была, либо отсечка по уровню каждого ... Jan 30 2014, 14:08 thermit Цитата(Xtal1 @ Jan 30 2014, 16:18) Всем д... Jan 30 2014, 14:49 TSerg Частотный анализ все показывает верно - допустима ... Jan 30 2014, 16:07 AndrewN QUOTE (TSerg @ Jan 30 2014, 19:07) Чистая... Jan 30 2014, 16:34 TSerg Это все понятно, но медиана без помех введет нелин... Jan 30 2014, 16:51 AndrewN QUOTE (TSerg @ Jan 30 2014, 20:51) ТС сил... Jan 30 2014, 18:50  thermit Цитата(AndrewN @ Jan 30 2014, 21:50) На г... Jan 30 2014, 19:19 TSerg Это разве задача?
Интереснее на ней рассмотреть п... Jan 30 2014, 19:17 AndrewN QUOTE (TSerg @ Jan 30 2014, 22:17) Это ра... Jan 30 2014, 19:23 ViKo Было бы интересно взглянуть на распределение, когд... Jan 30 2014, 19:38 AndrewN QUOTE (ViKo @ Jan 30 2014, 23:38) Подогре... Jan 30 2014, 19:48 Xtal1 Всех ответивших благодарю за помощь.
Вообщем, это ... Jan 31 2014, 07:27 AndrewN QUOTE (Xtal1 @ Jan 31 2014, 10:27) Во вся... Jan 31 2014, 10:40 TSerg Понимание подходов для обработки могут дать стат. ... Jan 31 2014, 10:31      ViKo Цитата(Xtal1 @ Feb 1 2014, 12:40) По назв... Feb 1 2014, 10:48       Xtal1 Цитата(ViKo @ Feb 1 2014, 12:48) Задержка... Feb 1 2014, 10:50        ViKo Цитата(Xtal1 @ Feb 1 2014, 13:50) )) да т... Feb 1 2014, 10:52    _pv Цитата(Xtal1 @ Feb 1 2014, 15:40) А эти 4... Feb 1 2014, 15:22   sup-sup Цитата(ViKo @ Feb 1 2014, 11:02) Ух ты, в... Feb 2 2014, 11:04  Stanislav Цитата(Xtal1 @ Feb 1 2014, 11:21) Наверно... Feb 1 2014, 12:08 TSerg Это нормальный подход, если говорить о традиционно... Jan 31 2014, 12:47 TSerg Что интересно, в итоге - спасибо ТС за подачу почт... Jan 31 2014, 21:21 Stanislav Цитата(Xtal1 @ Jan 30 2014, 17:18) Можно ... Jan 31 2014, 22:11 _pv Цитата(Stanislav @ Feb 1 2014, 05:11) Вот... Feb 1 2014, 08:05 sup-sup Можно и так: Jan 31 2014, 22:26 thermit В таких статистических условиях имеет смысл вычисл... Feb 1 2014, 09:05 Xtal1 ЦитатаГуляет на период таймера
допустим, но какое ... Feb 1 2014, 10:52 ViKo Цитата(Xtal1 @ Feb 1 2014, 13:52) допусти... Feb 1 2014, 11:06  Xtal1 Цитата(ViKo @ Feb 1 2014, 13:06) Лучшего,... Feb 1 2014, 11:17 thermit ЦитатаStanislav:
Вряд ли.
Вычисление максимума и м... Feb 1 2014, 14:47 Stanislav Цитата(thermit @ Feb 1 2014, 18:47) Усред... Feb 1 2014, 22:49  _pv Цитата(Stanislav @ Feb 2 2014, 05:49) Это... Feb 2 2014, 09:53   Stanislav Цитата(_pv @ Feb 2 2014, 13:53) Если бы д... Feb 2 2014, 14:34    _pv Цитата(Stanislav @ Feb 2 2014, 21:34) Зде... Feb 2 2014, 16:54     Stanislav Цитата(_pv @ Feb 2 2014, 20:54) а сколько... Feb 2 2014, 17:46      _pv Цитата(Stanislav @ Feb 3 2014, 00:46) С о... Feb 3 2014, 10:10       Stanislav Цитата(_pv @ Feb 3 2014, 14:10) почему сч... Feb 3 2014, 11:44 Xtal1 Так все-таки смотреть в сторону БИХ-фильтров?
И е... Feb 3 2014, 09:15 ybrk Цитата(Xtal1 @ Feb 3 2014, 13:15) Так все... Feb 3 2014, 09:57  ViKo Цитата(ybrk @ Feb 3 2014, 12:57) Усреднен... Feb 3 2014, 10:42   ybrk Цитата(ViKo @ Feb 3 2014, 14:42) А какой ... Feb 3 2014, 11:07    ViKo Цитата(ybrk @ Feb 3 2014, 14:07) Просумми... Feb 3 2014, 11:33     ybrk Цитата(ViKo @ Feb 3 2014, 15:33) Я так и ... Feb 3 2014, 12:07 Xtal1 Цитата(ybrk @ Feb 3 2014, 11:57) Усреднен... Feb 3 2014, 10:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|