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

Software Antenna Diversity. Возможно?

Собственно в предыдущем соседнем топике про SPDT ключ, пытаюсь реализовать программный способ Antenna Diversity, потому что:

 a) Очень нужно

 б) AT86RF215 не умеет его делать аппаратно

 

В качестве опоры использую doc8158.pdf  от Atmel (AVR2021: AT86RF231 Antenna Diversity),  схема и идея взяты оттуда.

Для начала - схема:

1.jpg.a9ad4330b2bf88f4268fec514e7cd179.jpg

По понятным причинам, у AT86RF215 нет выводов DIG1 и DIG2, поэтому использую GPIO управляющего контроллера.  Пока переключение сделано через "ного-дрыг", но впоследствии если всё заработает, переделаю на ШИМ с двумя противофазными выводами или таймер-счётчик.

 

Дальше приводится временная диаграмма работы Antenna Diversity:

1.thumb.jpg.89be873aba99cca051cb8410c4acb36b.jpg

 

Тоесть  в состоянии RX_ON происходит быстрое переключение ключа SPDT для смены антенн, наверное также ведётся и замер RSSI или EVM(энергия сигнала).

Далее происходит приём преамбулы SHR - в этот момент делаются последние замеры уровня сигнала на антеннах и принимается решение о выборе антенны с бОльшим уровнем сигнала.

Далее идёт прием синхрослова и заголовка пакета(PHR) если он есть. Далее сам пакет.

Затем, после завершения пакета - прерывание TRX_END и переход в состояние RX_ON снова запускается переключение SPDT.  И всё по кругу.

 

Попытался это сделать программно для AT86RF215.

Сделал переключение SPDT по прерыванию таймера, которое прерывается после прихода прерывания AGCH (захват АРУ) или после прерывания EDV(energy detection complete).

Основная проблема - в момент прерывания AGCH иногда проскакивает переключение SPDT и приём нарушается (он становится нестабильным и с лагами).

По прерыванию RXFE (когда фрейм принят): снова в состояние RX  и разрешаю переключение SPDT.

1.thumb.jpg.e91f79c8e8ffc9385a5549209e57512a.jpg

 

Вопросы:

1. В какой момент надо принимать решение на  какую антенну переключить?

2. Нужен ли дополнительный пакет от передатчика или просто непрерывная несущая на фиксированное время, чтобы приёмник выбрал антенну с бОльшим сигналом?

 

Пробовал переключать антенну по очереди после завершения приема пакета - в точках замирания приём появился через раз (что и ожидалось): чередуется успешный приём пакета и битый пакет по очереди.

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

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


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

Тестили Antenna Diversity технологию на разных трансиверах и разных диапазонах. Отказались из-за неэффктивности на практике, при разных геолокациях. Перешли на MIMO c 4 антеннам, аналогично как в WiFi, G4, намного лучше. 

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


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

On 5/4/2023 at 5:27 PM, Aner said:

Тестили Antenna Diversity технологию на разных трансиверах и разных диапазонах. Отказались из-за неэффктивности на практике, при разных геолокациях. Перешли на MIMO c 4 антеннам, аналогично как в WiFi, G4, намного лучше. 

В помещении есть несколько точек с "нулевым приёмом". Но если отодвинуть приемник буквально на 1-2 см приём восстанавливается.

Сделал переключение антенны в конце каждого пакета. В этих точках приём стал идти каждый второй пакет.

Значит, Antenna Diversity - это то, что мне надо.

MIMO - это не для носимых устройств и тем более не для 430 МГц.   Там полуволновый разнос между антеннами уже 34 см.

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

 

А вот если ключ SPDT переключать со скоростью - как минимум выше битовой скорости в 2 раза.  Что будет?  Успеет ли приёмник выхватить корректные биты?  Есть мнение что чутьё в худшем случае упадёт на 3 дБ, но зато улучшится картина по волновой интерференции.

 

Покопался с уровнями энергий и RSSI.  Всё-таки медленные они.  И ключ софтово переключать достаточно долго.

Изменение уровней происходит в момент обнаружения преамбулы.  Не успеваю два раза дергнуть ключ и произвести замер.  Пока дергаю ключ, приемник уже принимает синхрослово и пакет. Из-за этого пакет битый.   Так что тут только два служебных пакета выдавать чтобы по ним приёмник настроился на нужную антенну.  А потом давать пакет с данными...

 

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

 

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

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


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

repstosw

Там полуволновый разнос между антеннами уже 34 см.

Ещё поляризационно можно разносить.

_

С переключениями - потеря времени.

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


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

13 hours ago, petrov said:

С переключениями - потеря времени.

Сделал Antenna Diversity.  Пока на скорую руку - просто удвоил число всех пакетов: пакеты идут один за другим, сдублированно: 0,0,1,1, пауза, 0,0,1,1, пауза,...

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

После приёма всех пакетов - в супер-фрейме, делается восстановление исходного пакета: 0,1. Контроль ведётся по CRC64. Возможен перебор всех четырёх возможных случаев при восстановлении целого фрейма из двух половинок (0,1).

Всё работает, но не так как хотелось в идеале: теперь обнаружены точки, где даже 2 антенны не спасают.

Пробовал разворачивать одну из антенн на 90 градусов - ничего не дало.

 

Я правильно понял, что OFDM борется только с межсимвольной интерференцией?  С волновой интерференцией OFDM не борется?

Тогда какое отношение имеет многолучевое распространение сигнала  и волновая интерференция?

Обидно,  тут и OFDM прилепил и две антенны, а некоторые точки с нулевым приёмом остались, причем по близости всегда присутствует точка с отличным приёмом.

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


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

4 hours ago, repstosw said:

Я правильно понял, что OFDM борется только с межсимвольной интерференцией?  С волновой интерференцией OFDM не борется?

IMHO:

OFDM символ на приёмнике нужно синхронно во времени преобразовать из временного в частотное представление.

За синхронность у вас отвечает преамбула.

 

4 hours ago, repstosw said:

Тогда какое отношение имеет многолучевое распространение сигнала  и волновая интерференция?

Вероятно при складывании нескольких лучей в точке приёма искажаются:

1 амплитуда преамбулы во времени -> не синфазный приём символа

2 амплитуда символов во времени -> искажение уровня отдельных частот в OFDM символе -> ошибки в соответствующих частотам битах сообщения

 

4 hours ago, repstosw said:

Обидно,  тут и OFDM прилепил и две антенны, а некоторые точки с нулевым приёмом остались, причем по близости всегда присутствует точка с отличным приёмом.

Пора прикручивать собственный приёмник от выхода ПЧ... :)

 

Во втором случае может помочь FEC или не использование битых частот\бит в данных

 

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

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


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

repstosw

Всё работает, но не так как хотелось в идеале: теперь обнаружены точки, где даже 2 антенны не спасают.

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

_

Я правильно понял, что OFDM борется только с межсимвольной интерференцией?  С волновой интерференцией OFDM не борется?

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

_

Обидно,  тут и OFDM прилепил и две антенны, а некоторые точки с нулевым приёмом остались, причем по близости всегда присутствует точка с отличным приёмом.

Компиляция из чего придётся всегда даёт посредственный результат.

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


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

1 hour ago, _4afc_ said:

OFDM символ на приёмнике нужно синхронно во времени преобразовать из временного в частотное представление.

За синхронность у вас отвечает преамбула.

У AT86RF215 режимы OFDM строго заданы таблицей. Особо не разбежаться: длина преамбулы не выставляется.  Есть только порог обнаружения преамбулы.

Там MR-OFDM согласно стандарту IEEE Std 802.15.4
 

1 hour ago, _4afc_ said:

Пора прикручивать собственный приёмник от выхода ПЧ... :)

Я в этом пока не силён 🙂

 

37 minutes ago, petrov said:

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

Увы, это всё фиксировано в AT86RF215. Количество под-несущих, число пилот-несущих строго заданы и разные в зависимости от скорости и полосы пропускания.  Но с другой стороны, я не думаю, что в Atmel сидят дураки, раз они сделали именно эти режимы OFDM, а не какие-то другие.

 

37 minutes ago, petrov said:

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

Эмпирически вывел, что наилучших результатов можно достичь, если противовесы антенн будут под углом 90 градусов, а не 135.

 

На данный момент времени, вижу, что:

1) OFDM лучше, чем 2FSK

2) Приём с Antenna Diversity лучше, чем с 1й антенной.

в плане непрерывного приёма при перемещении с приёмником в руке внутри помещения.

На улице, подозреваю, всё будет проще.

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

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


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

2 hours ago, repstosw said:

Я в этом пока не силён 🙂

Но AT86RF215 позволяет работать с сырым потоком по LVDS?

Вы ведь можете подсмотреть почему нет приёма в конкретной точке с антенны данной микросхемой, в крайнем случае - второй микросхемой.

 

2 hours ago, repstosw said:

 Но с другой стороны, я не думаю, что в Atmel сидят дураки, раз они сделали именно эти режимы OFDM, а не какие-то другие.

Что влезло в чип по цене и площади в соответствии с compliant to IEEE 802.15.4-2011, IEEE 802.15.4g-2012, and ETSI TS 102 887-1 - то и сделали.

 

PS: Читал труд одного "японца" на заре разработки WiFi для частот ниже 1ГГЦ - хотел подчерпнуть какие режимы OFDM лучше проходят на низких частотах, а там написано: "возьмём стандарт WiFi для 2.4ГГЦ и поделим все времянки на 5 - это упростит реализацию в кремнии". Т.е. замирания, прохождение волн сквозь материалы, доплер - не учитываем :(

 

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


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

18 hours ago, _4afc_ said:

PS: Читал труд одного "японца" на заре разработки WiFi для частот ниже 1ГГЦ - хотел подчерпнуть какие режимы OFDM лучше проходят на низких частотах, а там написано: "возьмём стандарт WiFi для 2.4ГГЦ и поделим все времянки на 5 - это упростит реализацию в кремнии". Т.е. замирания, прохождение волн сквозь материалы, доплер - не учитываем :(

тоесть, вы хотите этим заявлением дискредитировать OFDM у AT86RF215 на 430-470 МГц?

 

Поэкспериментировал с разносом двух антенн.

Наилучший результат дали две четвертьволновые антенны на расстоянии 5/8 длины волны.

Плюс второй результат - две такие же антенны на расстоянии 1/4 длины волны, но антенны под 45 градусов. Рисунок ниже.  Этот вариант более интересен с точки зрения практичности.

image.png.668f7ea3d91cc8fde9a12c46bf1eca8d.png

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


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

2 hours ago, repstosw said:

тоесть, вы хотите этим заявлением дискредитировать OFDM у AT86RF215 на 430-470 МГц?

Хочу подорвать доверие ( и тем более благоговение) к реализациям на основе стандартов IEEE.

Поскольку WLAN IEEE 802.11ah не учитывает особенности распространения на частотах 755-928 МГц.

Есть ещё один WLAN IEEE 802.11 для диапазона ТВ (ДМВ), т.е. 430-470 МГц туда входит - там тоже никаких обоснований, просто калька с 2.4ГГц.

Вот например что пишет Kuor-Hsinchang о PHY в IEEE 802.11 for Sub 1 GHZ

Quote

The fundamental S1G PHY is modified from IEEE802.11ac, which is a PHY based on 802.11n with the frequency band is 5 GHz or above, faster data rates, widerchannel bandwidth (80 MHz, 160 MHz), and higher ordermodulation scheme (supports 256 QAM). The S1G PHYcan have contiguous channel bandwidths of 1MHz, 2MHz, 4MHz, 8MHz and 16MHz with a tone spacing of 31.25kHz for all bandwidths. The maximum channel bandwidthdepends on the availability of the spectrum of a particularregion.

The basic PHY for bandwidths 2MHz, 4MHz,8MHz and 16MHz are modified from the PHY for band-widths 20MHz, 40MHz, 80MHz and 160MHz of 802.11ac with 1/10 of clock rate.

 

2 hours ago, repstosw said:

Поэкспериментировал с разносом двух антенн.

А нельзя второй канал пустить по второму передатчику на 2.4ГГц? Т.е разнестись ещё и по частотам?

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


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

1 hour ago, _4afc_ said:

Хочу подорвать доверие ( и тем более благоговение) к реализациям на основе стандартов IEEE.

Поскольку WLAN IEEE 802.11ah не учитывает особенности распространения на частотах 755-928 МГц.

Есть ещё один WLAN IEEE 802.11 для диапазона ТВ (ДМВ), т.е. 430-470 МГц туда входит - там тоже никаких обоснований, просто калька с 2.4ГГц.

Мне фиолетово на IEEE, как и на другие стандарты.  Главное, чтобы мои задачи хорошо решало.  И по сравнению с FSK решает отлично.

 

1 hour ago, _4afc_ said:

А нельзя второй канал пустить по второму передатчику на 2.4ГГц? Т.е разнестись ещё и по частотам?

Не вижу в этом смысла.  2,4 GHz сдохнет быстрее, а 438МГц будет ещё работать далеко.

Добавил пару коротких служебных пакетов для того чтобы замерять RSSI с обеих антенн и выбрать лучшую перед приёмом полезного пакета.

 

Пришли фирменные платы ATREB215.  Я обнаружил, что на моей плате вход приёмника частично угроблен статикой, чутьё стало тупым.

В плате ATREB вход защищён резистором 10 кОм.

 

Пока выглядит всё вот так.

Стойка с передатчиком:

image.thumb.png.3145020cf9cc0a17c02f62c7738fd8f5.png

Приёмник:

image.png.9a9addcb9ac9fc5b6bc245ef9830d5bc.png

Внутренности приёмника:

image.thumb.png.fecfb6534350aefd8a037c8009a23556.png

Так как корпус не из металла -антенны с противовесами и кабель с антенн пришлось симметрировать (пара витков на ферритовом кольце). Кабель - от ноутбучного WiFi:

image.png.896cfba33f33171ab9bc11ea5568bd69.png

Сделал индикацию  уровней антенн.  При движении видно как столбики пляшут.  Иногда как жидкость в сообщающихся сосудах - с одной убывает, на другой прибавляется при перемещении :

image.png.4bd5dcc0a311e00cafeab37a1064972b.png

 

Работает довольно хорошо.  В пространстве осталось очень мало точек без приёма (оба уровня с антенн слабые).

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

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


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

Разрисовал супер-фрейм  и времянки для текущей конфигурации проекта:

 

VP_SuperFrame_Spec(draft).thumb.png.3cde1e4cb79ae2c9dda9a762645b925f.png

 

Так как у AT86RF215  размер THRESHOLD не превышает максимального размера FIFO (2047 байт), то пришлось разбить супер-фрейм на 4 отдельных полноценных пакета (2,3,4,5). Одним длинным пакетом больше, чем 2047 байт не получится (как это было с Si4463 и CMT2300A).

Служебные пакеты(0,1) содержат только преамбулу и синхрослово.

Вместо штатного CRC, использую CRC64 на весь супер-фрейм.

Синхронизация на начало супер-фрейма - временная. В обработчике прерывания по приходу пакетов замеряю пройденное время между приходами текущего и предыдущего пакетов.

 

Почитал стандарт ( dokumen.tips_802154g-2012.pdf )

IEEE Standard forLocal and metropolitan area networks—

Part 15.4: Low-Rate Wireless Personal AreaNetworks (LR-WPANs)

Amendment 3: Physical Layer (PHY) Specifications for LowData-Rate, Wireless, Smart Metering Utility Networks.

Приятно удивило, что есть аппаратный Convolutional FEC в режимах OFDM.  😃

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

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


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

В 06.05.2023 в 09:29, repstosw сказал:

Всё работает, но не так как хотелось в идеале: теперь обнаружены точки, где даже 2 антенны не спасают.

В таком случае нужно перестроиться по частоте мегагерц на 10 и связь должна появиться.

В 06.05.2023 в 09:29, repstosw сказал:

  Пока на скорую руку - просто удвоил число всех пакетов: пакеты идут один за другим, сдублированно: 0,0,1,1, пауза, 0,0,1,1, пауза,...

Судя по всему, запас по скорости у Вас есть.  Можете попробовать добавить перестройку частоты в каждую паузу, чип перестраивается быстро (см значение t PLL_CH_SW). Если приёмник и передатчик стационарны - можно ещё дополнительно запоминать "не рабочие" частоты и их игнорировать при перестройке.

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


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

1 hour ago, arhiv6 said:

Судя по всему, запас по скорости у Вас есть.  Можете попробовать добавить перестройку частоты в каждую паузу, чип перестраивается быстро (см значение t PLL_CH_SW). Если приёмник и передатчик стационарны - можно ещё дополнительно запоминать "не рабочие" частоты и их игнорировать при перестройке.

Я не совсем ясно представляю себе как синхронизировать приёмник с передатчиком при перестройке частот.  У меня просто передача потока, без обратного подтверждения от приёмника.

К тому же это был мой устаревший пост.

Сейчас пакеты данных уже передаются в единственном количестве, а для настройки антенны сделаны два коротких служебных пакета.

1 hour ago, arhiv6 said:

В таком случае нужно перестроиться по частоте мегагерц на 10 и связь должна появиться.

Как приёмнику узнать что передатчик перестроился?

Если передатчик перестроился, то приёмник уже его не примет.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...