Скиммер на свистках?
Скиммер на свистках?
В личке спрашивали состояние проекта.
На данный момент добавлен конфиг файл, поправлены кое-какие ошибки.
Все приёмники получают продублированный поток с первого приёмника.
Для децимации используется усреднение сэмплов, что не очень правильно.
Если ктото может помочь с быстрым алгоритмом для децимации, посчитать коэффициенты для фильтра, это бы очень помогло.
Т.к. я в цифровых фильтрах плохо разбираюсь.
Нужна децимация с такими коэффициентами: 1:32; 1:16; 1:8; 1:4
Выкладываю текущую версию. Чтобы было меньше вопросов, драйвер для RTL положил сразу в архив.
Т.е. под Windows можно просто распаковать и запускать.
Работать должно на всех системах от WinXP до Win10, как x86, так и x64.
Под Linux нужно установить пакеты mono-devel и librtlsdr-dev.
Запускать под Linux так:
Звук работает только под Windows.Код:mono hpsdrServ.exe
В файле hpsdrServ.exe.config можно менять настройки:
"netBind" - это сетевой интерфейс, который будет принимать подключения. Для всех интерфейсов можно указать маску: 0.0.0.0
"sndUseSound" - "True" для включения звука
"rtlIndex" - номер RTL донгла в системе (нумерация от 0)
"rtlFrequencyShift" - Сдвиг частоты. Это значение будет добавляться к частоте, которую прислала программа. Удобно для того чтобы послушать 145 МГц в cuSDR. Ставим 100000000 и в cuSDR 45.300 МГц будет соответствовать 145.300 МГц.
"rtlFrequencyCorrecti on" - Коррекция частоты кварца [ppm]
"rtlUseRtlAgc" - "True" для включения RTL AGC
"rtlUseTunerAgc" - "True" для включения tuner AGC
"rtlTunerGain" - усиление (например 29.7) [dB]. Если усиление не поддерживается программа выдаст предупреждение, с указанием ближайших доступных усилений. Будет использоваться наиболее близкое к заданному усиление.
Добавлено через 24 минут(ы):
Приём FM 145.300 МГц на cuSDR с помощью RTL2832 донгла и hpsdrServ (rtlFrequencyShift=1 00000000):
Последний раз редактировалось alex_m; 12.09.2017 в 02:54.
Спасибо от 0_W_L
да, там что-то есть, но непонятно что именно, т.к. никаких комментов или описания нет.
Все это обильно перемешано в лапшу, выковыривать алгоритм (который еще не факт что хорошо работает) неохота.
Хочется готовый алгоритм с описанием где-то найти. Из того, что нашел, понял, что есть много вариантов, все они зависят от условий. А я не понимаю какой лучше для моего случая подойдет
Наскоком теорию одолеть не вышло, мозги закипают
А в какую сторону копать - нужно разбираться, поэтому и попросил помочь.
Последний раз редактировалось alex_m; 12.09.2017 в 05:53.
alex_m, я не спец в ЦОС, но наверное нужно реализовать самый простой и самый эффективный фильтр - полуполосовой, на выходе брать каждый второй отсчет, это будет децимация на два. Потом готовый сигнал опять пропустить через такой же фильтр, получим на 4 и так далее.
Рассчитать можно с помощью разных прог , например WinFilter или онлайн, но я потерял ссылку.
пс. вот вроде оно http://t-filter.engineerjs.com/
это все конечно познавательно. многоканальный скиммер на 6 или 7 свистках продемонстрировал N1GP года три назад, и код давно написал для этого. свистки надо сажать на один общий стабильный опорник, и нормальный ФНЧ, иначе они кто в лес кто по дрова. качество "скимминга" получается ниже среднего, не годится для практических целей.
с его проекта все и началось. Я его хотел опробовать. Но он оказался заточен под линукс.
Собрать под win после некоторых модификаций удалось, но естественно без звука (т.к. звук там только под ALSA для linux).
Однако с cuSDR проект работать не захотел. Вот тогда и стало интересно разобраться с протоколом.
На данный момент мой вариант без перекомпиляции работает под windows, linux и macos.
Но звук только под windows (используется DirectSound). Позже попробую переписать под OpenAL.
Чтобы звук на всех платформах работал.
Добавить поддержку других девайсов вместо rtl не проблема.
Сейчас загвоздка с фильтром для ресамплера. Без качественного фильтра приём плохой будет.
Тут вроде надо полифазные фильтры применять. Но я не знаю как их расчитать.
Если правильно понял, тут люди пользуются в основном готовыми инструментами, которые на выходе дают сразу код для ПЛИС.
Вобщем надо разбираться.
имхо вы придете к выводу, что свисток слишком ущербный для сносного приема на КВ, и ему уже ничего не поможет. скиммер будет генерить левые споты на неправильных частотах из-за гемора с частотой дискретизации, дисбалансом I/Q и плавающим опорником. но полученные знания пригодятся в других проектах.
а вот у нас есть какие то платки для установки точного задающего генератора в RTL SDR, разница с оригинальным приемником - как "земля и небо":
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)