Автор |
Сообщение |
|
Дата: 09 Июл 2023 19:23:49
#
Годный софт, автор также написал Gpredict- трекер спутников, который легко соединяется с gqrx по udp для руления допплером.
GQRX в винде ставится с пакетом Pothos.
|
|
Дата: 10 Июл 2023 01:15:11 · Поправил: vladisslav2011 (10 Июл 2023 02:24:49)
#
Давно сюда не заходил...
sibrat
Эту фичу бы как-то сделать явной и настривающейся через контролы...
Я тоже открыл для себя несколько функций, читая код плоттера :-)
Есть планы написать документацию, но не знаю, когда...
Как насчёт ребейса и каковы вообще перспективы его принятия в мастер? :)
Ребейс сделаю (лучше написать об этом в PR на github). И наверное добавлю упакованные форматы 10/12/14 бит, когда допишу ускоренные версии конвертеров.
Перспективы принятия моих PR в master весьма туманны... Переделка плоттера с добавлением кучи багов и переносом тормозов из одного места в другое для майнтайнера важнее.
Я в значительной мере утратил мотивацию открывать новые PR после удаления поддержки GNU Radio 3.7.
Rebase своего форка пока что не делаю, так как новый плоттер сильно сырой и его похоже придется переделывать так же, как переделывал старый...
Из последнего, что делал, но пока не смержил в свою основную ветку - переделка внутренностей с целью упрощения и ускорения добавления органов управления/настроек/столбцов закладок https://github.com/vladisslav2011/gqrx/tree/ui_builder Последний коммит вероятно выкину, так как с ним сильно замедляется сборка и появляются тормоза при сборке GCC.
Сейчас мучаю RDS декодер https://github.com/vladisslav2011/gqrx/tree/rds_decoder (GNU Radio 3.7 only)
Удалось приблизиться к RDS Spy. Цель - результаты не хуже, чем в HDSDR.
Сейчас использую Gqrx как-то так: [Видео YouTube - нажмите для просмотра] |
Реклама Google
|
|
|
Дата: 29 Июл 2023 02:23:46 · Поправил: vladisslav2011 (29 Июл 2023 02:50:26)
#
sibrat
У меня несколько иное мнение о том, что накатили в мастер. Далеко не все там полезное и правильное. Но некоторые интересные идеи есть.
Перенес свою ветку для теста: https://www.youtube.com/watch?v=UVjdbRlZQXg - скорость отрисовки из файла упала, так что вероятно откачу часть изменений, если буду снова переносить свою основную ветку на master
Обновил все PR. Предлагаю потестировать и сообщить на гитхабе, если будет падать или неправильно работать. |
|
Дата: 14 Авг 2023 22:34:52
#
|
|
Дата: 19 Мар 2024 18:22:50
#
Вижу, тут все крутые знатоки. Зато наверное я один уникальный юзер, который крутит Gqrx на андроидной TV-приставке :-)
Так что просьбочка подсказать - есть ли для Gqrx плагины, например, для декодирования DMR и т.д.? В OpenWebRX таких много, но Gqrx удобнее в использовании. По офсайту конечно лазил, но подобных плагинов не нашел.
|
|
Дата: 19 Мар 2024 22:03:45
#
Плагины не предусмотрены архитектурой.
Можно форкнуть и дописать желаемый функционал, как делаю я. Лицензия позволяет.
Для декодирования DMR можно использовать DSD. В моем форке есть возможность выводить звук каждого VFO на отдельное устройство, так что можно запускать несколько копий DSD и слушать параллельно несколько каналов.
Каким образом вообще получилось собрать под андроид?
Или на андроиде запускается X-server и картинка выводится на него?
|
|
Дата: 19 Мар 2024 22:59:43 · Поправил: A48 (19 Мар 2024 23:01:05)
#
Можно форкнуть и дописать желаемый функционал, как делаю я.
Так это ж уметь надо :=) , а я не из этих, пользуюсь лишь готовыми продуктами.
Интересно, если можно делать форк с нужными фичами, и это умеете вы, то почему создатели Gqrx не сделают его сразу со всеми нужными фичами, так сказать, на все случаи жизни?
Каким образом вообще получилось собрать под андроид
Под андроид, конечно, ничего не собирал, получилось иначе: сначала Gxrx ганял на Малинке-3, но она слабовата для 6 МГц.
Но у меня еще есть андроидная 6-ядерная TV-приставка, Малинке по производительности далеко до нее.
Вот на нее и удалось установить Manjaro ARM, и получился отменный компактный десктоп.
А затем глянул в ее репы, может, там и Gqrx есть? Точно, чья-то добрая душа собрала свеженькую версию! Ну а дальше вам все понятно.
Что приятно, вся эта конструкция вместе с Airspy на 6 МГц потребляет от розетки всего каких-то 6-7 Вт, можно ганять месяцами без ущерба для бюджета, причем можно одновременно скрин-грабером записывать водопад со звуком в риалтайме, Малинкам до всего этого далековато будет.
|
|
Дата: 20 Мар 2024 01:00:06
#
почему создатели Gqrx не сделают его сразу со всеми нужными фичами, так сказать, на все случаи жизни?
Создатель отошел от дел. А у текущего майнтайнера нет ни времени, ни желания.
Но можете зайти на github в issues, поискать там желаемые фичи, если найдется, оставить свой комментарий, если не найдется, создать запрос фичи. Может и сработает...когда-нибудь.
Некоторые фичи конфликтуют друг с другом, другие непонятно, как реализовать не переделывая всей архитектуры. Так что всего, что хочется, не будет.
Хотя сейчас какая-то активность наблюдается. Похоже будет починен упоминавшийся здесь баг с пропуском команд по remote control.
Вот на нее и удалось установить Manjaro ARM
Ясно. Под нормальным дистрибутивом да еще и версия из репозитория.
Airspy на 6 МГц потребляет от розетки всего каких-то 6-7 Вт
6MHz (8MSps, так?) это ни о чем. Хотя AirSpy R2 с его DDC может создать нагрузку и при такой полосе...
У меня ноут с HackRF потребляет примерно столько же на 20MSps...
скрин-грабером записывать водопад со звуком
Я раньше тоже писал водопад, но потом открыл для себя запись IQ, дописал сжатые форматы, перерисовку водопада на паузе и наслаждаюсь возможностью рассматривать каждый сигнал из захваченного участка с разными параметрами FFT, проигрывать с разными настройками и т.д.
|
|
Дата: 20 Мар 2024 16:13:49
#
6 МГц это я так, упрощенно, если точно, то это частота сэмплирования в обычном Airspy. В нем их две - 3 и 6.
Есть недокументированная 10 МГц, но работает крайне нестабильно.
Я раньше тоже писал водопад, но потом открыл для себя запись IQ, ....
Можете здесь раскрыть подробности вашего ноу-хау, чтобы повторить?
А то кроме того, что IQ это показатель уровня интеллекта, больше о нем ничего не знаю :-)
И еще наткнулся на этот VOLK. Насколько понял, он может быть использован в Gqrx, как-то оптимизируя его работу. |
|
Дата: 20 Мар 2024 18:15:03
#
Можете здесь раскрыть подробности вашего ноу-хау, чтобы повторить?
Так в этой теме вроде все есть. Читайте. Как раз несколькими постами выше ссылка на PR.
Если будете накладывать поверх master и не справитесь с конфликтами, пишите в PR (на английском) или сюда, поправлю.
И еще наткнулся на этот VOLK
libvolk - библиотека разных функций для DSP с SIMD оптимизациями. Рекомендую прогнать volk_profile (однократно по возможности без фоновой нагрузки) - может немного упасть нагрузка на процессор.
|
|
Дата: 20 Мар 2024 21:26:37
#
Так в этой теме вроде все есть. Читайте. Как раз несколькими постами выше ссылка на PR.
Тему я сразу прочел, но только она не для средних умов, а для крутых знатоков, о чем и написал выше.
Мне бы простое понятное хавту, чтобы не задумываясь, пошагово выполнить его и получить необходимый результат.
|
|
Дата: 21 Мар 2024 01:47:22
#
Да вроде все должно быть просто.
Если при слиянии вылезут конфликты, придется немного поработать головой и поизучать исходники.
Ни Arch, ни Manjaro не пользовался, но судя по https://gitlab.archlinux.org/archlinux/packaging/packages/gqrx/-/blob/main/PKGBUILD gqrx собирается так
pacman -Sy gcc-libs glibc hicolor-icon-theme libvolk qt6-base qt6-svg boost cmake gnuradio gnuradio-osmosdr libpulse git
git clone https://github.com/gqrx-sdr/gqrx
cd gqrx
mkdir build
cd build
cmake ..
make -j7
После этого можно запустить только что собранное (из каталога gqrx/build)
src/gqrx
Если все нормально соберется и заработает, можно поэкспериментировать с PR (в команде git clone подставляем адрес ветки из PR, дальше все так же)
Можно в один репозиторий надергать много разных веток командой git fetch или git pull, потом переключаться между ними командой git checkout, собирать, тестировать. Потом можно сдеать свою ветку git checkout -b mybranch, надергать в нее нужных коммитов из других веток git cherry-pick собрать, протестировать и так далее
Когда захочется собрать результат в пакет прочитать https://wiki.archlinux.org/title/Arch_build_system_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) |
|
Дата: 21 Мар 2024 16:30:22
#
vladisslav2011
Спасибо большое!
Наверное, для начала лучше собрать в виртуальной Manjaro, и если соберется, пробовать на реальной ARM.
|
|
Дата: 22 Мар 2024 21:58:10 · Поправил: A48 (22 Мар 2024 21:58:22)
#
vladisslav2011
А вы неплохо разбираетесь в незнакомой вам Манжаро :-)
Почти все ваши команды прошли, только в первой строке нужно заменить gcc-libs на gcc
И еще далее не прошла команда -
cmake ..
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
Тут я и сам не знаю, что делать...
|
|
Дата: 23 Мар 2024 19:35:12 · Поправил: vladisslav2011 (23 Мар 2024 19:39:18)
#
Тут же все вроде ясно. Не установлен GNU Make.
pacman -Sy make
Или лучше тогда
pacman -Sy base-devel
Вдруг я еще что-то забыл. Я просто предполагал, что базовое окружение для сборки уже настроено...
По поводу CMAKE_C_COMPILER not set - вероятно нужно было перелогиниться после установки gcc или обновить переменные окружения, но можно явно указать чем компилировать
cmake -DCMAKE_C_COMPILER=`which gcc` -DCMAKE_CXX_COMPILER=`which g++` ..
|
|
Дата: 23 Мар 2024 22:39:47 · Поправил: A48 (23 Мар 2024 23:50:37)
#
Тут же все вроде ясно. Не установлен GNU Make.
Ясно знатокам, я же точно следую по указаниям из хавту :=)
В итоге собралось, запустилось, получилась версия 2.17.4-21.
Но приемник оно не распознало, и это не удивительно - виртуалка, от нее чего можно угодно ожидать -
./gqrx
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.10.9.2
built-in source types: file rtl rtl_tcp uhd hackrf bladerf rfspace airspy soapy redpitaya
rx_nb_cc :info: set_min_output_buffer on block 12 to 32768
Resampling audio 96000 -> 48000
BandPlanFile is /home/user/.config/gqrx/bandplan.csv
BookmarksFile is /home/user/.config/gqrx/bookmarks.csv
Теперь можно бы попробовать собрать его на ARM, но возникает вопрос, который пока не очень понял - что даст эта ваша сборка по сравнению со стандартным Gqrx?
Сжатие водопада, или еще что-то?
Ради интереса запустил в стандартном Gqrx запись водопада по IQ.
При сэмпле 6 МГц запись длительностью в 1 минуту заняла 1.1 GB.
Это означает, что на винте 4 TB длительность записи займет, если не перепутал, аж 2.8 суток.
|
|
Дата: 24 Мар 2024 00:45:18
#
Но приемник оно не распознало
В виртуалку можно пробросить USB устройство, правда тут есть нюансы.
Можно вместо виртуалки собрать в chroot, но там будут нюансы с puseaudio...
что даст эта ваша сборка по сравнению со стандартным Gqrx?
Если собрать например мой форк, то будет
1. multi VFO (можно на авиа мониторить все интересные частоты, попадающие в полосу и при желании автоматически писать в аудиофайлы по squelch), FFT channelizer, позволяющий принимать >100 каналов одновременно даже на ноутбуке
2. Буферизация при записи/воспроизведении IQ для уменьшения пропусков на SMR HDD.
3. Сжатые форматы IQ, в том числе упакованные 10/12/14 бит - можно писать на медленные диски/экономить место.
4. Обрезка IQ - можно вырезать интересные моменты (прохождение например) и сохранять в архив.
5. Быстрый просмотр IQ на водопаде на паузе с переключением между файлами для навигации по архиву - это нужно просто попробовать.
6. Вывод потоков с демодуляторов в отдельные аудиоустройства для DSD/JAERO и прочих внешних декодеров.
7. Скоро наверное будет улучшенный декодер RDS (сейчас довольно близко к RDS Spy, цель - сделать лучше)
Может быть что-то пропустил. Надо смотреть по истории коммитов.
Планирую сделать еще кучу всего: специальные демодуляторы: narrowband rejector, PLL-driven spur rejector, AM phase-based splitter, FM magnitude-based splitter, data демодуляторы: CW, FT8, PSK31, RTTY, FAX, SSTV и так далее, цифровые audio демодуляторы DMR, p25 и т.д., video демодуляторы: TV-analog, FPV, DVB, демодулятор для нарезки спектра на полосы и т.д. Но пока что валяюсь с температурой и вяло ковыряю базу для логирования и старые записи IQ.
При сэмпле 6 МГц запись длительностью в 1 минуту заняла 1.1 GB.
Как-то не сходится. 6*8*60=2880Mb
В 10bit IQ будет 6*20/8*60=900Mb
|
|
Дата: 24 Мар 2024 02:12:30
#
Как-то не сходится
Да, никак не могу посчитать, на сколько хватит диска на 4 ТБ, заблудился в трех соснах :=)
А как вам этот проект ? Зацените, плиз.
пока что валяюсь с температурой и вяло ковыряю базу для логирования и старые записи IQ.
Поправляйтесь! :-) |
|
Дата: 24 Мар 2024 03:10:34
#
на сколько хватит диска на 4 ТБ
В случае обычного Gqrx
4*1000*1000/8/6=83333.33 s = 23.15 h
Даже не сутки не хватит.
С патчами и записи в 8bit IQ:
4*1000*1000/2/6=333333.33 s = 92.6 h = 3.86 d
С патчами и записи 10bit IQ:
4*1000*1000/20*8/6 = 266666.66 s = 74 h = 3 d
Я бы писал в 10bit - хороший компромисс между динамическим диапазоном и размером файлов, но несовместимо ни с чем...
этот проект
SDR++ собирал, не понравилось управление, некоторые особенности разработки и архитектура как DSP, так и вообще. Да и политика автора в отношении PR не радует (вы все делаете не так, времени на review нет, пишите issue, сделаю сам, но не знаю, когда, так как времени нет).
Можно конечно и над SDR++ поработать, но писать по второму разу то, что уже сделал в Gqrx, попутно правя архитектуру желания никакого.
|
|
Дата: 25 Мар 2024 00:39:10 · Поправил: A48 (25 Мар 2024 00:49:08)
#
Да и политика автора в отношении PR не радует
Тут вы правы. Попробовал установить SDR++, свежак, месяц прошло - sdrpp_debian_bookworm_amd64.deb
И что же? Хотя в нем уже есть варианты сжатия потока IQ, но выбор каталога для записи файла косячный - кнопка ... не работает, а ручной набор пути ничего не дает, файл всегда пишется в /root -
Не заметить такой злобный косяк.... тут я автора не понимаю.
В случае обычного Gqrx
4*1000*1000/8/6=83333.33 s = 23.15 h
Даже не сутки не хватит.
Попробовал практически записать поток с Gqrx 2.17.4 + Manjaro ARM + GT-King + Airspy
Запись IQ с частотой сэкплирования 6 МГц длительностью 1 час заняла на диске 172.9 ГБ.
Интерполировав на 4 ТБ, получаем 23 часа 13 минут - копейка в копейку по вашим расчетам :=)
Если собрать например мой форк, то будет
1. multi VFO (можно на авиа мониторить все интересные частоты, попадающие в полосу и при желании автоматически писать в аудиофайлы по squelch), FFT channelizer, позволяющий принимать >100 каналов одновременно даже на ноутбуке
2. Буферизация при записи/воспроизведении IQ для уменьшения пропусков на SMR HDD.
3. Сжатые форматы IQ, в том числе упакованные 10/12/14 бит - можно писать на медленные диски/экономить место.
4. Обрезка IQ - можно вырезать интересные моменты (прохождение например) и сохранять в архив.
5. Быстрый просмотр IQ на водопаде на паузе с переключением между файлами для навигации по архиву - это нужно просто попробовать.
6. Вывод потоков с демодуляторов в отдельные аудиоустройства для DSD/JAERO и прочих внешних декодеров.
7. Скоро наверное будет улучшенный декодер RDS (сейчас довольно близко к RDS Spy, цель - сделать лучше)
Может быть что-то пропустил. Надо смотреть по истории коммитов.
Планирую сделать еще кучу всего:
Это будет более, чем фанастика :=) Желаю удачи и жду с нетерпением! |
|
Дата: 25 Мар 2024 00:55:47 · Поправил: vladisslav2011 (25 Мар 2024 00:58:37)
#
Вы наверное запускаете SDR++ под root (или через sudo). Так делать не следует - возможны всевозможные странные глюки и повреждение конфигурационных файлов (права слетают).
Фантастика это про пункты 1..7 или про запланированное?
Если про 1..7, то 1..6 уже готовы и активно используются. Собирайте https://github.com/vladisslav2011/gqrx/tree/master , пользуйтесь. Если что не так, пишите, попробую поправить.
Если же про запланированное, то тут пока что ничего сказать не могу. Не раньше, чем закончу с RDS (на метеорах уже лучше RDS Spy, на тропо, пока что хуже) |
|
Дата: 25 Мар 2024 01:23:28
#
Вы наверное запускаете SDR++ под root (или через sudo).
Под юзером, конечно.
Если про 1..7, то 1..6 уже готовы и активно используются.
Это грандиозно! Значит, надо менять название Gqrx на новое. Например, на Gqrx-gen2 и т.п. :=)
PS. Кстати, чтобы не забыть - в стандартном Gqrx 2.17.4 то ли баг, то ли это в принципе неисправимо -
- когда при записи меняешь диапазон, например, с двойки на семидесятку, то частота вверху не меняется, и не понятно, где вообще находишься.
|
|
Дата: 25 Мар 2024 18:17:09 · Поправил: A48 (25 Мар 2024 19:03:37)
#
И похоже, нашел еще один косяк, на этот он проявил себя в стандартных 2.15.9 / Intel / Debian и 2.17.4 / S922x / Manjaro ARM.
Когда он долго работает, около часа или несколько часов, водопад зависает и получается такая картина:
Т.е. шумовая дорожка и водопад замерли как вкопанные.
При этом IQ не записывал, звук тоже, а просто слушал эфир.
И поскольку железо, ОС и версия Gqrx совершенно разные, то может что-то делаю не так?
Раньше такого фефекта никогда не встречалось. и вот опять... |
|
Дата: 25 Мар 2024 19:38:12
#
надо менять название Gqrx на новое
Может быть когда добавлю работу на передачу, переименую свой форк в Gqtrx :-)
когда при записи меняешь диапазон
Есть такое. Блокировать возможность изменения аппаратной настройки в процессе записи в своем форке оставил, так как при мониторинге спутников-низколетов с подстройкой частоты от gpredict получаются хорошие записи без допплера, так что это нужно.
А вот возможность изменения центральной частоты при воспроизведении я убрал, так как это происходит случайно, сбивает шкалу частот, убирается только перезапуском воспроизведения.
водопад зависает и получается такая картина
Если в момент зависания водопада пропал звук, то это отвал USB устройства. Проверяйте кабели.
Еще похожий эффект с одновременно запинающимся звуком может быть связан с низкой точностью частоты кварца звуковой карты и SDR. Звук постепенно убегает и буфер переполняется/опустошается. Надо будет исправить добавлением adaptive resampler в audio sink, но сделать это на так просто, как кажется...
|
|
Дата: 25 Мар 2024 23:06:46 · Поправил: A48 (25 Мар 2024 23:07:06)
#
Если в момент зависания водопада пропал звук, то это отвал USB устройства. Проверяйте кабели.
Может и так. Спасибо, что напомнили, а то совсем разленился - включил Airspy через толстый синий кабель (пока не дошли руки до его переделки) в HUB.
HUB. правда, хороший, из старых, на чипе NEC, никогда не подводил. Но поскольку получилась длинная гирлянда, возможно, поэтому и траблы.
Ваш проект пока не запускал, жду приятеля, который его опакетит, а то не люблю засорять отлаженную систему отходами компиляциями.
|
|
Дата: 25 Мар 2024 23:43:41
#
Так можно же не ставить. Прекрасно работает из каталога сборки. Это же не SDR++ со всякими плясками с подготовкой каталога запуска и регистрацией плагинов. Сам постоянно только так и пользуюсь. Параллельно стоит Gqrx из пакета и не мешает.
Единственно что - если пользуетесь закладками, сделайте резервную копию .config/gqrx/bookmarks.csv на всякий случай.
Текущая версия пишет закладки в корректный csv файл .config/gqrx/bookmarks2.csv так что конфликта вроде как быть не должно, но вдруг захочется собрать какую-то еще ветку из моего форка, где это еще не так.
|
|
Дата: 25 Мар 2024 23:46:35
#
В смысле не ставить, кого?
|
|
Дата: 26 Мар 2024 00:08:00 · Поправил: vladisslav2011 (26 Мар 2024 00:24:16)
#
Gqrx не ставить.
git clone https://github.com/vladisslav2011/gqrx/
cd gqrx
mkdir build
cd build
cmake ..
make -j7
src/gqrx
Потом запускать так:
gqrx/build/src/gqrx
Для удаления просто удалить каталог gqrx. В систему ничего не ставится. Ни одной команды под root не выполняется :-)
Если первая команда скажет, что такой каталог уже есть, то нужно его удалить
rm -rf ./gqrx
+не проверил команды. Поправил.
В принципе, если есть склонированный официальный репозиторий, то можно сделать так:
cd gqrx
git checkout -b fft_channelizer
git fetch https://github.com/vladisslav2011/gqrx/
git reset --hard FETCH_HEAD
mkdir -p build ; cd build
cmake ..
make -j7
src/gqrx |
|
Дата: 26 Мар 2024 00:28:05
#
Хорошо, а как бы это всё тоже самое и под Debian установить?
Поставлю и туда, и сюда, а потом может еще и под Малину :-)
|
|
Дата: 26 Мар 2024 00:37:19
#
Под Debian отличается только установка зависимостей для сборки:
sudo apt-get build-dep gqrx-sdr
sudo apt-get install git
Все остальное для установки из git не меняется.
|
Реклама Google |
|