Отговори на тема  [ 22 мнения ]  Отиди на страница 1, 2  Следваща
Проблеми с шумове при RF дистанционно 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Яну 16, 2006 5:20 pm
Мнения: 122
Местоположение: гр. Горна Оряховица
Мнение Проблеми с шумове при RF дистанционно
Колеги,искам ако може да споделите мнения за кодиране и декодиране на сигнали при RF дистанционно.Имам страхотни проблеми с шумовете,Направих си кодер с ATtiny44 ,кодирането си го измислих сам,като ползвам за синхронизация импулс с дължина 2,4милисекунди и пауза 600 микросекунди ,за лог."0" ползвам импулс 600микросекунди и пауза 600микросекунди,за лог"1" ползвам импулс 1,2 милисекунди и пауза 600 микросекунди.Командата ми е 30 битова .На всеки 4 бита имам контролен бит по четност и накрая последния е общ контролен бит за пакета.Декодера ми е изпълнен с АТМЕGA8.Имам 6 команди .На симулация в Протеус всичко е перфектно.При тест на реален хардуер, като декодера е вързан директно с кабел към кодера,отново всичко си работи идеално.Използвам RF модули на Aurel с амплитудна модулация за 433МHZ,като приемника е суперхетеродинен с добра чувсвителност и филтрация.Когато закача кодера и декодера съответно към предавателя и приемника започват проблемите.Трудно се дешифрират командите ,не се държи стабилно.На изхода на приемника с осцилоскопа се виждат разни импулси със случаен характер ,без да има излъчване от предавателя.Декодера се опитва да захване синхро импулса,но таймера се нулира преждевременно от смущаващи импулси и проваля всичко.Пробвах да филтрирам данните от приемника преди декодера ,но отново без успех.Дайте идеи какво мога да направя.Ако мина на RF модули с честотна модулация,дали 6те се реши проблема или да сменя начина на кодиране с друг,но какъв да бъде за да е мах шумозащитен?


Вто Юни 16, 2009 10:34 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
при близко разположени приемник и предавател сигнала трябва да е като цифров - без никакви шумове. ако това не е така приемника ти не е настроен или предавателя е зле. филтровка аналогова - задължително, с времеконстанта около 200 микросекунди. тригер на шмид и той задължителен.


Вто Юни 16, 2009 11:11 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Авг 31, 2005 1:57 pm
Мнения: 1103
Мнение 
по принцип на изхода на приемничетата на аурел има непрестанно импулси, независимо че предавател няма в обхвата. Това се дължи на принципът им на работа.
Основният проблем тук ми се струва само софтуерът за декодиране.
Аз работя със суперрегенеративни приемничета на аурел като скоростта ми на предаване е 2 пъти по-бърза от тази която си описал и работят много стабилно до 30 метра на открито например, иначе в сгради в рамките на апартамент 80 квадрата бетон.
А колкото до разстройването на приемника и предавателя - повечето модулчета са настроени с разни печатни индуктивности и капацитети и не подлежат на донастройка, въпреки че има и такива които могат да се пипнат


Вто Юни 16, 2009 1:46 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Яну 16, 2006 5:20 pm
Мнения: 122
Местоположение: гр. Горна Оряховица
Мнение 
Софтуера декодира ,като измерва време с таймера между два съседни предни фронта и в зависимост от това дали времето е в обхвата за синхро импулс,"1" или"0" съответно стартира декодирането и записва 0 или 1 в нулевия бит на една unsigned long int променлива ,транслация с един бит наляво и т. н. до 30.Проблема е че не виждам как да направя софтуера за да избягам от фалшиви прекъсвания заради смущения които ми спират таймера и отчетените времена са нереални,така че алгоритъма ги отхвърля.Както и да го направя винаги ще търся предни или задни фронтове,трябва да имам и прекъсвания .Мислех си за Манчестър,но не е от любимите ми кодове.Скоро правих RFID четец ,там имах същите проблеми с интегралните схемиEM4095 и U2270 - сигнал на изхода без да има карта.На базата на доста компромиси там успях да се справя ,но мисля че тук Манчестър кода няма да ми реши проблема.Пробвах с интегрираща верига с времеконстанта 200 микросекунди както предложи колегата,малко се подобри работата ,но още съм далеч от истината за надеждна работа.


Вто Юни 16, 2009 2:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Авг 31, 2005 1:57 pm
Мнения: 1103
Мнение 
Кодирането ти е добро. По принцип всички дистанционни за аларми кодират така - всеки бит се състои от времеви интервал 3Т.
лог. 0 - през първия интервал Т имаме 0, следващите 2 интервала Т имаме 1
лог. 1 - през първите два интервала Т имаме 0, на третия интервал имаме 1
Обикновено 1 бит се предава за време от 300 до 500 микросекунди.
Има само 1 бит за старт - синхробит.

Пакетите се предават непрестанно като времето между тях е от 1 до 10 милисекунди - което всъщност елиминира задействане на декодера ти от случайни флуктоации в приемника.


Вто Юни 16, 2009 3:21 pm
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 8:44 pm
Мнения: 3175
Местоположение: Пловдив
Мнение 
Радиопредавателя и радиоприемника ти изкривяват сигналите които преминават през тях. Например ако прекараш през тракта сигнал с коефициент на запълване 50% - то на изхода на приемника ше видиш сигнал с коефициент на запълване различен от 50%. Нещо повече - това изкривяване зависи и от разстоянието между приемника и предавателя.
Точно заради това трябва да "кодираш" нивата на лог. сигнали по начин, котйто въпреки тези "изкривявания" да ти позволява правилно да ги детектираш. Например за лог."1" можеш да използваш импулс с продължителност 300мкс и пауза 600мкс. За лог. "о" - импулс 600мкс и пауза 300мкс. (погледни формата на KEELOQ HCS300 na микрочип например).

За начало на трансмисията е добре да използваш "маркер", който е силно различим от начина по който кодираш лог."0" и лог. "1". Например можеш да предаваш 10-20 импулса 300мкс и пауза 300мкс. Техният коефициент на запълване е 50%.
Погледни описанието на "HCS300" на микрочип и съм сигурен, че ще ти дойдат много идеи как да направиш собствен протокол максимално отговарящ на потребностите ти.

Относно шумотевицата на изхода на радиоприемника ти когато не излъчваш сигнал - това е неизбежно. Има я винаги, когато входният сигнал (в твоят случай фоновият шум) е с ниво около границата на чувствителност на приемника ти. Трябва да се справиш с това софтуерно.
Ако радиото ти има изход RSSI - то можеш да мериш нивото му и да се "заслушваш" само ако е над определена стойност. Това разбира се би ограничило обхвата на радиовръзката и не ти го препоръчвам..

Разбира се по-добре би било ако работиш с FM вместо AM модулация. Разбира се АМ решенията са значително по-евтини за сметка на влошена шумоустойчивост. Е, всичко е въпрос на компромис цена/качество и конкретно приложение.

Мисля си, че няма да е лошо първо да се поразровиш и да видиш как работят подобни системи и какъв е протоколът им - и после да синтезираш свой собствен, който да отговаря на изискванията ти.


Вто Юни 16, 2009 3:24 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Яну 16, 2006 5:20 pm
Мнения: 122
Местоположение: гр. Горна Оряховица
Мнение 
Много Bи благодаря за съветите колеги,ще прегледам как го правят Микрочип и ще направя маркер с 12импулса по 400микросекунди за синхронизация и коеф.на запълване 50% .


Вто Юни 16, 2009 4:15 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2658
Мнение 
ти все пак не каза най-важното, колко са отдалечени приемник и предавател когато ги мери тия неща.


Вто Юни 16, 2009 4:21 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
Не знам как ги правят днес дистанционните, ама преди много години имаше
един стандарт за писане по касетофони, дето работеше при много тежки откъм
шум условия - някои може и да го помнят. Kansas City се казваше, 4 периода
на 1200 Hz е 0, 8 периода на 2400 Hz е 1.
Това в комбинация с някаква тъпа чексума съм го докарвал до практически
непробиваемо за шумове (т.е или работеше или не,грешни данни не помня
да съм видял да минат), и е съвсем елементарно за реализация.
32 бита биха минали за под 200 mS, за дистанционни трудно може да се
измисли по-стабилно нещо.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Вто Юни 16, 2009 4:59 pm
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Яну 16, 2006 5:20 pm
Мнения: 122
Местоположение: гр. Горна Оряховица
Мнение 
Приемника и предавателя са на 2метра.Наистина е така,както каза колегата emilvtc направих маркера с 12 импулса по 400микросекунди.На симулация всичко е перфект,без ВЧ модулите всичко е ОК.Като мина сигнала през ВЧ модулите и импулсите от синхро маркера си промениха дължините .Импулса се удължи с 60 микросекунди а паузата намаля с 30 микросекунди.Това изобщо не бях го взел под внимание ,ако не ми бяхте казали за това нямаше да се сетя.Сега си играя да нагаждам времената,за да постигна синхромаркера да стане с коеф на запълване 50%


Вто Юни 16, 2009 5:09 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 8:44 pm
Мнения: 3175
Местоположение: Пловдив
Мнение 
Не се занимавай да променяш формата на импулсите за да ти са 50% след преминаване през радиотракта. Това не ти трябва. Просто направи "патърните" на импулсите силно разграничаеми.
Например 1/3 "high1" и 1/3 "low" за единица и 1/3 "low" и 1/3 "high1" за нула. Даже ако искаш направи съотношенията не 1/3 а 1/4 или повече. Това за съжаление ще ти намали бодрейта, но както ти писах и преди - "пълно щастие няма" и всичко е въпрос на компромис.

Можеш да помислиш да направиш протокола ти да не зависи от промяната на честотата на процесора ти - т.е. да можеш да използваш RC осцилатор (вътрешен или външен).
По този начин примерно можеш да измериш честотата на импулсите от "преамбъла" на фрейма ти и по тях да определиш бодрейта на сигнала. Това може да става при приемането на началото (преамбъла) на всеки фрейм. Така и двата ти процесора - в приемника и предавателя могат да ти използват RC неточни осцилатори.


Сря Юни 17, 2009 10:55 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
Погледни дейташиита на това MC145026P, аз по него си направих протокол и се получи доста прилично. В приемника засичам някакви относителни времена генерирани от някой от таймерите, следя и двата фронта и с малко проверчици филтрирам всички шумове. Преамбюла ми е 3Т High + 1Т low, сигнала 2T high + 1T low за 1 и 1Т high + 2T low за нула, на около 2KHz


Сря Юни 17, 2009 12:41 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Яну 16, 2006 5:20 pm
Мнения: 122
Местоположение: гр. Горна Оряховица
Мнение 
Направих всичко така както казвате.Аз още отначало съм си кодирал "0" и "1" така че да се различават и то доста.Единствено синхроимпулса не ми беше направен с преамбъл от няколко еднакви импулса .Вчера го направих с 12 импулса по 400 микросекунди 50% коеф. на запълване.Следва пауза 4милисекунди и започва командата.По принцип за да хвана преамбъла и дългата пауза преди командата следя и двата фронта,но като започне командата следя само предни фронтове и меря с таймера дали съм в допуските за "1" или "0".Устроиството ми работи значително по добре.Днес пробвах на пряка видимост и постигнах около 70м.Но ако наклоня антената на някъде командите прекъсват не работи надеждно.От близко е доста по добре,но си мисля че не бих разчитал напълно на това дистанционно.Може би това са възможностите на тези ВЧ модули с АМ на Аурел.Предавателя е за 3 волта-RTX-MID-3V ,а приемника RX-4MM5.Предавателите на дистанционните за коли са за 12 волта и може би са по-мощни.Ако имате опит с някои по-кадърни и прилично евтини модули за АМ препоръчайте ми нещо .По принцип гоня 100метра надеждна работа.


Сря Юни 17, 2009 4:54 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение 
Ugeen написа:
Направих всичко така както казвате.Аз още отначало съм си кодирал "0" и "1" така че да се различават и то доста.Единствено синхроимпулса не ми беше направен с преамбъл от няколко еднакви импулса .Вчера го направих с 12 импулса по 400 микросекунди 50% коеф. на запълване.Следва пауза 4милисекунди и започва командата.По принцип за да хвана преамбъла и дългата пауза преди командата следя и двата фронта,но като започне командата следя само предни фронтове и меря с таймера дали съм в допуските за "1" или "0".Устроиството ми работи значително по добре.Днес пробвах на пряка видимост и постигнах около 70м.Но ако наклоня антената на някъде командите прекъсват не работи надеждно.От близко е доста по добре,но си мисля че не бих разчитал напълно на това дистанционно.Може би това са възможностите на тези ВЧ модули с АМ на Аурел.Предавателя е за 3 волта-RTX-MID-3V ,а приемника RX-4MM5.Предавателите на дистанционните за коли са за 12 волта и може би са по-мощни.Ако имате опит с някои по-кадърни и прилично евтини модули за АМ препоръчайте ми нещо .По принцип гоня 100метра надеждна работа.

Не са по мощни!
Дори и 6V да му сложиш на твоя излъчвател пак ще работи защото е един обикновен транзистор и не зависи толкова от това какво напрежение му пускаш.

_________________
Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !


Сря Юни 17, 2009 5:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 11:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение 
Да бе, нямало значение! Тя колата разбира на коя фирма е бензина пък мощността дето е U*I а I обикновено зависи от U...

Ugeen, навремето си играх с еднотранзисторни FM предавателчета на звук на 100 и 400 мХц. Приемникът беше добър суперхетередин с 1/4 антена. Предавателчето трябваше да е компактно но работеше в доста тежък за батерия режим с над 0.1Вт изходна (тогава можех да ги изчислявам тези неща). Обаче дори с "некомпактна" предавателна антена и по-голяма мощност 100-те метра бяха задоволителният максимум.
Ама то въртиш ли антената все ще намериш неподходящ ъгъл...

Иначе: ти радио не си ли слушал? На AM винаги има смущения а на FM има шум само ако няма сигнал (освен ако няма детекция която да дава на mute при липса на сигнал) и съответно принципът на работа е различен.
Обаче в твоя случай софтуерният ти декодер е прекалено прост: не трябва да се съобразява с краткотрайни изменения - както е в управлението на клавиатура. Или направо симулирай верига от итегратор-шмитер, шмитерът се задейства на 1/3 и 2/3 от макс. сума до която интеграторът стига за 1/2 време от най-краткият импулс (това го казах по памет, вече не бих го изчислил). Така получените "импулси" вече преминават през времеви компаратор с праг на превключване посредата. А хардуерно: 1-а RC верига към шмитерен вход също е добре.

Дано съм помогнал с нещо.


Сря Юни 17, 2009 10:23 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 22 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни