-
Постов
2 582 -
Зарегистрирован
-
Победитель дней
2
Сообщения, опубликованные repstosw
-
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
9 minutes ago, freeport said:Правильно, для этого надо в экран вставить проходной фильтр и подавать питание по нему.
А не получится ли так, что экран будет большим противовесом антенны - и он начнёт излучать?
Помню был такой случай - на приёмнике антенны не было, но к земле была подключена медная пластина - приём был отличный, пока не отключил пластину.
И как в экран вставить проходной фильтр? Не видел такого. Все RF платы сделаны многослойками где есть плоскость земли, а вместо кабеля - печатные полосковые линии дорожками.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
В макете устройства, который передаёт и принимает на 435 МГц (мощность +20 дБм), антенный ВЧ выход нагружен на "фирменную" нагрузку 50 Ом.
Кабель - WiFi кабель от ноутбуков с сопротивлением 50 Ом.
Для предотвращения затекания сигнала на оплётку кабеля (сигнал несимметричный) использую ферритовые втулки - несколько витков ВЧ кабеля вокруг них.
Вот на этом рисунке - оба выхода нагружены на 50 Ом (плата в центре наверху - антенный переключатель, работающий на приём и передачу), тем не менее - приём уверенный по всей квартире.
Если же антенный переключатель убрать и нагрузить выход передатчика на 50 Ом, то излучение в пределах одной комнаты:
Получается, что в случае с антенным переключателем, от антенн толку нет вообще, и разделить их невозможно с помощью антенного переключателя. Так как и без антенн приём без проблем.
Как избавиться от "свиста" в эфир, когда выходы нагружены на 50 ом и без антенн?
-
51 minutes ago, Plain said:
Используйте светодиод.
Вопрос решён.
Понизил частоту ШИМ делителями до 1 Гц и поставил два светодиода.
Действительно, всё оказалось верно - оба диода горят по очереди (что и нужно), хотя тестер чухает разность потенциалов между портами как 0 В.
-
Есть два выхода с микроконтроллера, которые работают в режиме противофазной ШИМ.
Длительность 50%.
Какое напряжение покажет цифровой тестер в режиме измерения постоянного напряжения, если один щуп соединён с одним выходом ШИМ, второй щуп - с другим выходом ШИМ ?
Интуиция подсказывает, что напряжение должно быть примерно равно напряжению питания.
Данный вопрос был создан с целью убедиться, выдаётся ли ШИМ действительно в противофазе или нет (осциллограф рядом нет).
Как проверить, что в противофазе?
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
Всё-же я склоняюсь к мнению, что коды коррекции ошибок должны решать проблемы кратковременных импульсных помех. Ну тоесть - не более 10-20% битых данных от всего пакета. Кодирование пока оставил общее- на весь пакет.
petrov прав, что от замираний эти коды не спасут, так как в точке замирания портится слишком много данных (более половины). Лог канала я делал, всё очень плохо, когда есть замирания.
Поэтому остаётся сделать Antenna Diversity и переключать их как можно чаще. Пакеты короче. Я тут посчитал что при длине волны 67 см, при скорости движения приёмника около 20 км/ч, выходит, что пол-волны пройдёт за 55 мс, а это меньше чем время одного пакета (67 мс). Поэтому тут надо либо укоротить пакет - разбить пакет на 8 - 10 мелких и проверять уровни с антенн перед приёмом каждого мелкого пакета, либо вообще просемплировать каждый бит двумя антеннами. Либо как petrov написал в другой теме - делать "умное сложение" двух сигналов с детекторов.
Ещё бы не мешало снять уровни с двух антенн при перемещении. И потом построить два графика уровней, чтобы определить насколько кореллированы сигналы с обоих антенн или нет. Если слабо кореллированы или не кореллированы - тогда Diversity поможет. Если есть корелляция - тогда всё плохо, и я не знаю что делать дальше...
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
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?
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
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
Давно это было... Лет 15 назад писал на VHDL.
-
4 hours ago, repstosw said:
Как вы думаете, взлетит или нет?
Оказывается, такая штука уже применяется.
Использую Si4463. Девиация частоты 83,3 кГц (внутренняя inner девиация, для 4GFSK), индекс модуляции 0,33333... Скорость 600 ксимвл/c, 1 символ - 2 бита.
Осталось понять, какая должна быть минимальная скорость семплирования (частота генератора переключения) и на какую частоту среза должен быть настроен фильтр в приёмнике...
-
58 minutes ago, 3apw said:
Вы можете посмотреть описание TETRA радионтерфейса на сайте ETSI и найдете там различные модели при использовании Diversity в диапазоне 380 - 470 МГц для открытой, холмистой, гористой, сельской и городской местности. Модуляция используется pi/4 DQPSK в полосе 25 кГц.
Не нашёл.
-
19 minutes ago, 3apw said:
Однако во втором и последующих поколениях возимых терминалов такая опция не сохранилась, так как она не оправдала ожидания заказчиков на практике.
Наверно их не устроило две торчащих антенны
Почитал апноты от Силабса и ТИ, там были замеры PER с антенна-диверсити и без. PER с диверстити уменьшается в несколько раз, что радует. Для моих целей две антенны не проблема.
А вообще, удивляет, что до сих пор не сделали "Smart Antenna" в одном чипе. Для 70 см диапазона. Как и чем крутить фазу? Только ли DSP-методами? Всё сложно. Неужели оно не находит применения? Почему китайцы до сих пор торгуют шлаком, который на замираниях не работает?
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
Пришла в голову мысль реализовать быстрое автоматическое переключение антенн для приёмника, чтобы обойти замирания сигнала при приёме.
Модуляция: 4GFSK, битовая скорость 1200 кбит/c (или 600 ксимв./с), частота приёма 435 МГц. Пакет длинный, время длительности одного пакета 67 мс. Потоковая передача-приём, без реквестирования данных.
Суть в следующем, чтобы обойти снижение битрейта и не опрашивать по очереди антенны перед приёмом пакета, производится быстрое, независимое автоматическое переключение антенн для приёмника.
Скорость 600 кcимв/c, время одного символа 1,67 мкс. Или 0,6 МГц.
Ключ SPDT HWS421, у него время переключения 200 нс, что соответствует частоте 5 МГц - это и будет тактовая частота переключателя.
Итого чуть-более, чем 8 переключений на один бит. При этом в самом худшем случае, уровень сигнала на детекторе (средний, эффективный) - уменьшится в 2 раза(на одной антенне - нуль, на другой - максимум), но зато не будет замираний.
Схема ниже. Нужен кварц, CMOS микросхема (типа 74HC) и переключатель. Всё.
Как вы думаете, взлетит или нет?
Какие могут быть тонкости и подводные камни?
Если SPDT ключ с веременем переключения 200 нс - мало, напишите более быстродействующие ключи.
На сколько минимум нужно просемплировать один бит?
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
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, читая регистр трансивера.
-
1 minute ago, Freesom said:
Пусть на подвижном терминале это громоздко, но на неподвижной станции то можно себе позволить такую роскошь
Дело в том, что оба терминала равноценны. И неподвижность одного объясняется временным отсутствием второго оператора. Проще говоря, в конечном итоге - оба терминала будут подвижны.
А на счёт MIMO, боюсь, что это выльется вот в такого монстра:
А хочется решение на однокристальном трансивере.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
27 minutes ago, Freesom said:куда ж без этого, и рой антенн вдобавок. кстати эволюция современных wifi роутеров - от ёжика с торчащими антеннами перешли к пустотелому кирпичу, у которого на внутренних стенках раскиданы антенны всевозможных ориентаций...
Как я написал в самом начале:
2 hours ago, repstosw said:На 433 МГц получается сильно громоздко. Может есть какой-нибудь хитрый способ получить антенну для "кирпича в руке" или систему из антенн?
Боюсь, что ежики и куча антенн - это слишком громоздко для того чтобы держать всё в руках на 433 МГц.
Есть ли решение с двумя антеннами или с круговой поляризацией?
Нужно убрать нулевую точку приёма другой точкой приёма, где приём есть.
Антенны разностить - не вариант, надо 8..10 длин волн, иначе антенны будут сильно кореллированы и толку от разнесения не совсем будет много.
И ещё,,, у меня ОДИН канал. Никакго множественного доступа не планируется. Никаких мульт-абонентов. Связь между двумя терминалами. Всё.
-
47 minutes ago, yurik82 said:
Антенн с круговой диаграммой направленности у которых есть горизонтальная компонента поляризации - не бывает.
Круговой поляризации!
На ДН мне всёравно. Главное чтобы на 360 градусов излучала в одной плоскости, как диполь.
10 minutes ago, Freesom said:пора MIMO осваивать
А оно потянет за собой кучу приёмопередатчиков?
-
Есть канал связи на 433 МГц. Модуляция 4GFSK, скорость 1200 кбит/c. Пакет 6 кБ. Мощность передатчика(средняя) 100 мВт (+20 дБм).
Связь - полный дуплекс (режим потоковый, временное разделение канала: 50% приём, 50% передача). Передача видео: MJPEG 160x240 @15 FPS + звук: CELT 24 кБит/c.
Локация: помещение (комнаты квартиры).
Антенны: штыревая, четверть с противовесом.
В одной комнате находится один абонентский терминал (неподвижно).
Второй абонентский терминал - в руках человека, который перемещается по разным комнатам.
При движении человека - в некоторые моменты приём пропадает: пакет либо востанавливается корректирующим кодом, либо нет (в этом случае число битых битов настолько велико, что пакет игнорируется).
Собственно вопрос: существует ли такие антенны, которые излучали так, чтобы минимизировать замирания в пространстве в точке приёма?
Читал про антенны с круговой поляризацией (клевер, квадрифиляр, спиральная с рефлектором), пишут что они спасают от замираний, так как излучают в обе поляризации, а так как они сдвинуты на 90 градусов, то никогда не будет двух точек с нулями по обеим составляющим.
Но я смотрел Клевер, Спираль... На 433 МГц получается сильно громоздко. Может есть какой-нибудь хитрый способ получить антенну для "кирпича в руке" или систему из антенн?
-
Предложения актуальны. По всем вопросам пишите на repstosw2018 @ gmail.com
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
On 11/25/2023 at 11:07 PM, mantech said:Но так же медленно, как и с внешней, проверено на разных процах, там дело в ширине и скорости шин, которая у кэша и ОЗУ очень отличается.
У TMS320C6745 код/данные во внутренней L1 работает быстро, кешировать этот регион не нужно. И это даже лучше в отдельных случаях, чем забивание кеша при хаотичных выборках.
А вот Allwinner'ы этим похвастаться не могут - их SRAM 1,2,... без кеширования медленные.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
Почему в JPEG2000 используются вейвлеты LeGall 5/3 и CDF 9/7 ? Чем они хороши по сравнению с DB4 или тем более с DB6,8,... и т. п.
Понятно, что вейвлеты более высших порядков усложняют расчёт и нагружают процессор. Есть ли другие причины использовать именно LG 5/3 и CDF 9/7 ?
Есть ли выигрыш в сжатии от использования вейвлетов более высших порядков?
Или преобразования Хаара (DB2) будет достаточно?
Насколько прямо зависит степень сжатия от числа ликвидирующих моментов(порядок вейвлета) ?
Есть соблазн использовать DB6, 8 для устранения квадратичного и кубического цветового и светового градиента в изображении, но это реально даст выигрыш в сжатии или сократит число ступеней преобразований (при том же сжатии)?
-
5 minutes ago, blackfin said:
Стандартный подход для решения этой проблемы состоит в разбиении всего кадра на полосы высотой от ~16 до ~32 строк (slices) и кодировании каждой такой полосы независимо от остальных. При обнаружении ошибки в такой полосе, вся поврежденная полоса кадра заменяется на "копию" из предыдущего кадра.
Насколько увеличится оверхед при "кусочном" кодировании и насколько хороша "сшиваемость" блоков - швы будут ?
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
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:Оно не отвечает требованиям хорошего иммунитета при передаче в радиоканале и тотально сыпется от одной ошибки.
-
Опубликовано · Изменено пользователем repstosw · Пожаловаться
Сделал 4 ступени вейвлет-преобразований для изображения (по обеим осям). В качестве вейвлета взял DB4 (устраняет постоянную составляющую и линейную зависимость цвета).
Размер кадра 160x240. Ступени: 80x120, 40x60, 20x30, 10x15
Получившиеся коэффициенты - меньше 0 и больше 255:
Вопрос - что с ними делать дальше? Пока просто их проквантовал линейно от 0 до 255:
y[0..255]=f(x)=k*x+b k=255/(max-min) b=-k*min
Получилась вот такая визуализация разложения:
Что хочется в итоге? : - данные последней ступени нужно правильно упорядочить, проквантовать и закодировать для компактности (Хаффман или арифметический кодер), затем добавить биты/байты для коррекции ошибок. И отправить в эфир.
Суть - помехоустойчивый кодек, допускающий потери. Если есть потери или искажение на отдельных ступенях разложения, то они отбрасываются - заменяются нулями. В этом случае, принятое изображение будет показано с меньшей точностью чем исходное.
Ещё статьи умные почитал, советуют НЧ блок (в самом левом верхнем углу) - кодировать АДИКМ (а не Арифметическим кодером как в JPEG2000), чтобы искажения не сильно гробили картинку на выходе.
Собственно, вопросы:
1. Каким квантователем квантовать? Пока выбран линейные квантователи - отдельно для каждого шага: [0..255]
2. Как упорядочивать данные , иначе - в какой последовательности передавать?
3. Весовые коэффициенты, какие взять? На счёт НЧ - понятно, что это самое значимое, а для остальных сегментов?
4. Какой кодер брать - Хаффман , Арифметический, или?
-
-
23 hours ago, mantech said:
Ясно, нее, эта больно монстроидальная.
Для PNG использую lupng: https://github.com/jansol/LuPng
Всего 2-3 файла.
Но я её доработал - добавил загрузку PNG из памяти. По умолчанию там только загрузка с файла.
На счёт NEON. Есть проект SSE2NEON: https://github.com/DLTcollab/sse2neon
Но я им не пользовался.
Сильно излучает ВЧ выход, нагруженный на 50 Ом
в RF & Microwave Design
Опубликовано · Пожаловаться
Что из себя представляют проходные фильтры? Они фирменные? Как называются по-английски, чтобы найти даташит и прайсы.
Впервые такие вижу, хотя валяется куча разобранных трубок от сотовых телефонов.