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

repstosw

Участник
  • Постов

    2 582
  • Зарегистрирован

  • Победитель дней

    2

Сообщения, опубликованные repstosw


  1. 5 minutes ago, freeport said:

    Согнуть коробку из латуни,  в отверстия вставить проходные фильтры.

    Что из себя представляют проходные фильтры?   Они фирменные?  Как называются по-английски, чтобы найти даташит и прайсы.

    Впервые такие вижу, хотя валяется куча разобранных трубок от сотовых телефонов.

  2. 9 minutes ago, freeport said:

    Правильно, для этого надо в экран вставить проходной фильтр и подавать питание по нему.

    А не получится ли так, что экран будет большим противовесом антенны - и он начнёт излучать?

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

     

    И как в экран вставить проходной фильтр? Не видел такого.  Все RF платы сделаны многослойками где есть плоскость земли, а вместо кабеля - печатные полосковые линии дорожками.

  3. В макете устройства, который передаёт и принимает на 435 МГц (мощность +20 дБм), антенный ВЧ выход нагружен на "фирменную" нагрузку 50 Ом.

    Кабель - WiFi кабель от ноутбуков с сопротивлением 50 Ом.

    Для предотвращения затекания сигнала на оплётку кабеля (сигнал несимметричный) использую ферритовые втулки - несколько витков ВЧ кабеля вокруг них.

    Вот на этом рисунке - оба выхода нагружены на 50 Ом (плата в центре наверху - антенный переключатель, работающий на приём и передачу), тем не менее - приём уверенный по всей квартире.

    image.thumb.png.0cebf035ae40f3660d418f4c5270d8b4.png

     

    Если же антенный переключатель убрать и нагрузить выход передатчика на 50 Ом, то излучение в пределах одной комнаты:

    image.png.823760b0003b3938923418836a228351.png

     

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

     

    Как избавиться от "свиста" в эфир, когда выходы нагружены на 50 ом и без антенн?

     

  4. 51 minutes ago, Plain said:

    Используйте светодиод.

    Вопрос решён.

    Понизил частоту ШИМ делителями до 1 Гц и поставил два светодиода.

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

     

  5. Есть два выхода с микроконтроллера, которые работают в режиме противофазной ШИМ.

    Длительность 50%.

    Какое напряжение покажет цифровой тестер в режиме измерения постоянного напряжения, если один щуп соединён с одним выходом ШИМ, второй щуп - с другим выходом ШИМ ?

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

    Данный вопрос был создан с целью убедиться, выдаётся ли ШИМ действительно в противофазе или нет (осциллограф рядом нет).

    Как проверить, что в противофазе?

  6. Всё-же я склоняюсь к мнению, что коды коррекции ошибок должны решать проблемы кратковременных импульсных помех.  Ну тоесть - не более 10-20% битых данных от всего пакета.   Кодирование пока оставил общее- на весь пакет.

    petrov прав, что от замираний эти коды не спасут, так как в точке замирания портится слишком много данных  (более половины).  Лог канала я делал, всё очень плохо, когда есть замирания.

    Поэтому остаётся сделать Antenna Diversity и переключать их как можно чаще.  Пакеты короче.   Я тут посчитал что при длине волны 67 см, при скорости движения приёмника около 20 км/ч, выходит, что пол-волны пройдёт за 55 мс, а это меньше чем время одного пакета (67 мс).   Поэтому тут надо либо укоротить пакет - разбить пакет на 8 - 10 мелких и проверять уровни с антенн перед приёмом каждого мелкого пакета, либо вообще просемплировать каждый бит двумя антеннами.  Либо как petrov написал в другой теме - делать "умное сложение" двух сигналов с детекторов.

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

  7. 1 hour ago, Aner said:

    4GFSK не совсем понятно зачем использовать на коротких пакетах, ведь же проигрыш против GFSK.

    Короткие пакеты???  Где?

    Я же писал, что:

    9 hours ago, repstosw said:

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

    видео! ......

    4GFSK даёт 1200 кбит/c.

    А GFSK даст только 600 кбит/c - мне этого недостаточно.

    1 hour ago, Aner said:

    Внутренние 8-битные ацп, тех же 4463

    А больше и не нужно. Для мягких решений достаточно и трёх бит (8 отсчётов), остальное увеличение даст незначительный выигрыш.

    3 hours ago, petrov said:

    Это не сложно, а очень просто, сложить два сигнала с выхода частотных детекторов, вот и всё DSP, называется equal gain combining, работает очень хорошо для плоских замираний.

    Что-то как-то не сходится, с тем что нагуглил.

    EGC.  Рисуют сразу выход с ПЧ, до детектора.

    Также наверное заводить надо аналоговую форму на АЦП.  Верно?

    Итого уже 3 чипа: трансивер, АЦП и ПЛИС.   И кстати, почему - ПЛИС?  Чем DSP не подойдёт?

    1 hour ago, Aner said:

    В вашем случае выход это все же MIMO, c минимальными 4 антеннами. И другим трансивером.     

    Чё-т монструозно как-то.  

    1 hour ago, Aner said:

    И тут заблуждаетесь. По причине того, что усиление поднимите, а соотношение сигнал/шум ухудшите. Как следствие больше ошибок и сокращение дальности связи.

    Что мешает взять усилитель с КШ меньше, чем у Si4463?

  8. 1 hour ago, repstosw said:

    Осталось понять, какая должна быть минимальная скорость семплирования (частота генератора переключения) и на какую частоту среза должен быть настроен фильтр в приёмнике...

    Из другой литературы нашёл:

    Quote

    Частота переключения должна превышать удвоенную наивысшую модулирующую частоту

    Что за модулирующая частота? Не символ-рейт случайно?  Если да, то семплировать надо с частотой более, чем 0,6*2 = 1,2 МГц.

    На счёт частоты среза,  у Si4463 полоса пропускания около 800 - 900 кГц, я думаю 1,2 МГц и выше - останутся вне полосы, так что фильтрация автоматически выполнится.

     

    13 minutes ago, petrov said:

    Это не сложно, а очень просто, сложить два сигнала с выхода частотных детекторов, вот и всё DSP, называется equal gain combining, работает очень хорошо для плоских замираний. Аппаратно - 2 чипа, высокоинтегрированный трансивер многоканальный + простейшая FPGA,

    У меня жесткие выходы со слайсера идут. Нету мягких решений.

     

    13 minutes ago, petrov said:

    Аналоговые переключение - безнадёжный тупик.

    Почему так сразу депрессивно?  

    Раз в литературе есть такой метод и он применяется, значит он работает.  Пусть не идеально: ценой потери 3 дБ на входе детектора в самом худшем случае.   Главное, что работает.   А усиление можно поднять каким-нибудь GaAs с низким КШ. И отфильтровать.   Или мощность передатчика на столько же повысить (+3 дБ)

    13 minutes ago, petrov said:

    это незначительная сложность в сравнении с кастомными кодеками вэйвлетными

    Честно говоря, мне проще сотни строк кода написать, чем заставить себя распаять FPGA и вспоминать VHDL :biggrin: Давно это было... Лет 15 назад писал на VHDL.

  9. 4 hours ago, repstosw said:

    Как вы думаете, взлетит или нет?

    Оказывается, такая штука уже применяется.

    image.png.6d4040d36bc6c69b46091ae644ffd194.pngimage.png.60fb0e77e4c7851412209a052e4623e4.png

     

    Использую Si4463.  Девиация частоты 83,3 кГц (внутренняя inner девиация, для 4GFSK), индекс модуляции 0,33333...   Скорость 600 ксимвл/c,  1 символ - 2 бита.

    Осталось понять, какая должна быть минимальная скорость семплирования (частота генератора переключения) и на какую частоту среза должен быть настроен фильтр в приёмнике...

    image.png.cd8cbdfaad5bcfc0d73dffa29ee3662f.png

  10. 58 minutes ago, 3apw said:

    Вы можете посмотреть описание TETRA радионтерфейса на сайте ETSI и найдете там различные модели при использовании Diversity в диапазоне 380 - 470 МГц для открытой, холмистой, гористой, сельской и городской местности. Модуляция используется pi/4 DQPSK в полосе 25 кГц. 

    Не нашёл.

  11. 19 minutes ago, 3apw said:

    Однако во втором и последующих поколениях возимых терминалов такая опция не сохранилась, так как она не оправдала ожидания заказчиков на практике.     

    Наверно их не устроило две торчащих антенны :biggrin:

    Почитал апноты от Силабса и ТИ, там были замеры PER с антенна-диверсити и без.  PER с диверстити уменьшается в несколько раз, что радует. Для моих целей две антенны не проблема.

    А вообще, удивляет, что до сих пор не сделали "Smart Antenna" в одном чипе.  Для 70 см диапазона.   Как и чем крутить фазу?  Только ли DSP-методами?  Всё сложно.  Неужели оно не находит применения?  Почему китайцы до сих пор торгуют шлаком, который на замираниях не работает?

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

    Модуляция: 4GFSK, битовая скорость 1200 кбит/c (или 600 ксимв./с), частота приёма 435 МГц.  Пакет длинный, время длительности одного пакета 67 мс. Потоковая передача-приём, без реквестирования данных.

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

    Скорость 600 кcимв/c, время одного символа 1,67 мкс. Или 0,6 МГц.

    Ключ SPDT HWS421, у него время переключения 200 нс, что соответствует частоте 5 МГц - это и будет тактовая частота переключателя.

    Итого чуть-более, чем 8 переключений на один бит.  При этом в самом худшем случае, уровень сигнала на детекторе (средний, эффективный) - уменьшится в 2 раза(на одной антенне - нуль, на другой - максимум), но зато не будет замираний.

    Схема ниже.   Нужен кварц, CMOS микросхема (типа 74HC) и переключатель. Всё.

    Как вы думаете, взлетит или нет?

    Какие могут быть тонкости и подводные камни?

    Если SPDT ключ с  веременем переключения  200 нс - мало, напишите более быстродействующие ключи.

    На сколько минимум нужно просемплировать один бит?

    1.thumb.png.e0c2f5d55879b8748a2d22821bddfa5d.png

  13. yurik82, Antenna Diversity хорош там, где терминалы стационарны (например Wi-Fi роутер, который всегда стоит в одном месте), тоесть не перемещаются.

    Ранее, я делал Antenna Diversity программным способом для чипа трансивера AT86RF215.   Перед отправкой пакета данных, поcылал два коротких пакета, чтобы по ним приёмник мог определить, с какой антенны сигнал больше - ту антенну и использовал  для приёма третьего пакета данных.  И это делалось каждый раз перед приёмом новой тройки пакетов.

    Антенны размещал по-разному:

     a) на L/4,

     б) на L/2,

     в) перпендикулярно друг другу.

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

    Время приёма всего пакета данных: 66.6 мс (что соответствует потоковому видео 15 FPS + аудио). Скорость передвижения оператора с трансивером в руках - 5... 20 км/ч.

    Здесь нужно Antenna Diversity на каждый символ. Программно это реализовать практически невозможно, так как длительность символа - несколько микросекунд.

    Две антенны были подключены к SPDT, переключение с помощью GPIO со стороны микроконтроллера, уровень сигнала смотрел через RSSI, читая регистр трансивера.

  14. 1 minute ago, Freesom said:

    Пусть на подвижном терминале это громоздко, но на неподвижной станции то можно себе позволить такую роскошь

    Дело в том, что оба терминала равноценны.  И неподвижность одного объясняется временным отсутствием второго оператора.  Проще говоря, в конечном итоге - оба терминала будут подвижны.

    А на счёт MIMO, боюсь, что это выльется вот в такого монстра:

    MIMO-transceiver-prototype-MIMO-transceiver-depicted-in-Fig-4-implements-both-16-TX.thumb.png.800da7c258ef1f05f25e072d4bf69441.png

     

    А хочется решение на однокристальном трансивере.

  15. 27 minutes ago, Freesom said:

    куда ж без этого, и рой антенн вдобавок. кстати эволюция современных wifi роутеров - от ёжика с торчащими антеннами перешли к пустотелому кирпичу, у которого на внутренних стенках раскиданы антенны всевозможных ориентаций...

    Как я написал в самом начале:

    2 hours ago, repstosw said:

    На 433 МГц получается сильно громоздко.  Может есть какой-нибудь хитрый способ получить антенну для "кирпича в руке" или систему из антенн?

     

    Боюсь, что ежики и куча антенн - это слишком громоздко для того чтобы держать всё в руках на 433 МГц.

    Есть ли решение с двумя антеннами или с круговой поляризацией?

    Нужно убрать нулевую точку приёма другой точкой приёма, где приём есть.

    Антенны разностить - не вариант, надо 8..10 длин волн, иначе антенны будут сильно кореллированы и толку от разнесения не совсем будет много.

    И ещё,,, у меня ОДИН канал.  Никакго множественного доступа не планируется.  Никаких мульт-абонентов.  Связь между двумя терминалами.  Всё.

  16. 47 minutes ago, yurik82 said:

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

    Круговой поляризации!

    На ДН мне всёравно. Главное чтобы на 360 градусов излучала в одной плоскости, как диполь.

    10 minutes ago, Freesom said:

    пора MIMO осваивать

    А оно потянет за собой кучу приёмопередатчиков?

  17. Есть канал связи на 433 МГц.  Модуляция 4GFSK, скорость 1200 кбит/c. Пакет 6 кБ.  Мощность передатчика(средняя) 100 мВт (+20 дБм). 

    Связь - полный дуплекс (режим потоковый, временное разделение канала: 50% приём, 50% передача).  Передача видео: MJPEG 160x240 @15 FPS + звук: CELT 24 кБит/c.

    Локация:  помещение (комнаты квартиры).

    Антенны: штыревая, четверть с противовесом.

    В одной комнате находится  один абонентский терминал (неподвижно).

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

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

     

    Собственно вопрос: существует ли такие антенны, которые излучали так, чтобы минимизировать замирания в пространстве в точке приёма?

    Читал про антенны с круговой поляризацией (клевер, квадрифиляр, спиральная с рефлектором), пишут что они спасают от замираний, так как излучают в обе поляризации, а так как они сдвинуты на 90 градусов, то никогда не будет двух точек с нулями по обеим составляющим.

    Но я смотрел Клевер, Спираль... На 433 МГц получается сильно громоздко.  Может есть какой-нибудь хитрый способ получить антенну для "кирпича в руке" или систему из антенн?

  18. On 11/25/2023 at 11:07 PM, mantech said:

    Но так же медленно, как и с внешней, проверено на разных процах, там дело в ширине и скорости шин, которая у кэша и ОЗУ очень отличается.

    У TMS320C6745 код/данные во внутренней L1 работает быстро, кешировать этот регион не нужно.  И это даже лучше в отдельных случаях, чем забивание кеша при хаотичных выборках.

    А вот Allwinner'ы этим похвастаться не могут - их SRAM 1,2,...  без кеширования медленные.

  19. Почему в JPEG2000 используются вейвлеты LeGall 5/3 и CDF 9/7 ?   Чем они хороши по сравнению с DB4 или тем более с DB6,8,... и т. п.

    Понятно, что вейвлеты более высших порядков усложняют расчёт и нагружают процессор. Есть ли другие причины использовать именно  LG 5/3 и CDF 9/7 ?

    Есть ли выигрыш в сжатии от использования вейвлетов более высших порядков?

    Или преобразования Хаара (DB2) будет достаточно?

    Насколько прямо зависит степень сжатия от числа ликвидирующих моментов(порядок вейвлета) ?

    Есть соблазн использовать DB6, 8 для устранения квадратичного и кубического цветового и светового градиента  в изображении, но это реально даст выигрыш в сжатии или сократит число ступеней преобразований (при том же сжатии)?

  20. 5 minutes ago, blackfin said:

    Стандартный подход для решения этой проблемы состоит в разбиении всего кадра на полосы высотой от ~16 до ~32 строк (slices) и кодировании каждой такой полосы независимо от остальных. При обнаружении ошибки в такой полосе, вся поврежденная полоса кадра заменяется на "копию" из предыдущего кадра.

    Насколько увеличится оверхед при "кусочном" кодировании и насколько хороша "сшиваемость" блоков - швы будут ?

  21. 25 minutes ago, _pv said:

    А вот запихивать в кодек ещё и коррекцию ошибок имхо не самая замечательная идея, этим протокол передачи заниматься должен.

    Сделал "длинный" кодек Рида-Соломона - на весь пакет, который со своей избыточностью 25% сможет исправить 12,5% ошибок или 25% стираний. Мне это показалось недостаточным, хотя умные статьи как раз говорят о том, что если в пакете свыше 25%  ошибок, то канал очень плохой и нужно искать либо другой канал, либо другие методы улучшения приёма.

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

    Традиционный JPEG для этого ипользует сбросы квантователей и опорные маркеры, а JPEG2000 со своей JPWL не спасает на пакетных ошибках.  Поэтому приходится делать своё, так как всё что есть - просто не подходит для передачи по эфиру.  Любая порча бита (даже при BER 10^-6) приведёт к отказу декодирования.

    Поэтому есть мысль сделать FEC на каждую ступень, и при невозможности её восстановления (более 12,5% битых данных) - просто "занулять" коэффициенты этой ступени или применять её "как есть".

    Плюс есть ещё идея - ввести стирания в общий RS-код,  сейчас символ - 12 бит, сделать 11 бит данные и 1 бит - проверка чётности.   Если чётность символа не сходится - значит по-любому стирание, иначе неизвестно.  Что увеличит число исправлений в пределе до 25%

     

    13 minutes ago, blackfin said:

    1. JPEG 2000

    2. JPEG XS

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

  22. Сделал 4 ступени вейвлет-преобразований для изображения (по обеим осям).  В качестве вейвлета взял DB4 (устраняет постоянную составляющую и линейную зависимость цвета).

    Размер кадра 160x240. Ступени: 80x120, 40x60, 20x30, 10x15

    Получившиеся коэффициенты - меньше 0 и больше 255:

    image.png.fe4def8baccd3ad60a82ed8451c90a8b.png

     

    Вопрос - что с ними делать дальше?   Пока просто их проквантовал линейно от 0 до 255:

    y[0..255]=f(x)=k*x+b
    
    k=255/(max-min)
    
    b=-k*min

    Получилась вот такая визуализация разложения:

    image.png.5dd465b0a9ca2cff88484004099db0de.pngimage.png.54c34ce7e06a8752276485391af457c5.pngimage.png.ebe855388aeb3475801ef484f5c8c634.pngimage.png.ca50ec3a83d5ac86f4160dd686107b6c.pngimage.png.24839466796aa523585d1e96abb1852c.png

     

    Что хочется в итоге? : - данные последней ступени нужно правильно упорядочить, проквантовать и закодировать для компактности (Хаффман или арифметический кодер), затем добавить биты/байты для коррекции ошибок.  И отправить в эфир.

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

    Ещё статьи умные почитал, советуют НЧ блок (в самом левом верхнем углу) - кодировать АДИКМ (а не Арифметическим кодером как в JPEG2000), чтобы искажения не сильно гробили картинку на выходе.

     

    Собственно, вопросы:

    1. Каким квантователем квантовать?  Пока выбран линейные квантователи - отдельно для каждого шага: [0..255]

    2. Как упорядочивать данные , иначе - в какой последовательности передавать?

    3. Весовые коэффициенты, какие взять?  На счёт НЧ - понятно, что это самое значимое, а для остальных сегментов?

    4. Какой кодер брать - Хаффман , Арифметический, или?

     

     

  23. 23 hours ago, mantech said:

    Ясно, нее, эта больно монстроидальная.

    Для PNG использую lupng:  https://github.com/jansol/LuPng

    Всего 2-3 файла.

    Но я её доработал - добавил загрузку PNG из памяти. По умолчанию там только загрузка с файла.

     

    На счёт NEON.  Есть проект SSE2NEON: https://github.com/DLTcollab/sse2neon

    Но я им не пользовался.

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