LINUX.ORG.RU
Форум — Talks  

А вот и настоящий, правильный опенсурс на мобильниках. Пошла жара, похоже.

 , , ведроид


2

2

https://github.com/loganzarov-alt/D325f-SDR

В общем, совершенно обычный смартфон почти без паяльника превращается в относительно опенсурсный SDR девайс.

Понятно, что долбаный ведроид и т.п., но лиха беда начало.

Я ж говорил попрёт. А эти все постмаркетосы и пр исключительно для эксклюзивных дорогущих девайсов и без намёков на SDR - тупиковая ветвь.

★★★★★

Последнее исправление: Stanson (всего исправлений: 1)

Как-то странно. Обычно никаких IQ-семплов никакая радиотехническая аппаратура никакого модема в телефоне наружу не прокидывает - это сложно.

Кратенько: как работает современный приём LTE, Wi-Fi, GSM, Bluetooth: жирную полосу сигнала, например шириной 2 мгц (блютус в единицу времени смотрит в один такой канал) или или 10 мгц LTE какого-то или 20 мгц (wi-fi канал) или вообще 320 мгц (самые упоротые современные wi-fi) целиком оцифровывают (как звуковуха оцифровывает микрофон, только не на частоте дескритизации 48кгц, а на лютой ЧД ~2…320мгц адским ADC (аудиофилы тут люто закурили в углу)), на выходе ADC летит последовательность I/Q-семплов разрядности ~12бит. Это конский поток данных. Можете пересчитать в мегабиты (12 * 2 * 20000000 / (1000*1000) == 480 мегабит для wi-fi; 2 потому что I + Q) который за пределы чипа не выходит, потому что это была бы интерфейсная жесть: через что из чипа выплёвывать 480 мегабит? Ну да, «через какие-то ножки», но это отдельный интерфейс городить. Этот поток из чипа не уходит, а идёт сразу на конвейер специфических DSP и далее логических блоков, которые физические пакеты распознают. Всё это + часто небольшой ARM проц + ADC запилены в физических транзисторах на кремнии в виде одного монолитного чипа, который может называться «радиомодем» или «Baseband Processor» или «RF Transceiver». Только таким макаром можно успеть переработать цифровыми DSP-оперденями так дофига данных за минимум энергии. Нет, современные цифровые радиопосылки никто не пытается принимать чем-то отличным от «оцифровать и загнать в DSP». Например если бы строительство чипов находилось на уровне ~ Pentium-3…4 по техпроцессу, то реализация LTE-приёма даже в сырых транзисторах выглядела бы как микруха выделяющая десятки ватт тепла и стояла бы в матери смонтированной в чемодан и только с приходом волшебных 5…28 нанометров оно греется терпимо на уровне 1ватт. Это какбэ отвечает нам на вопрос о том, почему раньше все как дебилы ходили с GSM-900/GPRS, не могли придумать LTE сразу что-ли. Могли, просто нужен был ранец с аккумом.

Но выкинуть поток I/Q семплов за пределы подобной микрухи, а не просто пустить этот поток на переработку сразу внутри того же чипа - это я не понял зачем сделано и почему такой SDR-хак с этим телепхоном стал возможен.

P.S. Почитал что-то по теме, походу я вам наврал: загонять всё в один чип стали только потом, в былые времена часто была популярна архитектура вида: чип 1 (ADC/DAC даёт или жрёт IQ) + чип 2 (жрёт IQ и делает DSP или рожает поток IQ)

tcpfinhello
()
Последнее исправление: tcpfinhello (всего исправлений: 5)
Ответ на: комментарий от tcpfinhello

Обычно никаких IQ-семплов никакая радиотехническая аппаратура никакого модема в телефоне наружу не прокидывает

«Обычно» - не прокидывает. Специально не прокидывает. Чтобы этим поганым потребителям неповадно было своим девайсом распоряжаться.

это сложно.

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

Это конский поток данных.

Там всё настраивается в широких пределах.

Этот поток из чипа не уходит, а идёт сразу на конвейер специфических DSP и далее логических блоков, которые физические пакеты распознают.

Нынче там сплошняком SDR во все поля, и вместо «специфических DSP и далее логических блоков» там вполне себе что-то типа мелких FPGA + процессор. Zynq на минималках.

Но выкинуть поток I/Q семплов за пределы подобной микрухи, а не просто пустить этот поток на переработку сразу внутри того же чипа - это я не понял зачем.

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

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

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Нынче там сплошняком SDR во все поля, и вместо «специфических DSP и далее логических блоков» там вполне себе что-то типа мелких FPGA + процессор. Zynq на минималках.

Сомневаюсь крайне сильно. Возможно я конечно тупой. Но я думал, что FPGA - это прожорливо по току, это избыточно, это площадь кристалла. Это эталонное ненужно и не экономно, когда можно отлить сразу в транзисторах что нужно. Я себе слабо представляю какой должен быть конский FPGA чтобы парсить wi-fi-5 или LTE высоких категорий, хотя на дешёвых Zynq7020 народ вроде запускал какие-то базовые станции и точки доступа не помню какой версии wi-fi, но в телефонах надо экономнее по току и по площади: в LibreSDR это два жирных чипа и сам он как лопата.

tcpfinhello
()
Ответ на: комментарий от Stanson

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

Основной мой поинт в том, что не нужно экономичеки и энергозатратово: вывернуть I/Q поток изнутри чипа наружу в некий интерфес - это прямо специально надо стараться прокидывать этот I/Q до некого LVDS-интерфейса в виде нескольких ног на микрухе, отливать этот интерфейс в транзисторах и все дела. Получаются некие затраты, которые невозможно никак объяснить экономически. И ещё начинается пожор батарейки: если можно внутри чипа прямо из одних транзисторов в другие транзисторы как угодно параллельно извращённо и дёшево передать эти семплы, то это легче и проще. А если у вас в какой-то точке микросхемы формируется некий «поток пакетов» с этими IQ семплами, а в другой точке чипа этот поток парсится и дальше обрабатывается, то у вас больше транзисторов поело ток и пропало впустую.

Успех сабжа связан просто с особенностью той старой архитектуры проектирования этих радиочастотных кусков телефонов, когда двумя разными чипами задачу решали, наверное это было универсальнее для продавцов этих чипов. А сейчас допустим ты захотел попарсить wi-fi шириной 320 мегагерц, тебе надо какие-то лютые гигабиты семплов между чипами транспортировать - жопа какая-то получается транспортная между чипами.

tcpfinhello
()
Последнее исправление: tcpfinhello (всего исправлений: 2)
Ответ на: комментарий от tcpfinhello

но в телефонах надо экономнее по току и по площади:

А там и есть экономнее и по току и по площади. Zynq для какого-нибудь WiFi или LTE это дичайший перебор.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от tcpfinhello

Как-то странно. Обычно никаких IQ-семплов никакая радиотехническая аппаратура никакого модема в телефоне наружу не прокидывает - это сложно.

Обычно — нет, а в отладочном режиме — да.

ESP32-SDR

А сейчас допустим ты захотел попарсить wi-fi шириной 320 мегагерц, тебе надо какие-то лютые гигабиты семплов между чипами транспортировать - жопа какая-то получается транспортная между чипами.

Wi-Fi-модуль MT7996 превратили в SDR

Turns a Gemtek W1700K Wi-Fi 7 router into a wideband software-defined receiver. The router’s MediaTek MT7996 radio captures raw 14-bit IQ at up to 320 Msps, its Airoha AN7581 SoC streams it over 10 GbE, and a Linux host shows it as a live spectrum and waterfall in the browser, with the receiver’s controls next to it.

Lora-чип Semtech LR2021 в качестве SDR:

The Semtech LR2021 normally demodulates LoRa, FSK, FLRC and other modes internally. An undocumented command in its ROM hands over the raw baseband instead: 16-bit I and Q samples, with amplitude and phase intact. That turns the chip into an SDR, so receivers can be written in software.

Ну и конечно, классический любимый ТВ-тюнер Realtek RTL2832U, который RTL-SDR.

ValdikSS ★★★★★
()
Последнее исправление: ValdikSS (всего исправлений: 4)
Ответ на: комментарий от Stanson

всякие «портирователи открытого ведроида» исключительно на невменяемо дорогущие смартфоны

OnePlus 6T, который недавно обсуждали, относится к «невменяемо дорогущим»? (Нет, это не про андроид, туда Альт Мобайл портировали.)

hobbit ★★★★★
()

...почти без паяльника...

Почти? :⁠-⁠D

...попрёт...

Не факт.

...ведроид и т.п., но лиха беда начало.

Главное — верить. :⁠-⁠D

sparkie ★★★★★
()
Ответ на: комментарий от tcpfinhello

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

firkax ★★★★★
()
Ответ на: комментарий от firkax

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

Аналогово сложно и дорого. Много получается катушечек, транзисторчиков и конденсаторчиков. DSP-процессор меньше ногтя дешевле при массовом производстве и параметры не уплывают.

tcpfinhello
()
Ответ на: комментарий от ValdikSS

ESP32-SDR, Wi-Fi-модуль MT7996, Lora-чип Semtech LR2021.

Это конечно прекрасно, но это капля в море как я понимаю. В море устройств, которые умеют принимать и обрабатывать цифровые радиосионалы в широком спектре, большинство никогда не покажет наружу свои I/Q… И мне нейронка что-то сказала о том, что в вышеперечисленных проектах сырое I/Q наружу вытаскивается или очень урезанное узкополосное и иногда идёт работа не с самим I/Q, а с какими-то продуктами его обработки…

ТВ-тюнер Realtek RTL2832U, который RTL-SDR.

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

Для всех кто хочет поэкспериментировать с SDR я бы советовал всё равно остановиться на чём-то более «лабораторном» типа LibreSDR (чё-то оно до 20 тыр подорожало, год назад было 14 тыр) или посерьёзнее что-нибудь за 50…300 тыр типа там LimeSDR, BladeRF, Ettus USRP B210 - там фишка в правильной реализации платы, где СВЧ-сигналы бегут по правильно выполненным дорожкам и на плате стоит правильная обвязка, точно держащая частоту и т.п.

Ещё есть такая мудрость: даже если вы «senior»-разработчик в радиолюбительском деле, самый простой RTL-SDR синий свисток за 1500 рублей с авито с плывущим от температуры гетеродином и прочими недостатками даст дофига радости и возможностей по приёму всёго что плохо лежит, если вы хотите попрограммировать на C++ алгоритмы DSP и приёма всякого там разного. Только когда вы уже совсем офигеете от собственной крутости через несколько лет пинания rtl-sdr и отчётливо поймёте во что упираетесь, можно тратить деньги: 99% людей наиграются в это хобби и бросят раньше, чем это произойдёт, единицы добираются до уровня развития, когда им надо на 3 гигагерцах фазу аналогового сигнала сделать менее дрожащей и им это критично и они понимают математически на что это и как влияет (я лично понимаю только отдалённо, не прочувствовав на себе никак).

Не покупайте HackRF - оно такое же 8-битное как RTL-SDR по приёму (ну да, шире полоса), но одновременно принимать и передавать не умеет, плюс стоит примерно столько же, сколько LibreSDR превышающее его по возможностям в разы (но драйверов и народных поделок меньше).

tcpfinhello
()
Ответ на: комментарий от tcpfinhello

Про радиотракт смартфона можно быть уверенным, что по крайней мере на его рабочих частотах (400-2700 МГц) там все сделано правильно. В этом плюс этого проекта перед свистком за 1500. И стоить на барахолке такой телефон должен каких-то сопоставимых денег. Правда дальше надо предпринять дополнительные телодвижения. Сделать тот самый hardware mod, зашить новую прошивку и только после этого можно писать алгоритмы чего-нибудь. В случае с свистком ничего этого не надо. Просто подключил в ноут и погнал. Но в телефоне есть еще пучок разных датчиков, что добавляет возможностей. Например трех осевой акселерометр дает возможность прикинуть направление на сигнал просто покрутив его в руках

cobold ★★★★★
()
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.