Хай всем! Как выясняется весьма быстрая потеря телеметрии по аудиканалу при незначительном шуме на изображении. Тут вопрос про кодирование для приёма с шумами. Обычное кодирование с пилот тоном и без синхронизации ставит крест даже на приёме пакета с ошибкой не говоря о приёме данных без ошибки с шумами потому я рассматриваю несколько видов кодировок но они очень похожи. Вот так получается обычная кодировка к примеру: (2 пилот тон, 1 и 0 биты данных) 22210010101010222. Пилот так же завершает пакет. Сейчас я использую 200, 400, и 600мкс длительности 600 пило тон, хотя и 100мкс должно пройти.
Вариант с пошаговой кодировкой и того 3 длительности (3 пилот тон, 2 синхронизация и 1 и 0 биты данных), и того получаем к примеру 333312012121020202333, притом можно увеличить избыточность 33331112220002222333333 тогда приём скажем 2-х импульсов нужной длительность из пачки дублей будет достаточно, притом можно дублировать больше и того можно получить большую помехоустойчивость. В принципе любой из вариантов позволит принять пакет с ошибкой если синхронизация не потеряна хотя это я не рассматриваю. Но второй вариант ставить синхронизация каждый байт это уменьшит количество служебных данных но такое рассматривать я пока не хочу как это требует применение алгоритмов исправления ошибок на высоком уровне что почти так же недостижимо как и сложные варианта спектрального кодирования на таких МК (mega328) сейчас тестовый вариант на tiny85 в ПДУ на приём на фоне сборки ПДУ.
Я конечно понимаю что аудиканал как то криво реализован что он начинает шуметь раньше изображения это явно ненормально, возможно переход на более узкую полосу (заменой фильтра) или переделка даже приёмника. В принципе там использует приёмник который выдаёт ПЧ (и это главное) остальное херня 2 микры одна видео другая аудио, 2 ПЧ фильтра и пару дросселей (1 подстроечный) это всё, но и МК, данные на приёмник идут по 2-х проводной линии не уверен что I2C, так же будет возможно произвольной установки частоты против канальной.
Есть другие варианты с кодировкой? Или может какие то микры доступные для передачи данных по аналоговому каналу?
Канал вообще то аналоговый обычная FM модуляция (притом не самый лучший), а скорость такая какая пройдёт по каналу так по ходу настроиться. А причём тут скорость? Скорость к кодировке отношение не имеет! Но я вижу другой кодировки просто быть не может в данном случае, остаются аппаратное решение в виде микры передачи данных по аналоговому каналу. 8-12кГц проходит, но 8кГц точно проходит вроде 10кГц гарантированно, но видимо оно так и есть. Но тут зависит от передатчика еще, передатчики разную девиацию гонят, притом выше определённой не поднимают при росте сигнала и девиация явно маловата, надо передатчик ковырять. Схемотехника разная, так что не удивительно что работают по разному, тем более аудиоканал на него плевать он бонус, есть вообще без аудио но это самые мелкие, такие я не использую. Предполагаю что никто еще не гонял телеметрию с аппарата по аудиканалу я по крайней мере о таком не слышал (фИрменное такого не продают а от самоделок все моделисты носы воротят они китайскому высеру поклоняются за которое еще барыги ухитряются брать 10 цен, но по крайней мере на больших форумах такое не приветствуется мягко говоря, там главное покруче фирма, побольше жаргонных выражений) . А это ведь уже готовый канал, что очень актуально для мелкой леталки, помимо платы еще и антенна. Так что использование аудиоканала очень актуально. Его как правило никто не использует, но иногда звук по нему гоняют если микрофон на камере имеется и камера не запечатана в гермокожух.
http://forum.easyelectronics.ru/viewtop ... 0%B0%D0%BB ... Я бы делал самый простой вариант с фазовой модуляцией, даже АЦП не нужен, по длительности импульсов определяем частоту и декодируем в поток данных. Там самосинхронизирующийся код.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
DTMF это и есть спектральное кодирование то есть аналоговое. Цифровое под аналоговый канал конечно же идёт но там узкий диапазон скоростей который даёт преимущество над шумом, а спектральное там почти до бесконечности повышать отношение сигнал/шум со снижением скорости. Делать спектральное кодирование/декодирование понятно программными средствами конечно же никто не будет в любом случае.
В данном случае я просто решил как уточнить что другого варианта нет с кодировкой нет. Но а так же как я понимаю подобных микр доступных нет для работы по аналоговому каналу с различными скоростями? То есть при потери пакетов просто переход на более низкую скорость. Поток телеметрии в случае передачи ориентации аппарата сильно возрастает, делают так накладывают OSD видео и это всё передают, но ведь это не мой метод! Я перадаю чистый сигнал а уже на приме могу наложить, но скажем при слабом сигнале будет просто низкая частота обновления телеметрии.
Это временное решение скорее всего использовании аудиканала, хотя иметь такую возможность надо без каких либо вариантов, на данном этапе МК телеметрии интегрирован на плату питания видеоканала, и всё вот и готов обратный канал просто и сердито! Маленькая леталка и куча антенн это же бля лучше сразу . А ведь все эти 2.4ГГц и уж подавно 5.4ГГц это опять таки не мой метод! Не выше 1ГГц или там где то на ДМВ. Мне уже на длях придут видеопередатчики ДМВ диапазона постараюсь от 1.2ГГц отказаться для замемки.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Заголовок сообщения: Re: Помехоустойчивое кодирование на обычных МК .
Добавлено: Вс мар 10, 2019 12:25:42
Друг Кота
Карма: 107
Рейтинг сообщений: 1225
Зарегистрирован: Вс май 25, 2008 19:47:47 Сообщений: 4333 Откуда: РФ
Рейтинг сообщения:0 Медали: 5
воот уже выяснилось что аппарат у вас летает а ведь могли предложить использовать готовый телефонный модем и были бы правы потому что информацию от которой зависит решение из вас клещами выдирать нужно осталось выяснить необходимую дальность и ограничения по массе и энергопотреблению
Для аналоговых каналов важно, чтобы интегральная составляющая сигнала была нулевой. Я бы использовал в Вашем случае дифференциальное Манчестерское кодирование на нижнем уровне и протокол коррекции ошибок на более высоком уровне. Протоколы коррекции ошибок, по возрастанию сложности алгоритма: 1. Продольно-поперечный контроль четности. То есть бит четности вычисляется для каждого байта, а каждые N байт - сумма по модулю 2 всех байтов. Получается матрица, позволяющая исправлять одинарные ошибки. Может быть расширен дополнительным байтом циклической четности, что позволит исправлять двойные ошибки. 2. LDPC - тоже основан на расчете четности, но по предварительно расчитываемой матрице 3. Код Хемминга 4. БЧХ-коды (частный случай - код Рида-Соломона)
К сказанному передо мной остается лишь добавить, что стоит пустить по каналу обычный меандр с рейтом передаваемых сообщений и посмотреть во что он превратился на приемной стороне. Есть смутное подозрение, что узковаты штанишки... Но для односторонней связи Боуз-Чоудхури-Хоквингем смотрятся предпочтительнее.
DTMF это и есть спектральное кодирование то есть аналоговое. Цифровое под аналоговый канал конечно же идёт но там узкий диапазон скоростей который даёт преимущество над шумом, а спектральное там почти до бесконечности повышать отношение сигнал/шум со снижением скорости. Делать спектральное кодирование/декодирование понятно программными средствами конечно же никто не будет в любом случае.
DTMF без проблем декодируют микроконтроллером, даже PIC на 4 МГц декодирует
Но проще фазовая модуляция. Передается меандр, высокие частоты обрезаются аналоговым трактом автоматически, на приемной стороне работаем с тем что есть, чем выше требования к скорости и ниже соотношение сигнал/шум тем сложнее алгоритм. В самом простом случае при медленной скорости и качественном канале можно работать как с дискретным сигналом (например 100 периодов синусоиды на бит сигнала), а при высокой скорости, уже сложнее, если на 1 бит приходится на 1-3 периода. Например частота передается 5000 Гц, на 1 бит 100 периодов несущего сигнала скорость 50 бит/с, алгоритм проще некуда и даже АЦП не нужен. Просто детектируем переход нуля компаратором
Спойлер
А если нужно будет 500-1500 бит/с, тут нужно будет восстанавливать исходный сигнал и тупо 100 периодов ждать собирая статистику по сигналу не получится, нужен будет АЦП и немного более сложный алгоритм, но без преобразования Фурье и подобной жести. Просто сравниваем фазу сигнала, опережает ожидаемое значит бит 0, отстает значит бит 1.
Или то же самое с частотой. Передаем частоту 2500 Гц - бит 0, частота 5000 Гц - бит 1. Тут даже проще, никакая синхронизация не нужна. Считаем интервал перехода через 0 сигнала и вычисляем наиболее похожу частоту.
Последний раз редактировалось SIM31 Вс мар 10, 2019 17:07:58, всего редактировалось 1 раз.
что стоит пустить по каналу обычный меандр с рейтом передаваемых сообщений и посмотреть во что он превратился на приемной стороне
Да жуть в что он превратится! Вот на входе меандр почти, но немного сглажены импульсы, RC фильтром он же ШИМ фильтрует по факту, тут ШИМ используется только для симметрии сигнала 127 +/- 127.
Зы я вроде и хочу биты дублировать только еще и надо переход между битами то есть синхронизация, а то ведь бит он уже становится неопределённым по количеству импульсов.
Цитата:
Или то же самое с частотой. Передаем частоту 2500 Гц - бит 0, частота 5000 Гц - бит 1. Тут даже проще, никакая синхронизация не нужна. Считаем интервал перехода через 0 сигнала и вычисляем наиболее похожу частоту.
Сразу видно что ты не когда не делал ни одного алгоритма передачи нормального.
Не коррекция ошибок на высоком уровне бред. Манчестеровское кодирование а как там можно исправлять ошибки на высоком уровне? Там в принципе пакет с ошибкой принять нельзя уже. Сорри файл не вставился https://yadi.sk/d/FGKph8BCMN6FRQ
Последний раз редактировалось RadioHAM-433 Вс мар 10, 2019 17:24:33, всего редактировалось 2 раз(а).
Фазовая модуляция плохо применима для аналоговых каналов, где важна нулевая интегральная составляющая сигнала.
Там канал имеет ограничение по нижним частотам, скорее всего 50-100 Гц и никакой интегральной составляющей не будет. Думаю фазовая модуляция переживет, если снизу частоты порежут. Картинка из интернета первая попавшаяся, даже цифры похожие Спойлер
Да любой цифровой сигнал на длинной линии жуть, вот RS232 на 20 метров кабель
Ну или тут попроще конечно
И передается без ошибок каким-то образом. Выглядит ужасно, но в нужные моменты времени биты принимают нужный уровень и нормальной распознаются. Там и шумы, и звон и емкость кабеля, но работает же.
https://yadi.sk/d/FGKph8BCMN6FRQ Да работает конечно. По нижним частотам хз ниже пилот тона быть не может а это выше килогерца, это протокол для аналоговых каналов. Только у цифрового сигнала есть одно маленькое НО 0 разрядность, у спектра бесконечная. А вот спектральное кодирование и после каких манипуляций ты сможешь найти в них интервалы похожие на 2 и 4 кило? На слух их слышно на спектре видно, а вот по импульсам они не отличимы от шума после преобразования их в 1 и 0 там будет настоящий шум тут сигнал -22дБ вроде бы. Притом на слух их отлично слышно! https://yadi.sk/d/4Jm5Qadgc1UgoQ
Я имел ввиду коррекция ошибок на высоком уровне для это не для этого железа.
Последний раз редактировалось RadioHAM-433 Вс мар 10, 2019 17:40:10, всего редактировалось 2 раз(а).
Да любой цифровой сигнал на длинной линии жуть, вот RS232 на 20 метров кабель
Не фантазируйте. У Вас никудышняя метрика. Тем более, что RS232 используется только до 15 метров. Для того, чтобы нужный уровень был в нужное время, стартовый бит должен быть корректно определен. Для работы на длинный кабель необходимо этот кабель корректно терминировать. И тогда в нем и на 200 метров на нагрузке все ОК. По форме мало отличается от исходного сигнала, только амплитуда меньше.
Но вообще провод от радиоканала отличается тем что по радио расстояние не искажает сигнал. Для радиоканала и аналоговых каналов протоколы не имеют привязки к полярности и симметричен. Разница лишь в том что для аналогового канала сигнал двухполярный, есть 0 это будет всё что ниже 0, а 1 что выше. Но это лишь абстрактное описание к реальным 0 и 1 отношения не имеет как вообще байты в самом простом варианте передаются через 1 инверсно. А в линии колебания возникают их-за несогласования. Вон как в видео сигнале уже через резюк 75Ом согласование и на другой стороне тоже 75Ом иначе там вообще так размажет с таким то спектром и колебаниями после импульсов синхронизации .
Последний раз редактировалось RadioHAM-433 Вс мар 10, 2019 17:51:21, всего редактировалось 1 раз.
Для того, чтобы нужный уровень был в нужное время, стартовый бит должен быть корректно определен.
Стартовый бит и определен, как и любой другой. Если сравнение по красной линии будет без потери бит передача данных, единственное что уменьшается помехоустойчивость (нужно терминатор ставить, но можно и не ставить если всё устраивает)
там передается что-то вроде 001111111 001111111 001111111
Последний раз редактировалось SIM31 Вс мар 10, 2019 17:53:34, всего редактировалось 1 раз.
Да жуть в что он превратится! Вот на входе меандр почти, но немного сглажены импульсы, RC фильтром он же ШИМ фильтрует по факту, тут ШИМ используется только для симметрии сигнала 127 +/- 127.
Что у Вас за идиотская привычка излагать проблемы каким то птичьим языком? Вы можете привести эпюры сигнала после модуляции на передающей стороне и эпюры после демодулятора на приемной? Нахрена мне слушать этот пердеж? Что я могу из него узнать о сигнале? Или Вы пытаетесь протолкнуть старую идею ШИМом заменить ЧМ? Я Вам раньше говорил, что это не прокатит, в отличии от АМ.
Разница лишь в том что для аналогового канала сигнал двухполярный
Причем тут двухполярность? В дифференциальной линии нет никакой двухполярности. Еще раз предлагаю НА РУССКОМ ТЕХНИЧЕСКОМ ЯЗЫКЕ описать примененное решение. И привести измеренные эпюры.
Так я кинул сигналы, вообще то ни каких проблем нету! До передатчика там почти прямоугольные импульсы немного сглаженные, я не сохранял это всё оно не актуально в принципе https://yadi.sk/d/FGKph8BCMN6FRQ После прохождения срез по высоким импульсы приняли вид треугольных а более короткие вообще похожи на синус. Я кинул именно сам сигнал! Какая к чёрту дифференциальная линия это аналоговый канал! Аналоговый канал этот то что не пропускает абсолютное значение, то есть имеет ограничение по низким частотам.
Последний раз редактировалось RadioHAM-433 Вс мар 10, 2019 18:05:26, всего редактировалось 1 раз.
Сейчас этот форум просматривают: maxlab и гости: 30
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения