Перейти к содержанию

    

STM32 фильтр искаженного сигнала?

На выходе приемника при слабом уровне сигнала от передатчика получаем очень искаженный сигнал.

Но по верхнему уровню сигнала вроде как видна полезная часть сигнала амплитудой примерно 0,5В.

Приемник подключен к STM32F072. Какими аппаратными средствами можно отфильтровать такой сигнал?

У меня пока напрашивается только вариант с АЦП.

Длительность самого короткого импульса 280 мкс. Максимальная частота дескритизации АЦП на 12бит = 1Мгц. более чем достаточно.

Опыта обработки сигналов мало, у кого есть дельные советы? Может еще нужно какой то фильтр поставить на входе МК.

SDS00002.jpg

SDS00001.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
На выходе приемника при слабом уровне сигнала от передатчика получаем очень искаженный сигнал.

1. Что за передатчик ?

2. Что за линия связи ?

3. А расстояние от передатчика до приемника какое ?

4. Усилить сигнал передатчика никак не получится ?

5. Странная картинка. Может, все-таки проще усилить сигнал ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю софтварная обработка АЦП здесь не спасет, можно конечно подумать в сторону свертки формы сигналов логических нулей и единиц, но на этом контроллере маловато SRAM для этих целей.

Можно попробовать убрать постоянную составляющую в сигнале и оперировать временем между всплесками при анализе, но я бы копал в сторону улучшения работы приемника.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
... но я бы копал в сторону улучшения работы приемника.

Ага, физический уровень в первую очередь. Передатчик, линия, приемник. Например, если это I2C, то надо бы проверить номинал резистора подтяжки и попробовать уменьшить его. Или перейти, например, на токовую петлю вместо передачи в линию прямо от КМОП - буфера, или использовать спец. ИС передатчика, вроде MAX489, SN75ALS176, при этом сменив интерфейс на дифференциальный, например, на тот же RS485 ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понимаю, это радиоприемник выдает? Нужно сделать так, чтобы был нормальный сигнал, антенны, там... мощности... чувствительности... А из того, что показано, конфета не получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
На выходе приемника при слабом уровне сигнала от передатчика получаем очень искаженный сигнал.

Но по верхнему уровню сигнала вроде как видна полезная часть сигнала амплитудой примерно 0,5В.

...

 

Сразу видно, что шум и дребезг возникает при установке в лог. '0'. Да, посмотрите подтяжки к земле на приемной стороне.

Усиление, думаю, не подойдет, поскольку видно, что уровени лог. '1' на выходе передатчика и входе приемника на одном уровне.

Изменено пользователем quato_a

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Я так понимаю, это радиоприемник выдает?

Нет, наверное, тогда была бы видна целая куча помех от самых разных источников. А то, что на картинке, на такие помехи не очень похоже ...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1. Что за передатчик ?

2. Что за линия связи ?

3. А расстояние от передатчика до приемника какое ?

4. Усилить сигнал передатчика никак не получится ?

5. Странная картинка. Может, все-таки проще усилить сигнал ?

Это радиоприемник H5V4D на частоте 433МГц.

Собственно я не писал что за источник сигнала, потому как хотел решить задачу именно по получению полезного сигнала из того что есть, а не ковырянием самих модулей. Если дальности действия будет мало, буду искать другой. Но пока задача стоит использовать именно этот.

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

Сейчас принимаю сигнал с внешнего GPIO через EXTI прерывания. Сам не так давно работаю с STM. Сейчас посмотрел что там EXTI прерывание вроде как на выход компаратора можно настроить. Если так, то по идеи можно отследить нарастание и спад сигнала где-то в пределах от 2,8V до VDD там где полезная часть.

Что скажете, или затея глупая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Что скажете, или затея глупая?

Неудачная затея, ИМХО. На частоте 433 МГц работают чуть ли не все автосигналки и брелки, так что помехи от них будут постоянно. Лет 5 назад я с этим столкнулся. Модули были от Telecontrolli - передатчик + сверхрегенеративный приемник. Компаратор там внутри приемника, так что он выдает сразу цифровой сигнал. Дальше - ATMEGA8 и вся обработка делалась на ней. Это был корреляционный приемник. Если интересно, могу поискать исходники (на Си) и предоставить. Сначала передавалась длинная преамбула, потом блок данных, потом CRC32, потом еще что-то служебное. Работало вполне сносно. Дальность - метров 100 в пределах прямой видимости на четвертьволновой штырь. Но у меня задача была проще, чем у вас - надо было передать всего две команды. А вам что посоветовать ? Можно перейти на 2.4 ГГц. Вот, например, один из вариантов, а их довольно много:

 

https://itelectronics.biz/p398923582-nrf24l...dnyj-modul.html

 

