О авторе

Зовут меня Игорем, живу я в Нижнем Новгороде. Увлекаюсь радиолюбительством.
Решил завести этит блог по причине острой нехватки информации о GnuRadio на русском.

О авторе: 27 комментариев

  1. Мгер

    Здравствуйте Игорь. Можете помоч с проблемой, которая у меня возникла при создании протокола передачи информации. У меня из железа 2 шт Ettus Research USRP N210.
    Я хочу сделать самый простой протокол передачи: например PSK модуляцию.
    Тут мои наработки: http://1drv.ms/1Smeho2.
    И у меня не получается на железе получить какой нибудь положительный результат. Думаю возможная проблема из за погрешности генератора частоты.
    http://courses.washington.edu/ee420/projects/lab1_gnuradio.pdf — тут нашел описание как с этим справляются. Но результат не изменился. Возможно я не понял чего то. Любая информация совет для меня много значит.
    Спасибо!

  2. mgnt001

    Игорь, ты молодец!!!
    Ты выполняешь прекрасную работу. Я думаю благодаря тебе многие люди узнают то, что они ищут. Продолжай производить качественные материалы по исследуемой тематике.

  3. Наргиза

    Здравствуйте Игорь, спасибо за вашу работу! Очень интересно. Подскажите пожалуйста, какая разница между Ubuntu и Windows для работы с GNURadio? Я пока изучаю GNURadio на ноутбуке и не соединяю устройство.
    Вы знакомы с приёмником от фирмы Ettus модель USRP e100?
    Если да то не подскажете как настроить параметры (или можете дать ссылочку с подробной информацией) какие схемы надо на GNURadio составить чтобы работал как передатчик и приёмник?
    Буду признательна если сделаете примеры с Eye Diagramm

    Спасибо большое!

  4. oleg

    Здравствуйте. подскажите как программировать в GnuRadio если я хочу создать свой блок а не использовать стандартные или его нет в библиотеке математических функций.

  5. Влад

    Спасибо за работы!

    Необходима организация модема (без TCP,но с CRC) на нестандартных частотах (400-1300Мгц) с пропускной способностью 1-2мб/с,связь двухсторонняя.
    1)На GNUradio такое возможно поднять?
    2)Какие платы стоит рассматривать,на что обратить внимание?

    1. Igor Автор записи

      Добрый день, спасибо, стараюсь 🙂
      1) Думаю да, возможно.
      2) Выбор один — USRP, ибо только он имеет FullDuplex.

  6. Алексей

    Доброе время суток.
    Хотелось бы разобраться с таким вопросом.
    Скачал Ubuntu со встроенным GNU radio. поставил на виртуальную машину.
    И заметил — все созданные файлы эта система не сохраняет.
    Если кто может помочь — заранее признателен!

    1. Igor Автор записи

      Довольно странно. Какая виртуальная машина?
      Вы точно установили систему, а не просто запустили с LiveDVD?

      1. Алексей

        Доброе время суток.
        ОС (реальная) — Виндоус 8 (х64). Виртуальная машина — VM ware Workstation 10.0.
        Насчет запуска, наверно происходит запуск с LiveCD, хотя я пытался именно установить систему.
        Виртуальный диск получился размером — около 4 Мб.
        У меня есть еще одна система Ubuntu 16.04. Её ставил точно также, как и предыдущую. Вирт. диск получился около 4 Гб. И все прекрасно.

        1. Igor Автор записи

          Похоже почему-то система действительно запустилась в LiveCD режиме. Образ диска ну никак не может быть 4 Мб.

  7. Александр

    Здравствуйте Игорь, спасибо за вашу работу! Может вы знаете про проект Openwebrx? Очень хороший проект, сервер запустился с полпинка, все работает просто замечательно. В качестве приемника самый простой китайский донгл на Generic RTL2832U.
    Я его использую чтобы мониторить всего одну частоту с SSB на КВ. Но уж очень большая полоса приема, мне надо его уменьшить до 25 кГц. И хотелось бы увеличить разрешение по частоте со 100 до 10 Гц. Я писал Андрашу, создателю проекта, с подобным вопросом, он мне посоветовал изменить две строки в конфиге, но ничего не получилось, (ошибок не выдает, но звук идет маленькими кусочками с большими перерывами)
    Вот так он мне посоветовал:
    start_rtl_command=»rtl_sdr -s {samp_rate} -f {center_freq} -p {ppm} -g {rf_gain} — | csdr convert_u8_f | csdr fir_decimate_cc 10 0.03″.format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm)
    format_conversion=»»

    Я пытался менять конфиг по всякому, но ничего не добился и совсем запутался. Может поможете?

    1. Igor Автор записи

      Хм, с этим проектом никогда не работал. Но штучка интересная.
      По вашему вопросу. Видимо разрешение по частоте изменяется применением децимации сигнала в 10 раз. «csdr fir_decimate_cc 10»

      А можете привести обычный конфиг, и то что Андраш посоветовал?

  8. Александр

    Да, конечно:
    config_webrx.py

    # -*- coding: utf-8 -*-

    «»»
    config_webrx: configuration options for OpenWebRX

    This file is part of OpenWebRX,
    an open-source SDR receiver software with a web UI.
    Copyright (c) 2013-2015 by Andras Retzler

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program. If not, see .

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    In addition, as a special exception, the copyright holders
    state that config_rtl.py and config_webrx.py are not part of the
    Corresponding Source defined in GNU AGPL version 3 section 1.

    (It means that you do not have to redistribute config_rtl.py and
    config_webrx.py if you make any changes to these two configuration files,
    and use them for running your web service with OpenWebRX.)
    «»»

    # NOTE: you can find additional information about configuring OpenWebRX in the Wiki:
    # https://github.com/simonyiszk/openwebrx/wiki

    # ==== Server settings ====
    web_port=8073
    server_hostname=»localhost» # If this contains an incorrect value, the web UI may freeze on load (it can’t open websocket)
    max_clients=20

    # ==== Web GUI configuration ====
    receiver_name=»[Callsign]»
    receiver_location=»Budapest, Hungary»
    receiver_qra=»JN97ML»
    receiver_asl=200
    receiver_ant=»Longwire»
    receiver_device=»RTL-SDR»
    receiver_admin=»example@example.com»
    receiver_gps=(47.000000,19.000000)
    photo_height=350
    photo_title=»Panorama of Budapest from Schönherz Zoltán Dormitory»
    photo_desc=»»»
    You can add your own background photo and receiver information.
    Receiver is operated by: %[RX_ADMIN]
    Device: %[RX_DEVICE]
    Antenna: %[RX_ANT]
    Website: http://localhost
    «»»

    # ==== sdr.hu listing ====
    # If you want your ham receiver to be listed publicly on sdr.hu, then take the following steps:
    # 1. Register at: http://sdr.hu/register
    # 2. You will get an unique key by email. Copy it and paste here:
    sdrhu_key = «»
    # 3. Set this setting to True to enable listing:
    sdrhu_public_listing = False

    # ==== DSP/RX settings ====
    dsp_plugin=»csdr»
    fft_fps=9
    fft_size=4096
    fft_voverlap_factor=0.3 #If it is above 0, multiple FFTs will be used for creating a line on the diagram.
    samp_rate = 250000
    center_freq = 145525000
    rf_gain = 5 #in dB. For an RTL-SDR, rf_gain=0 will set the tuner to auto gain mode, else it will be in manual gain mode.
    ppm = 0

    audio_compression=»adpcm» #valid values: «adpcm», «none»
    fft_compression=»adpcm» #valid values: «adpcm», «none»

    start_rtl_thread=True

    # ==== I/Q sources ====
    # (Uncomment the appropriate by removing # characters at the beginning of the corresponding lines.)

    # There are guides for setting may different SDR hardware including AirSpy, AFEDRI-SDR, RTL-SDR in direct sampling mode, etc. in the Wiki:
    # https://github.com/simonyiszk/openwebrx/wiki

    # You can use other SDR hardware as well, by giving your own command that outputs the I/Q samples… Some examples of configuration are available here (default is RTL-SDR):

    # >> RTL-SDR via rtl_sdr

    start_rtl_command=»rtl_sdr -s {samp_rate} -f {center_freq} -p {ppm} -g {rf_gain} -«.format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm)
    format_conversion=»csdr convert_u8_f»

    #start_rtl_command=»hackrf_transfer -s {samp_rate} -f {center_freq} -g {rf_gain} -l16 -a0 -q -r-«.format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm)
    #format_conversion=»csdr convert_s8_f»
    «»»
    To use a HackRF, compile the HackRF host tools from its «stdout» branch:
    git clone https://github.com/mossmann/hackrf/
    cd hackrf
    git fetch
    git checkout origin/stdout
    cd host
    mkdir build
    cd build
    cmake .. -DINSTALL_UDEV_RULES=ON
    make
    sudo make install
    «»»

    # >> Sound card SDR (needs ALSA)
    # I did not have the chance to properly test it.
    #samp_rate = 96000
    #start_rtl_command=»arecord -f S16_LE -r {samp_rate} -c2 -«.format(samp_rate=samp_rate)
    #format_conversion=»csdr convert_s16_f | csdr gain_ff 30″

    # >> /dev/urandom test signal source
    #samp_rate = 2400000
    #start_rtl_command=»cat /dev/urandom | (pv -qL `python -c ‘print int({samp_rate} * 2.2)’` 2>&1)».format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate)
    #format_conversion=»csdr convert_u8_f»

    # >> Pre-recorded raw I/Q file as signal source
    # You will have to correctly specify: samp_rate, center_freq, format_conversion in order to correctly play an I/Q file.
    #start_rtl_command=»(while true; do cat my_iq_file.raw; done) | csdr flowcontrol {sr} 20 «.format(sr=samp_rate*2*1.05)
    #format_conversion=»csdr convert_u8_f»

    # >> gr-osmosdr signal source using GNU Radio (follow this guide: https://github.com/simonyiszk/openwebrx/wiki/Using-GrOsmoSDR-as-signal-source)
    #start_rtl_command=»cat /tmp/osmocom_fifo»
    #format_conversion=»»

    # ==== Misc settings ====

    shown_center_freq = center_freq #you can change this if you use an upconverter

    client_audio_buffer_size = 5
    #increasing client_audio_buffer_size will:
    # — also increase the latency
    # — decrease the chance of audio underruns

    start_freq = center_freq
    start_mod = «nfm» #nfm, am, lsb, usb, cw

    iq_server_port = 4951 #TCP port for ncat to listen on. It will send I/Q data over its connections, for internal use in OpenWebRX. It is only accessible from the localhost by default.

    #access_log = «~/openwebrx_access.log»

    # ==== Color themes ====

    #A guide is available to help you set these values: https://github.com/simonyiszk/openwebrx/wiki/Calibrating-waterfall-display-levels

    ### default theme by teejez:
    waterfall_colors = «[0x000000ff,0x0000ffff,0x00ffffff,0x00ff00ff,0xffff00ff,0xff0000ff,0xff00ffff,0xffffffff]»
    waterfall_min_level = -88 #in dB
    waterfall_max_level = -20
    waterfall_auto_level_margin = (5, 40)
    ### old theme by HA7ILM:
    #waterfall_colors = «[0x000000ff,0x2e6893ff, 0x69a5d0ff, 0x214b69ff, 0x9dc4e0ff, 0xfff775ff, 0xff8a8aff, 0xb20000ff]»
    #waterfall_min_level = -115 #in dB
    #waterfall_max_level = 0
    #waterfall_auto_level_margin = (20, 30)
    ##For the old colors, you might also want to set [fft_voverlap_factor] to 0.

    #Note: When the auto waterfall level button is clicked, the following happens:
    # [waterfall_min_level] = [current_min_power_level] — [waterfall_auto_level_margin[0]]
    # [waterfall_max_level] = [current_max_power_level] + [waterfall_auto_level_margin[1]]
    #
    # ___|____________________________________|____________________________________|____________________________________|___> signal power
    # \_waterfall_auto_level_margin[0]_/ |__ current_min_power_level | \_waterfall_auto_level_margin[1]_/
    # current_max_power_level __|
    # ==== Experimental settings ===

    #Warning! These are very experimental.
    csdr_dynamic_bufsize = False # This allows you to change the buffering mode of csdr.
    csdr_print_bufsizes = False # This prints the buffer sizes used for csdr processes.
    csdr_through = False # Setting this True will print out how much data is going into the DSP chains.

    #Look up external IP address automatically from icanhazip.com, and use it as [server_hostname]
    «»»
    print «[openwebrx-config] Detecting external IP address…»
    import urllib2
    server_hostname=urllib2.urlopen(«http://icanhazip.com»).read()[:-1]
    print «[openwebrx-config] External IP address detected:», server_hostname
    «»»

  9. Александр

    Минимальный samp_rate = 250000

    Ответ Андраша:

    You could try this config:

    samp_rate = 250000
    start_rtl_command=»rtl_sdr -s {samp_rate} -f {center_freq} -p {ppm} -g {rf_gain} — | csdr convert_u8_f | csdr fir_decimate_cc 10 0.03″.format(rf_gain=rf_gain, center_freq=center_freq, samp_rate=samp_rate, ppm=ppm)
    format_conversion=»»

    VY 73!
    Andras

  10. Александр

    Да, с измененным конфигом полоса не меняется, как и было 250 кгц.

  11. Александр

    Кажется я свой первый вопрос задал неправильно, в смысле получить разрешение в 10 гц можно, путем прямого ввода частоты в адресной строке браузера (хотя декодируется не очень точно, с разбросом в 1-4 Гц), просто я думал что с уменьшением полосы можно будет увидеть еще одну значащую цифру на шкале. Конечно здесь дело в жаваскрипте. Тут я уже даже пытаться ничего не буду. Так придется пользоваться, хотя очень неудобно.

    Но уменьшить общую полосу на водопаде очень надо, согласен даже до 10 кГц.

  12. Алексей

    Доброе время суток.
    Уважаемые форумчане, кто может помогите!
    После долго труда наконец удалось поставить и настроить должным образом GNU radio на виндоус (8-ка 64-бит). И тут новая проблема — количество блоков почти в два раза меньше чем в Убунту 12 со встроенным gnu radio. Мне надо GNU radio для работы с HackRF.
    Кто знает, подскажите как загрузить недостающие блоки, именно нужных блоков нету.

  13. Алексей

    Кто имеет опыт работы с HackRF в Windows (8-ка, 10-ка) прошу откликнуться.
    очень надо.

  14. Олег

    Здравствуйте, Игорь. Может у Вас есть рабочий email куда можно задать вопрос с рисунком и т.д.

  15. Sergey

    Как разместить статейку у вас на сайте по установке GNURadio?
    Я уже на этом собаку съел на этом. А вопросы у народа остались
    У вас я видел, но это только 20%. Я себе всегда ставил из исходов под Debian 9.4 и Ununtu 16.04

  16. Дмитрий

    Здраствуйте Игорь. Если Вы хотите поучаствовать в проекте (за щедрое денежное вознагрождение) с использованием GNU Radio, напишите мне на емейл gnuradioprojekt@gmail.com
    С уважением,
    Дмитрий

  17. ivanovgoga

    Игорь, добрый день. Нужен совет, как в виндовсовскую версию гнурадио добавлять блоки например gr-baz https://github.com/balint256/gr-baz . Хочу управлять блоком через внешнюю СДР программу. Но ничего не выходит.

  18. Ivan

    Здравствуйте, ищу человека для разработки программы в Gnu Radio.
    Буду благодарен за ответ или контакт специалиста!

  19. Wladimir

    Здравствуйте Игорь.Не функционирует pcr1000 по неизвестной мне причине, ((
    Ищу соответствующую компетенцию в нн.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *