-
Постов
2 650 -
Зарегистрирован
-
Победитель дней
2
Весь контент repstosw
-
Оказывается в режимах OQPSK-DSSS тоже есть FEC: как на синхрослово, так и на полезную нагрузку. Читаю доку dokumen.tips_802154g-2012.pdf, конкретно - параграф 18, всё что касается OQPSK-режимов. Много чего инетерсного. Дока на этот стандарт с треском ищется, много ресурсов требуют бабки за скачивания доки. Всё больше и больше убеждаюсь, что Si4463 и рядом не валялся - по возможностям с AT86RF215 🙂
-
Возвращаясь к вопросу о SNR. Покурил более подробнее этот режим MR-OQPSK. Этот чип - что ни есть самая прямая реализация IEEE 802.15.4 с разными буковками на конце. Конкретно - 802.15.4k, DSSS O-QPSK. Значит, SNR должен быть отрицательным: приём сигнала, который меньше шума. Нашёл файлик с графиками вероятности ошибок и SNR для этого режима: 15-14-0709-00-004q-coexistence-assurance-document.docx Там есть картинка, вселяющая оптимизм: В городских условиях, где эфир загрязнён, корреляционный приём пойдёт на пользу. Si4463 тут в пролёте. Интересно сравнить с LoRa. Хотя LoRa тоже в пролёте - из-за отсутствия мне нужных скоростей передачи данных (от 200 кбит/c).
-
Измеряю RSSI дважды: 1) Когда пришло прерывание AGC Hold, во время приёма пакета 2) Спустя 1 мс после приёма пакета, для оценки шумов с эфира. Потом считаю разницу. Не совсем точно выходит, потому что за время приёма пакета шумы успевают сильно измениться. В конечном итоге, хочется отображать разницу сигнал/шум и понять при скольки дБ пакеты приходят целыми и успешно скорректированными. В идеале, нужны 2 приёмника и опрос данных одновременно. Чип AT86RF215. Ревизия 3 (последняя). Платы ATREB215-XPRO. Регистр может вернуть некорректное значение +127 (о чем написано в даташите), если опрашивать не в нужный момент. Проделал опыт. Сравнил два режима: OFDM Option=1 MCS=1 (200 кбит/c, чутьё -109 дБм) и OQPSK-DSSS Chiprate=1000 kchip/s, RateMode=2 (250 кбит/c, чутьё -110 дБм). Мощность передатчика -19 дБм, плюс поставил на передатчик аттенюатор -30 дБ (экранированный, фабричный), на выходе аттенюатора - J-антенна (настроена по VNA 50 Ом, КСВ почти 1). Итого теоретически мощность передатчика должна быть -49 дБм (без учета проникающих способностей и "свистов" дорожек платы). На приёмнике - та же J-антенна (вторая), без аттенюатора. Ходил по помещению (комнаты квартиры, стены - армированный бетон), дистанция 0 ... 10 метров. Прямой видимости антенн нет. Результаты: OFDM: приём в дальней точке - пакеты либо не приходят, либо приходят битыми все. OQPSK-DSSS: прием в дальней точке - пакеты либо не приходят, либо приходят целые (при подобранной точке приёма), либо битые. Выходит что OQPSK-DSSS победил OFDM по чутью. Оба режима, как я понял - борятся с частотными (многолучевыми) замираниями. Но у OFDM делает это в более узкой полосе, чем OQPSK-DSSS. И кстати, в OFDM получилась завышенная скорость. А в OQPSK-DSSS - заниженная. При OQPSK 250 kbps, пакет из 2047 байт (+ сколько-то хедера) отправляется за 75.551 мс (что соотеветсвует 216.7 кбит/c) При OFDM 200 kbps, этот же пакет отправляется за 80 мс (что соответствует 204.7 кбит/c ) И оба режима бесполезны в случае с плоскими замираниями (когда в точке приёма - нет ничего). И тут возникает идея сделать MIMO 2x2. Вопрос: можно ли сделать программную реализацию MIMO 2x2, имея 2 антенны у передатчика и 2 антенны у приёмника, 2 антенных ключа-переключателя(SPDT switch) и один приемник и 1 передатчик? Или тут только аппаратно (ПЛИС, специализированный приемник)? Почитал про пространственное кодирование и матрицу Аламоути, но честно говоря, просветления пока не достиг в этой области. В какую сторону рыть?
-
А как же SNR ? Который обычно больше 0. Чтобы обеспечить заявленное чутьё -109 дБм, нужно чтобы шумы были не больше чем -112 дБм при SNR=3 дБ. Всё-равно много шумов получается...
-
Так и сделано. Полностью настроен нужный режим, выставлена частота, шаг канала. Передавал и принимал пакет, всё работает. Для замеров делал следующее: 1) вместо антенны - нагрузка 50 Ом, взятая от VNA (экранирована) 2) Установил нужный режим: OFDM Option 1, MCS 1. Заявленная чувствительность в даташите -109 dBm 3) Дал команду приёмнику RX 4) В цикле опрашиваю регистр RSSI. 5) Фиксирую максимальное значение RSSI 6) Вот, за 5 минут набежали такие значения: rssi_max: -110 rssi_max: -109 rssi_max: -108 rssi_max: -107 rssi_max: -106 rssi_max: -105 rssi_max: -104 Тоесть максимальный всплеск шума был -104, что превышает указанное в даташите значение чувствительности на 5 дБ. Из чего я делаю вывод, что чувствительность -109 дБм недостижима на данной плате приёмника. А шумы эфира при включенной антенне - ещё больше подрежут потенциал возможностей приёмника. Значит, при расчёте дальности нужно оперировать не чувствительностью из даташита, а за реф брать шум с эфира - его пиковое значение (самый тяжелый случай). Слишком фантастические значения RSSI на ваших фото 🙂 Каким образом ведётся чтение регистра EDV и RSSI? Просто в цикле опрашиваете или по прерываниям? Нужно ли что-нибудь дополнительно настраивать ещё? У меня настроены все регистры режима в BBC и RF, включая DF, DTB, TGT и GCW. Частота 862 МГц. Есть мнение, что на больших ослаблениях точность снижается, из-за высокой проникающей способности волн. Та же ёмкостная связь между элементами аттенюатора не даст точной развязки. По крайней мере, использовал планарный аттенюатор, у которого с одной стороны не была подключена антенна, но приём был. Так как приём вёлся на ножку аттенюатора с открытого конца. P.S. Проверил на второй плате ATREB215-XPRO. Максимальное значение RSSI чуть-лучше -105 дБм. Платы фирменные (не самодельные): одна из Китая, вторая из Европы.
-
Очевидно, и T113-s3 с V3s - это тоже прошлый век :)
-
Использую MR-OFDM. Режим: MCS=1, Option=1. По результатам экспериментов: Experimental Interference Robustness Evaluation of IEEE 802.15.4-2015 OQPSK-DSSS and SUN-OFDM Physical Layers (гуглится: 1905.11102v1.pdf ) OFDM1-MCS1 - самый помехоустойчивый режим: RSSI обновляется в двух случаях: 1) Дана команда приёма - при этом показания не лочатся, а свободно плавают 2) Во время приёма преамбулы - происходит прерывание AGC Hold (5-й бит маски прерываний в регистре BBCx_IRQM ЕМНИП) (показания лочатся - и они самые достоверные). Тоже самое - в трёх случаях (50 Ом, Short, Open) - показания одинаковы: измеряю RSSI - cобираю статистику за несколько минут, фиксирую максимально возможное значение. Его использую в качестве значения шума. С чувствительностью из даташита - не работаю. Потому что при подсоединённой антенне - уровень с эфира превышает чувствительность. Антенны сделал свои: для 438 МГц и 864 МГц. Настроил их по VNA на 50 Ом КСВ =1,02. J-pole: K=2.2 dBi С этими антеннами - устойчивая связь по всей квартире с мощностью передатчика -19 дБм (12,6 мкВт). Если взять китайские антенны "якобы на 433 МГц", то результат на 438 МГц намного хуже - уровень сигнала меньше, иногда: много битых пакетов или вообще не приходят. Считаю потери сигнала по модели Окамура-Хата (городская застройка, 150-1500 МГц): решаю уравнение по нахождению максимальной дальности связи при заданной марже. Маржу задаю для пяти SNR : +20, +12, +10, +6, +3 dB (тоесть - требую, чтобы уровень сигнала превышал замеренное максимальное значение шума - на значение маржи). На выходе - пять значений максимальной дальности связи. На практике, как выяснил, для OFDM1-MCS1 достаточно маржи +3 дБ. Потому что это на самом деле COFDM: там есть FEC - сверточный кодер с рейтом 1/2. Плюс двойное повторение частот и максимальное число поднесущих. Базовая модуляция - BPSK: самая простая, не требующая сверх-линейности (как у QAM 16 ... 256), что даёт возможность использовать не сильно сложный усилитель мощности. Сколько значений усредняли? 128 достаточно? И почему надо использовать средний? Использую максимальное значение - как самый пессимистический вариант, за уровень шумов. От него отталкиваюсь и считаю дальность, при заданной марже (написал выше). Подытоживая: отталкиваюсь от измеренных значений шума в конкретной локации, и требую превышения полезного сигнала над измеренным шумом на какое-то количество дБ - считаю под это дело дальность.
-
Купил несколько антенн для 433 МГц с алиэкспресса. VNA показал у всех КСВ 4 ... 6 на 433 Мгц. VNA металлический - его коробка - противовес антенны. Антенна соединялась к VNA через SMA-разъём. Без кабелей. Как это понимать? Самодельная антенна имеет КСВ 1,02
-
так тут шумы приёмника -101 дБм > заявленной в даташите чувствительности -112 дБм в таком случае на даташит равняться бесполезно, нужно к уровню шумов прибавить маржу на 10-20 дБ, чтобы получить уровень сигнала с приемлемым BER
-
Измеряю уровень сигнала по RSSI приёмника. Плата трансивера ATREB215-XPRO. Чип AT86RF215. При короткозамкнутом входе приёмника (ВЧ-заглушка "Short" от VNA), измеренный RSSI колеблется от -127 (минимум) до -101 дБм. При этом в некоторых режимах - указана чувствительность -112... -107 дБм. Вопросы: 1) если собственные шумы приёмника превышают указанную чувствительность в даташите, тогда зачем они пишут её? Как достичь уровень шумов, чтобы было меньше чутья хотя бы на 5-10 дБ? В противном случае шумы платы и реализация сборки подрезает максимальный потенциал чипа приёмника... 2) Как корректно измерять шум приёмника по RSSI ? Вход нужно замкнуть резистором на 50 Ом или Short ?
-
Это к вопросу о правильном ответе про максимальную скорость в LoRa. Не более. Запустил плату ATREB215-XPRO (на базе чипа AT86RF215) - собственных шумов на несколько порядков меньше, чем у модуля RF4463F30 и нет поражёнок (вход приёмника закорочен ВЧ-заглушкой): Проверил диапазоны 410 - 450 МГц и 863 - 903 МГц. Второй диапазон с подключенной антенной выдал менее замусоренный эфир: А теперь вопрос: если собственные шумы приёмника - в районе -127 дБм ... - 101 дБм (максимум), то зачем в даташите они тогда пишут, что чутьё в некоторых режимах -112 ... -107 дБм? Всёравно шумы платы и реализация сборки подрезает максимальный потенциал чипа приёмника...
-
Новый семтековский чип LLCC может в 2 раза больше в LoRa на Sub-GHz: https://www.semtech.com/products/wireless-rf/lora-connect/llcc68 И мощность на 2 дБ больше: Сделал замеры RSSI на всех каналах от 410 до 450 МГц. Без антенны, на короткозамкнутый вход или на 50 Ом - уровень ниже, но есть поражённые частоты. Частота 438 МГц выбрана неудачно, рядом с поражёнкой и ещё с эфира (когда с антенной) уровень шумов большой. 411-412 МГц лучше - на 5 дБ меньше шума.
-
Ну я смайл не просто так в сообщение поставил ))) У пейджера был приёмник с очень узкой полосой пропускания, которая делала приёмник сильно чувствительным + отсев много шума. Плюс диапазон метровый - частоты 160+ МГц. И работа только на приём. Принять с сопки передатчик и дурак сможет. А вот если передать от пейджера вверх на базу... (гипотетически) - не уверен, что связь будет такой же как и от передатчика к пейджеру. Ну и плюс как говорил ранее - делал передачу голоса на 800 бит в секунду с помощью LoRa, дальность там по прямой вышла около 8 км в городе. Тоже была с перебоями, если нарушается прямая видимость. Но восстанавливается на 100% как только прямая видимость. Ещё - увеличение мощности. Ватт 4-5 для начала. Даст увеличение дальности в 2 раза по сравнению с 1 Вт. Потом можно ещё кирпич на 16 Вт поставить, выигрыш в дальности будет в 4 раза )) Жуть полная. Как правило, это требует полностью переделывать весь транспорт пакета - распределение всего и вся. Сделал несколько пресетов: 5 - 10 - 12 - 15 FPS, видео 80x120 + Scale 2x, Video 160x240.
-
Можно. Обычно конденсатор на землю ставят там, где сопротивление выше. По идее даже 2 элемента достаточно: L1 и (C1 или C2). С3 - он нужен только, чтобы убрать постоянку, если к антенному гнезду планируется подключать какие-то измерители или короткозамкнутые по постоянке антенны (рамочные/петлевые антенны , J-антенна). Если нужно согласовать два усилителя, то там вообще может быть последовательный LC-контур. Так как сопротивления транзисторов сильно малы - и их проще включить в контур, нежели чем шунтировать ими контуры.
-
В какой именно? И при чём тут гадание? Ясно указаны характеристики. Неужели нельзя спрогнозировать или предположить причины такого поведения? А я думаю, что FEC работал в 4GFSK потому что он исправлял межсимвольную интерференцию, которой нет(или слабо выражена) у 2GFSK. Иначе как объяснить тот факт, что при 2GFSK модуляции пакет либо принимается без ошибок, либо вообще не принимается - приемник не видит даже преамбулу?
-
Такой эксперимент я уже проводил зимой. Здесь в теме где-то об этом писал, когда макеты проверял устройств. Один девайс был на балконе (7 этаж), антенна возле открытого окна. Со вторым девайсом бегал по городу. Дальность получилась 700+ метров. При этом важна была видимость антенн. Зашёл за дом - и связь пропала. Прошёл дом - снова виден балкон из которого торчит антенна - связь восстановилась. Суть моих последних испытаний в том, чтобы проверить устройства в наихудших условиях, когда два оператора находятся на земле. В этом случае дальность устойчивой связи 160 метров (1 Мбит/c), 200 метров (500 кбит/c) и 327 метров (125 кбит/c). И очень сильно зависит от прямой видимости антенн. Плюс загаженный эфир с шумами -82 дБм не дают приёмнику работать в полную чувствительность (-88 дБм ... - 97 дБм). Тут даже хвалёная ранее AT86RF215 не поможет - нужно искать другой диапазон частот с более низким уровнем помех. Или использовать подшумовой приём (когда приёмник может вытащить уровень сигнала меньше шума), как это сделано в LoRa. Но у LoRa скорость ограничена до 62 кбит/c (для Sub-GHz) и до 200 кбит/c - для 2.4GHz, который загажен шумами не меньше чем 430-440, ну и про бОльший PathLoss на 2.4 не забываем... И про то, что более высокие скорости даже в режимах LoRa не дадут большей дальности (мало чирпов). А хотелось, чтобы видео-девайсы были как пейджер, принимающий в любой точке города 🙃
-
Если пешком, а не на транспорте, то всегда находишься с левого или правого края магистрали на тротуаре для людей. Сколько бы я не смотрел участков авто-трасс, все они рано или поздно куда-то заворачивают. Плюс перепады по высоте- за бугром не видно ничего, транспорт уходит за линию горизонта. Дистанция видимости 200-300 м от силы.
-
Подразумевается, что это сделали китайцы. Теперь стоит задача - проверить что они сделали действительно близкое к 50 Ом.
-
Река и мост - дадут сразу выигрыш в 5 раз как минимум. Потому что высоты и водная поверхность. Нужен участок прямой дороги, которая земля или асфальт, без всяких высот и водных поверхностей.
-
Это даст гарантию того, что китайцы не на****и. И своя собственно настроенная по VNA антенна на 50 Ом - идеально состыкуется с передатчиком, с целью выдать бОльший процент мощности в антенну (в идеале 99%). Но такого не бывает. Интересен импеданс в "рабочей точке" - в заданном режиме, при заданной мощности и на заданной частоте и с заданной модуляцией в пределах заданной полосы.
-
Испытан новый конфиг: 2FSK, 125 кбит/c, девиация 31,25 кГц (индекс модуляции 0.5, MSK), полоса приёмника около 200 кГц. Дальность устойчивой связи 327 метров. Дальше трасса поворачивается, нет прямой видимости, связь с перебоями. И вообще, проблема за городом найти кусок прямой ровной трассы без перепадов и каких-либо строительных объектов по бокам (если стоять на дороге и никуда не подниматься). А при чём тут ECC? Зачем он упомянут? Если в контексте того, что на него тоже надо резервировать полосу - так это учтено уже: у меня на FEC отводится до 20% от всего пакета (в расчёт битрейта видео идёт только свободная от FEC часть буфера).
-
вообще никто не знает что-ли?
-
Зато не очень удобно для передачи данных. И увеличивает задержку на приёмной стороне. Это надо закодировать пачку фреймов, проверить, лезет ли она в буфер. Если не лезет, то перекодировать эту пачку повторно, снизив качество. Если кодировать по одному фрейму, то выходит большой шум визуально при смене кадров, из-за того что выделенный размер строго на один фрейм. А так получается - львиную долю жрёт ключевой кадр, а следующие за ним - намного меньше, что и даёт сжатие более эффективным, но более неудобным для потоковой передачи данных. Есть ещё режим кодирования по битрейту с использованием VBV буфера. Но сколько бы не ставил битрейт, кодер так и норовит вылезти за этот предел, приходится занижать битрейт на 20-30%, иначе результат кодирования не лезет в буфер. Смысл тогда указывать битрейт - не понятен. И вообще, почему нельзя было сделать режим кодирования, при котором серия фреймов гарантированно влезала в конкретный буфер. Вот в аудио-кодеке CELT есть такой режим - исходя из параметров разрядности, семплирования, длины фрейма и коэфф. сжатия - можно расчитать размер выходного фрейма, который константа. Формализую задачу: Необходимо передавать и принимать (full-duplex) два видео с размером кадра 160x240 10 FPS на расстояние 1 км, используя Omni-антенны на высоте не более 1,5 м от земли, по прямой.