Еще можно использовать готовые модули - радиомодемы, в них вся ЦОС уже реализована внутри, а на выходе - обычный COM - порт. Название вот так сходу не подскажу ...

 

P.S. Вот, я в свое время сделал интересную подборку. Очень советую:

 

http://mega.dp.ua/file?source=18080609065867571671

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Компаратор там внутри приемника ...

Так в этих походу тоже. Я ведь не 433МГц принимаю, а то что выдает компаратор данного приемника. И задача практически аналогична, там преамбула и блок данных.

Только тот компаратор что в приемнике не всегда выдает нормальный сигнал (когда помехи). Когда помех нет, сигнал как на первой картинки, а когда помехи как на второй. Но в том сигнале есть вся полезная часть, вот я и хочу ее выбирать (взять максимум с этого приемника).

А по поводу NRF24L01. Нужно принимать сигнал с готовых устройств, работающих на частоте 433 и передающих данные в формате KeeLoq.

P.S.

Собственно задача попробовать сделать выборку по напряжению от 2,8В до 3,3В, а остальное откинуть.

Изменено пользователем maxntf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только тот компаратор что в приемнике не всегда выдает нормальный сигнал (когда помехи). Когда помех нет, сигнал как на первой картинки, а когда помехи как на второй.

Опять же, ИМХО, ничего хорошего не выйдет. Он не случайно помехи выдает. Значит, вы работаете на пороге чувствительности. Возьмите другой модуль, не сверхрегенератор, а супергетеродин. Они дороже, раза в два, но у них заметно выше чувствительность и избирательность. Вот, например:

 

http://www.gaw.ru/html.cgi/txt/ic/Telecontrolli/index.htm

 

http://www.gaw.ru/html.cgi/txt/ic/Telecontrolli/rr/start.htm

 

http://www.gaw.ru/html.cgi/txt/ic/Telecontrolli/rs/start.htm

 

Начать нужно именно с того, чтобы попытаться выжать из аппаратуры все, что она может дать. Не устраивает результат ? Тогда придумывать что-то другое, в том числе и задумываться над алгоритмами ЦОС ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Картинка, приведённая ТС, наталкивает на мысль что использованный приёмник имеет похоже цифровой выход.

Как всегда приходится гадать, так как ТС темнит и не указал что за картинки он привёл, но можно предположить что верхняя и нижняя осциллограммы - разные случаи принятых посылок на выходе чипа-приёмника.

А тогда в этом случае вторая картинка никак не может быть результатом помех в канале. Скорей всего проблема где-то на плате автора: или в подключении приёмника к МК или в питании или что-то сдохло или ...

У меня сейчас тоже в проекте используется чип приёмника посылок на 350-433 МГц. И когда у него на выходе шум, это выглядит ну совсем по-другому. При шуме (отсутствии сигнала, зашумлённом сигнале) там просто набор цифровых импульсов со случайной длительностью и периодом и одинаковой амплитудой. Никакой подобной бороды как у автора там нет.

Автору следует искать косяки в схеме, а не заниматься сказочными прожектами.

 

Собственно задача попробовать сделать выборку по напряжению от 2,8В до 3,3В, а остальное откинуть.

Ищите баг в схеме, а не костыли прилаживайте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
... - разные случаи принятых посылок на выходе чипа-приёмника.

В моем случае с Telecontrolli это были микросборки на транзисторах с ПАВ и компаратором на LM358 (это был единственный чип в модуле). Более дорогие супергетеродинные модули - те, действительно, сделаны на чипе. А что там у автора - не знаю, он не сказал :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А что там у автора - не знаю, он не сказал :)

Как видно из:

Так в этих походу тоже. Я ведь не 433МГц принимаю, а то что выдает компаратор данного приемника. И задача практически аналогична, там преамбула и блок данных.

Только тот компаратор что в приемнике не всегда выдает нормальный сигнал (когда помехи). Когда помех нет, сигнал как на первой картинки, а когда помехи как на второй.

Автор понимает что внутри приёмника - компаратор. Но при этом он почему-то считает, что на этот компаратор как-то воздействуют помехи из эфира! :wacko:

Т.е. по его мнению - компаратор глючит :biggrin: и он хочет его лечить внешними костылями.

Всё вышеприведённое как бы ясно намекает где у ТС проблема. :laughing:

 

PS: У меня складывается впечатление что ТС - чистый программист. Т.е. - кристалльно чистый, со смутными представлениями о законе Ома и прочей схемотехнической ерунде. B)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Опыта обработки сигналов мало, у кого есть дельные советы? Может еще нужно какой то фильтр поставить на входе МК.

Лучше корреляции в этой ситуации фильтра нет

Но можно улучшить детектирование преамбулы специальным кодированием, вот как тут -

jjdh9-yuf9m_p1xcwrjynwm1nuo.jpeg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти