OrangeRx Open LRS 433MHz TX Module

тигромух
baychi:

Константин, если хотите обсудить RSSI, повторите Ваш пост по русски.

Мне лениво переводить. Там и так почти русский, тока английскими словами 😃
Я хочу обсудить индикатор качества сигнала. Как мы уже выяснили, это не обязательно RSSI.

baychi:

Насколько я понимаю у Эксперта и у KHA реализован вариант 2.

Я пытаюсь разобраться, как сделано у KHA и похоже, что вопреки его словам это ближе к варианту 1.
Если посмотрите вывод, то увидите, что при двух заглушенных каналах RSSI не уменьшается. Заглушенные каналы имеют noisefloor=0. А нулю он равен оттого, что пакет не принят и, соответственно, не был измерен уровень шума.

RSSI в выводе не равен тому, что выставляется на пине. KHA при потере пакета сразу дергает пин RSSI в ноль. Но он не отражает этот факт в сэмплированном RSSI, который и виден в выводе и выставляется на пине через каждые 20 пакетов.
По идее, это перекладывает проблему с программного уровня на аппаратный. Наверное, хорошо подобранный RC-фильтр позволит обнаружить теряющиеся пакетики. Но мне это не нравится.

То, что я предлагаю, описано там псевдокодом. Если говорить словами, то я предлагаю:

  1. Взять средний RSSI пакетов (RSSI) и шума (NOISE) на каждом канале за период.
  2. Составить индикатор качества связи как сумму по всем каналам ((RSSI - NOISE)/ЧИСЛО_КАНАЛОВ).
baychi
тигромух:
  1. Взять средний RSSI пакетов (RSSI) и шума (NOISE) на каждом канале за период.

Да, только целых пакетов. Замер во время приема и после.

тигромух:

Составить индикатор качества связи как сумму по всем каналам ((RSSI - NOISE)/ЧИСЛО_КАНАЛОВ).

Вот здесь я бы битые пакеты не сумировал бы.

тигромух:

Наверное, хорошо подобранный RC-фильтр позволит обнаружить теряющиеся пакетики.

У Эксперта ШИМ RSSI перестраивается после каждого пакета. Если пакет принят и целый, выдается его RSSI, если нет - 0.
Усреднение фактически делается в OSD.

тигромух
baychi:

Вот здесь я бы битые пакеты не сумировал бы.

Хммм. Почему?

Я для непринятого пакета считаю RSSI=0.

Вот первые тесты: pastebin.com/raw.php?i=uJfsvWmV
Комментарии по полям:
Channel - номер канала
Freq - частота
RSSI_sum - сумма RSSI принятых пакетов за интервал. Для битого пакета RSSI=0.
RSSI_count - количество проб RSSI принятых пакетов
RSSI - посчитанный средний RSSI за период
NF_sum - сумма RSSI шума за интервал. Для битого пакета, для простоты, считаю = 200
NF_cnt - количество проб RSSI шума
NF - посчитанный средний уровень шума за период
LQI_ch - качество сигнала на данном канале.
LQI - общий индикатор качества линка.

baychi
тигромух:

Я для непринятого пакета считаю RSSI=0.

Можно и так.

тигромух:

Вот первые тесты: pastebin.com/raw.php?i=uJfsvWmV

Хмм. Получается неплохо.
Только вот когда включаете рацию 5 Вт рядом с приемником на границе связи и теряется только один-два канала - это фантастика какая-то!
У меня в такой ситуации стабильно гаснут все даже на 1 Вт помехи.
У Вас точно рация исправна? 😃 Тогда почему ее RSSI меньше RSSI родного передатчика рядом?

тигромух
baychi:

Только вот когда включаете рацию 5 Вт рядом с приемником на границе связи и теряется только один-два канала - это фантастика какая-то!

Тоже удивился. Но тут каналы сильно разнесены, может поэтому.

baychi:

У Вас точно рация исправна? Тогда почему ее RSSI меньше RSSI родного передатчика рядом?

С Эдиком измеряли на КСВ-метре, и получали почти честную заявленную мощность… Ладно, посмотрел спеки, 4Вт там на 433 😃
RSSI рации в пасте нигде нет. Т.к. при включенной рации принятых пакетов нет, то и измерения получаются фиксированные: RSSI=0, NOISE=200.
Во время отладки я оставлял пробу RSSI при любых условиях и видел, что на включенной рации RSSI поднимается до ~230-240. Можно посмотреть сколько это будет в dBm.

baychi
тигромух:

Но тут каналы сильно разнесены, может поэтому.

Не достаточно, 14 МГц всего, а рация в центре. Когда помеха на 70 дБ превышает полезный сигнал, RFM-ка гарантированно затыкается.

тигромух:

RSSI рации в пасте нигде нет.

Channel: 4, Freq: 438920000, RSSI_sum: 0, RSSI_count: 3, RSSI: 0, NF_sum: 800, NF_cnt: 4, NF: 200, LQI_ch: 0

NF-sum - это и есть RSSI при сигнала рации. 😃

тигромух:

посмотрел спеки, 4Вт там на 433

А там мощность не регулируется? В моей можно выбрать 1, 2.5 и 5 Вт.

тигромух
baychi:

NF-sum - это и есть RSSI при сигнала рации.

Для битого пакета я не могу это посчитать. Вернее, могу, но пока не сделал. Сейчас если пакет битый, то NF=200.
Наверное, буду считать уровнем шума измеренный RSSI пакета, если он окажется битым. Надо подумать, есть ли в этом смысл…

baychi:

А там мощность не регулируется? В моей можно выбрать 1, 2.5 и 5 Вт.

Регулируется. Стоит HIGH.

baychi
тигромух:

Наверное, буду считать уровнем шума измеренный RSSI пакета, если он окажется битым. Надо подумать, есть ли в этом смысл…

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

тигромух:

Регулируется. Стоит HIGH.

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

тигромух
baychi:

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

Как посчитать шум после пакета, если пакета не было? 😃
При уровень пакета=уровень шума так и так в результате будет ноль. То есть, для конечного результата этот подсчет бессмысленен, только ради поиграться с отладкой…

baychi:

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

Передатчик в микроволновку, на приемнике анализатор, и включить рацию?

baychi
тигромух:

Как посчитать шум после пакета, если пакета не было?

При установившейся связи Вы же знаете, когдга он должен быть и когда должен закончится.
Или если поймана преамбула, Вы все равно получите информацию о завершении приема пусть и битого пакета.

тигромух:

Передатчик в микроволновку, на приемнике анализатор, и включить рацию?

Ну да. В той-же ситуации очень бы зотелось увидеть спектр, а то какая-то фантастика получается. 😃

тигромух
baychi:

При установившейся связи Вы же знаете, когдга он должен быть и когда должен закончится.
Или если поймана преамбула, Вы все равно получите информацию о завершении приема пусть и битого пакета.

Это слишком глубоко лезть в потроха прошивки и даташит РФМки 😃
Не перелопачивая код KHA это сделать нельзя.

Сканы:
Приемник без антенны, передатчик рядом

Приемник без антенны, передатчик в микроволновке

Приемник без антенны, передатчик в микроволновке, рация включена

baychi
тигромух:

Приемник без антенны, передатчик в микроволновке

Рация гдето -15 дБм, передатчик -30 рядом (значит рация действительно 4 Вт) и -90 в микроволновке. Виден подъем обшего уровня пола при работе рации и фактическое отсечение всех пиков передатчика кроме 2-х крайних.
Может дело в том, что приемник без антенны? Явно видна неравномерность уровня прыжков. Хотя, это может быть из-за нелостаточного усреднения…
Я делал немного не так - приемник с антенной. Передатчик на 100 мВт, заглушенный аттенюатором 20 дБ (с антенной), в микроволновке. Приемник явно на границе срыва - идут потерянный пакеты. В таком режиме 1 Вт рация полностью глушит связь уже в 5 м.
По крайне мере так было, пока не поставил SAW фильтр. 😃

тигромух

Я думаю тут дело еще и в том, что передачи от РФМки очень дискретные. Они и так-то далеко не постоянные (20 пакетов в секунду), а разнесенные по каналам, становятся совсем редкими. Так что спектроанализатором надо анализировать маяк или хотя-бы одну частоту, без прыжков.

baychi
тигромух:

дело еще и в том, что передачи от РФМки очень дискретные

Зато рация излучает непрерывно. 😃
В общем то я ничего сверхнеобычного не увидел. У Эксперта полное глушение наступает при превышении уровня помехи над полезным сигналом на 70-75 дБ (если частота помехи в середине диапазона). Просто хоелось бы понять, что меняет заведомо большая ширина канала? У Вас кстати какая скорость п девиацияя стоит?

тигромух
baychi:

Зато рация излучает непрерывно.
В общем то я ничего сверхнеобычного не увидел. У Эксперта полное глушение наступает при превышении уровня помехи над полезным сигналом на 70-75 дБ (если частота помехи в середине диапазона). Просто хоелось бы понять, что меняет заведомо большая ширина канала? У Вас кстати какая скорость п девиацияя стоит?

Рацию отлично видно. Чего не скажешь о передатчике 😃
Я экспериментирую на скорости 4800, а девиация у KHA не меняется, 1.25кГц.

baychi
тигромух:

а девиация у KHA не меняется, 1.25кГц

Нверное все-таки 12.5 кГц? В исходной прошивке все 30 было…

тигромух:

Я экспериментирую на скорости 4800,

А вот это может значить. По сравнению с 7200 эксперта, почти 4 дБ преимущества…

тигромух
baychi:

Нверное все-таки 12.5 кГц? В исходной прошивке все 30 было…

spiWriteRegister(0x72, 0x02);   // fd (frequency deviation) 2*625Hz == 1.25kHz
baychi
тигромух:

Код:

Не понял юмора! Это противоречит требованию даташита (да и вообще теории передачи информации).
Девиация не может быть меньше половины бодовой скорости. (См. понятие индекс модуляции).
Плюс ко всему с такой узкой девиацией очень сильно возрастают требования к совпадению частот…
Может это фрагмент кода маяка?

В исходном Open было:
//_spi_write(0x72, 0x1F); // frequency deviation setting to 19.6khz (for 38.4kbps)
_spi_write(0x72, 0x2E); // frequency deviation setting to 28.8khz(for 57.6kbps)

тигромух

До 25 января там было так:

spiWriteRegister(0x72, 0x30);   // frequency deviation setting to 19.6khz (for 38.4kbps)

Закоммичено с умыслом, явно не опечатка. Сам в этой теме не силен, поэтому прокомментировать не могу 😃

Я прикрутил к приемнику пищалку. Он теперь ругаеццо на каждый потерянный пакетик. 😃
Очень занятно это выглядит, если начать баловаться рацией 😃
Мне кажется, вывод LQI на ОСД и писк на потерянные пакеты - это то, что меня полностью устроит 😒
Кстати, кто силен в архитектуре атмеги: насколько корректно вешать такую пищалку напрямую на вывод PC4 (A4 в адруине)?

baychi
тигромух:

насколько корректно вешать такую пищалку напрямую на вывод PC4 (A4 в адруине)?

Предельный ток для Меги - 40 мА. Реально там будет меньше, так как нагрузочная способность выхода 25-30 мА.
Пищалка на 30 мА. Выход не сгорит. Но небольшой резистор 10-20 Ом и кондер 1-10 мкФ парралельно пищалке я бы добавил.

Shuricus

Почему то буржуи рекомендуют 100 ом последовательно ставить.