Показано с 1 по 8 из 8
Like Tree3Likes
  • 3 Post By sergsero

Тема: RTLSDR-Airband - одновременный прием до 8-ми AM каналов

  1. #1
    СуперМодератор
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,335
    В Блоге
    1
    Downloads
    35
    Uploads
    12

    RTLSDR-Airband - одновременный прием до 8-ми AM каналов

    Tony Wong опубликовал программу RTLSDR-Airband для одновременного SDR приема до 8-ми AM каналов на RTL2832 донгл и выдачу их в виде сетевых потоков.

    Ее основные особенности:
    Прием нескольких каналов AM в пределах полосы пропускания. По умолчанию автором использована максимальная 2.56МГц, при которой еще нет потерь семплов.
    Автоматический уровень шумоподавления и автоматическая регулировка усиления
    MP3-кодирование выходных потоков для Icecast или SHOUTcast серверов
    Низкая загрузка процессора на ОС Windows (<4% на i5- 2430M) благодаря применению аппаратных SSE и AVX инструкций
    На Raspberry Pi БПФ выполняется с помощью GPU, что дает ~50-55% загрузки CPU

    Код программы - открытый. Программа собирается как для Windows, так и для Linux.
    Технология получения многоканального приема - общепринятая сейчас для RTL, но есть интересные моменты, которые были протестированы.

    Итак, чтобы собрать транслирующую систему на RTLSDR-Airband + Icecast под Windows:

    1. Качаем архив rtl_airband.zip с готовой программой с сайта автора. Особенность - он собран на Visual Studio 2013, поэтому потребуются библиотеки VC++ 12-й версии. Они устанавливаются пакетом с сайта Microsoft: Распространяемые пакеты Visual C++ для Visual Studio 2013. Используем файл vcredist_x86.exe от 12.10.2013. Просто запустите его на выполнение и согласитесь с предоставлением ему прав Администратора, чтобы установиться в систему.

    2. Распаковываем архив в любую папку. В ней окажутся все необходимые файлы и поддиректория <config>. В ней есть образец файла настроек template.txt. Его описание:
    Код:
    Server hostname (Имя или IP адрес компьютера, где находится Icecast сервер. Если на том же - указываем 127.0.0.1)
    Server port (Номер порта Icecast сервера - по умолчанию указываем 8000)
    Username (На Icecast сервере, по умолчанию указываем: source)
    Password (Пароль для входящих потоков на  Icecast сервер)
    Center frequency in Hz (Центральная частота настройки донгла. Тут немного посчитаем: полоса 2.56МГц - соответственно все ваши каналы должны в нее поместиться. Например, если выбрать 127000000, то мин. нижний канал - 125750000, верхний - 128250000)
    Frequency correction (коррекция частоты)
    Gain x 10 (усиление, причем умноженное на 10, чтобы было целочисленным: 0, ... 280, 297, 338, ... 496)
    Frequency (они же Mountpoint - в виде частота в Герцах_пробел_ее обозначение в потоках)
    ... Repeat 7 more times ... (повторяем все интересующие частоты, каждую с новой строки)
    ... Frequency = 0 to disable ... (восьмой поток не создается и частота выключена)
    Например, файл получился такой approach.txt (пять потоков для пяти частот, а три - выключены):
    Код:
    127.0.0.1
    8000
    source
    ABCDEFGH
    127000000
    -4000
    297
    126900000 126900
    127000000 127000
    127300000 127300
    127800000 127800
    128100000 129300
    0
    0
    0
    3. Далее, устанавливаем Icecast сервер. Качаем с сайта Icecast.org крайнюю версию icecast_win32_2.4.0.zip. Теперь она без установщика (что хорошо ). Распаковываем в любую директорию. В ней образуются поддиректории, нас интересует \etc и в ней файл настроек icecast.xml
    Все, что требуется для первого (простейшего) запуска сервера - изменить значения по-умолчанию на свои в секции <authentication>:
    Код:
    <authentication>
            <!-- Sources log in with username 'source' -->
            <source-password>ABCDEFGH</source-password>
            <!-- Relays log in username 'relay' -->
            <relay-password>ABCDEFGH</relay-password>
    
            <!-- Admin logs in with the username given below -->
            <admin-user>admin</admin-user>
            <admin-password>тут_указать_свой_пароль_для_ВЕБ_администрации</admin-password>
    </authentication>
    4. Запускаем файл icecast.bat и заходим браузером на сервер, введя логин admin и пароль, который только что указали выше в п.3: http://127.0.0.1:8000/admin/

    5. Запускаем программу RTLSDR-Airband из окна командной строки (внимание, расширение и поддиректорию у файла конфигурации не указываем, только его имя): rtl_airband.exe 0 approach и перечитываем страницу http://127.0.0.1:8000/admin/ в браузере. Видим все наши потоки, например, для частоты 127800000 ATIS:
    listenurl http://127.0.0.1:8000/127800.mp3 или используем там же файл: 127800.mp3.m3u. Прослушиваем, например, в VLC, открыв в нем нужный поток http://127.0.0.1:8000/127800.mp3.

    Программа может быть оптимизирована по ряду параметров. Надеюсь, что автор это сделает сам (или найдется время ).
    IC7K, Lector and denzen like this.

  2. Ksuxa ATC

  3. #2
    Профессор
    Регистрация
    10.01.2012
    Город
    Алматы
    Аэропорт
    UAAA
    Flightradar24
    F-UAAR1
    Сообщений
    221
    Downloads
    16
    Uploads
    0
    Здорово! Как раз собираюсь сделать вещалку АТС, но только на малине.
    Вот бы такую же программулю для Малины...

    Upd. Сори не заметил, что есть для RPi! Ну вообще замечательно!

  4. #3
    МегаПрофи
    Регистрация
    21.08.2012
    Город
    Сочи
    Аэропорт
    URSS
    Flightradar24
    T-URSS5, F-URSS1
    Сообщений
    757
    В Блоге
    1
    Downloads
    50
    Uploads
    0
    Что то она под XP пускаться не хочет, ... под 8, ногами но запустилась ... а под XP ... не Win32 приложение
    Новый проект http://vrs-russia.net:65000/VirtualR...rs-russia.html Ждёт Ваши Фиды!

  5. #4
    СуперМодератор
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,335
    В Блоге
    1
    Downloads
    35
    Uploads
    12
    Она собрана автором под Windows7 и выше... Надо пересобирать под XP с набором инструментов Visual Studio 2013 - Windows XP (v120_xp).

    И еще обратите внимание - коррекция не общепринятая в ppm, а в абсолютной ошибке в Гц. PPM (parts per million) - число частей на миллион. т.е. 10е-6. Или 1/10000 %. Эта цифира - относительная, т.е. на частоте 118 МГц +-10 ppm составит +-1180 Гц, а на 136 МГц - соответственно +-1360 Гц. Соответственно, если в SDRSharp вы определили, что для компенсации ошибки генератора требуется, например, +68 ppm - то в этой программе это будет на частоте 127 МГц: 127 x 68 = -8636

  6. #5
    was
    was estб offline
    МегаПрофи
    Регистрация
    17.06.2013
    Город
    Rostov-on-Don
    Сообщений
    450
    Downloads
    22
    Uploads
    0
    Что то слишком заморочено, одна установка всех необходимый фичей чего стоит.
    Да и при частоте дискретизации 2.56М полоса всего 2.56М (128 LSB + 128 USB). А реальный разброс радиочастот различных секторов управления гораздо больше.

  7. Ksuxa ATC

  8. #6
    СуперМодератор
    Регистрация
    29.05.2011
    Город
    Novosibirsk
    Аэропорт
    UNNT
    Сообщений
    2,335
    В Блоге
    1
    Downloads
    35
    Uploads
    12
    В коде, действительно, есть что "поправить" . Плюс в описании на github есть ошибки, но они очевидны и легко устраняются... Принцип конфигурации - видимо особенности восприятия вопроса автором, но понять можно.

    Но, в целом, сделано интересно. Принцип не сканирующего поиска активной частоты, а фиксированная "нарезка" одновременно независимых каналов приема до 8 шт.

    А 2.56 - это ограничение "железа" RTL донгла. И так взяли максимальное, пока еще нет дропания - тут уж ничего не поделаешь... Портируем на Ettus или BladeRF и получаем все 18МГц диапазона разом для восьми частот.

    В linux на "нормальном" компьютере вполне живут несколько экземпляров.

  9. #7
    was
    was estб offline
    МегаПрофи
    Регистрация
    17.06.2013
    Город
    Rostov-on-Don
    Сообщений
    450
    Downloads
    22
    Uploads
    0
    Ну разве, что ставить несколько приемников одновременно, что бы охватить весь диапазон. А это уже нужен хороший комп с хорошей производительностью.
    А сама идея конечно интересная. Все мечтаю, что тоже сделаю что то подобное для трансляции отдельно взятого КВ радиолюбительского диапазона всем желающим (не WEB версию). И что бы ресурсов программа не "жрала" сильно. Технология для этого не сложная, просто надо сесть и поработать. Но всегда появляется что то более интересное или срочно нужное
    И под Linux никак не сяду делать версию своего сканера ("Малооборотистый" приемник-сканер, на SDR-RTL). Кстати подумал, что в Linux надо обязательно делать вывод звукового потока через сеть, на другой комп, где есть звуковая карта. Ведь там где стоит и работает донгл звуковухи может не оказаться. В версии под Windows это тоже сделано, но локально. С донглом у меня работает radio.exe, а озвучивает drv.exe
    Надо drv.exe расположить на любом компе, а в radio.exe направить битрейт на нужный IP адрес и нужный порт (используется протокол UDP)

  10. #8
    МегаПрофи
    Регистрация
    08.04.2016
    Город
    Симферополь
    Аэропорт
    URFF
    Сообщений
    655
    Downloads
    1
    Uploads
    0
    Можно в Airband какой-то шумодав включить, чтобы обрезать шумы ниже определененной амплитуды?

 

 

Похожие темы

  1. Ответов: 168
    Последнее сообщение: 17.08.2015, 12:14
  2. Прием VDL-2
    от Ready в разделе Общий
    Ответов: 5
    Последнее сообщение: 31.12.2013, 00:20
  3. Ответов: 124
    Последнее сообщение: 18.08.2013, 20:31
  4. Прием ADS-B на DVB-донгл под Windows
    от IC7K в разделе Общий
    Ответов: 0
    Последнее сообщение: 28.09.2012, 14:24

Что искали прежде чем попасть на этот форум:

RTLSDR-Airband

RTLSDR Scanner

RTLSDR-Airband win xp

ADSBRADAR.ru

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Powered by vBulletin®
Русский перевод: zCarot
(с) ADSBRADAR.ru 2011-2012
Текущее время: 18:55. Часовой пояс GMT +4.
Skin by CompleteVB
Яндекс.Метрика
Search Engine Optimization by vBSEO