Good

LimeSDR

LimeSDR — потужний відкритий SDR трансивер з повним дуплексом та 12-бітним АЦП. Ідеальний для srsRAN та інших LTE проектів.

💡 Чому LimeSDR важливий для UMTC?
LimeSDR — основний SDR для проектів UMTC завдяки: - **Full duplex** — передача та прийом одночасно (необхідно для LTE) - **12-біт АЦП** — кращий динамічний діапазон ніж HackRF - **MIMO** — 2x2 на USB версії - **Відкритий** — hardware + software повністю відкриті
flowchart TB
    subgraph lime["LimeSDR"]
        ANT_RX["📡 RX Antenna"]
        ANT_TX["📡 TX Antenna"]
        LMS["LMS7002M<br/>RF Transceiver"]
        FPGA["FPGA<br/>Altera MAX 10"]
        USB["USB 3.0"]
    end

    subgraph pc["Комп'ютер"]
        LIME_SUITE["LimeSuite"]
        GNURADIO["GNU Radio"]
        SRSRAN["srsRAN"]
    end

    ANT_RX --> LMS
    LMS --> ANT_TX
    LMS <--> FPGA
    FPGA <--> USB
    USB <--> LIME_SUITE
    USB <--> GNURADIO
    USB <--> SRSRAN

    style lime fill:#d1fae5

Огляд

Версії

Модель Частоти Ширина TX/RX Ціна
LimeSDR USB 100 кГц - 3.8 ГГц 61.44 МГц 2x2 $300
LimeSDR Mini 10 МГц - 3.5 ГГц 30.72 МГц 1x1 $150
LimeSDR Mini 2.0 10 МГц - 3.5 ГГц 40 МГц 1x1 $200

Характеристики LimeSDR Mini

Параметр Значення
Чіп LMS7002M
ADC/DAC 12 біт
Потужність TX до 10 dBm
Інтерфейс USB 3.0
FPGA Altera MAX 10
Режим Повний дуплекс

Переваги

  • 12-біт (vs 8-біт у HackRF)
  • Full duplex
  • 2x2 MIMO (USB версія)
  • Широка підтримка софту
  • Відкритий hardware

Встановлення

Linux

# PPA для Ubuntu
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo apt update
sudo apt install limesuite limesuite-udev

# Або з джерел
git clone https://github.com/myriadrf/LimeSuite.git
cd LimeSuite
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
sudo ldconfig

Перевірка

# Виявлення пристрою
LimeUtil --find

# Інформація
LimeUtil --info

# Тест
LimeQuickTest

Калібрування

# GUI калібрування
LimeSuiteGUI

# Або CLI
LimeUtil --make --force

LimeSuite GUI

Запуск

LimeSuiteGUI

Основні вкладки

Вкладка Функція
Modules Вибір чіпа
TRX Board Загальні налаштування
SXT/SXR Частота TX/RX
TxTSP/RxTSP Цифрова обробка
TBB/RBB Аналогові фільтри
TRF/RFE RF frontend
FFT viewer Спектр

Базове налаштування

1. Options  Connection Settings  Connect
2. Modules  Activate channel A/B
3. SXR  Frequency  100 MHz
4. RFE  Enable
5. Chip  Calibrate

GNU Radio

Встановлення gr-limesdr

git clone https://github.com/myriadrf/gr-limesdr
cd gr-limesdr
mkdir build && cd build
cmake ..
make
sudo make install
sudo ldconfig

Приклад flowgraph

#!/usr/bin/env python3
from gnuradio import gr, blocks, analog
import limesdr

class lime_rx(gr.top_block):
    def __init__(self):
        gr.top_block.__init__(self)

        # LimeSDR джерело
        self.source = limesdr.source(
            device_number=0,
            device_serial='',
            filename=''
        )
        self.source.set_sample_rate(2e6)
        self.source.set_center_freq(100e6)
        self.source.set_gain(30)

        # FM демодулятор
        self.demod = analog.wfm_rcv(
            quad_rate=2e6,
            audio_decimation=10
        )

        # Аудіо вихід
        self.sink = audio.sink(48000)

        self.connect(self.source, self.demod, self.sink)

Soapy SDR

Встановлення

sudo apt install soapysdr-module-lms7

Використання

import SoapySDR

# Виявлення
results = SoapySDR.Device.enumerate()
print(results)

# Підключення
sdr = SoapySDR.Device(dict(driver="lime"))

# Налаштування
sdr.setSampleRate(SoapySDR.SOAPY_SDR_RX, 0, 2e6)
sdr.setFrequency(SoapySDR.SOAPY_SDR_RX, 0, 100e6)
sdr.setGain(SoapySDR.SOAPY_SDR_RX, 0, 30)

# Прийом
rxStream = sdr.setupStream(SoapySDR.SOAPY_SDR_RX, SoapySDR.SOAPY_SDR_CF32)
sdr.activateStream(rxStream)

buff = np.array([0]*1024, np.complex64)
sr = sdr.readStream(rxStream, [buff], len(buff))

Практичні проекти

LTE базова станція (srsRAN)

# Встановлення srsRAN
sudo apt install srsran

# Конфігурація enb.conf
[rf]
device_name = lime
device_args = rxant=LNAW,txant=BAND2

# Запуск
sudo srsenb enb.conf

GSM (Osmocom)

# osmo-trx-lms
sudo apt install osmo-trx-lms

# Запуск
osmo-trx-lms -i 127.0.0.1

LoRa gateway

# Встановлення
git clone https://github.com/myriadrf/LoRa-SDR

# Налаштування для LimeSDR

DVB-T передавач

gnuradio-companion → DVB-T TX flowgraph
Частота: UHF TV (тільки для тестів!)
Модуляція: OFDM

MIMO (LimeSDR USB)

Налаштування

# Два канали одночасно
sdr.setSampleRate(SoapySDR.SOAPY_SDR_RX, 0, 10e6)  # Channel A
sdr.setSampleRate(SoapySDR.SOAPY_SDR_RX, 1, 10e6)  # Channel B

sdr.setFrequency(SoapySDR.SOAPY_SDR_RX, 0, 2.4e9)
sdr.setFrequency(SoapySDR.SOAPY_SDR_RX, 1, 2.4e9)

Застосування

  • Beamforming
  • Direction finding
  • Diversity reception
  • MIMO дослідження

Оптимізація

Calibration

# Повне калібрування
LimeSuiteGUI  Chip  Calibrate All

# Або CLI
LimeUtil --cal

Sample Rate

USB 3.0: до 61.44 MSPS
USB 2.0: до 10 MSPS

Рекомендовано:
- Тестування: 2-10 MSPS
- Продакшн: 20-40 MSPS

Температура

- Активне охолодження при TX
- Моніторинг через LimeSuiteGUI
- Thermal throttling при перегріві

Troubleshooting

Пристрій не виявляється

# Перевірити USB
lsusb | grep 0403

# Перевірити firmware
LimeUtil --update

Низька продуктивність

1. Використовувати USB 3.0
2. Зменшити sample rate
3. Закрити інші програми
4. Перевірити охолодження

Помилки калібрування

1. Перевірити антену
2. Відключити зовнішні сигнали
3. Перезапустити пристрій
4. Оновити firmware

TX не працює

1. Перевірити ліцензію!
2. Увімкнути PA
3. Перевірити частоту
4. Калібрувати TX

Пов'язані теми

  • SDR Overview — огляд SDR пристроїв
  • HackRF — альтернативний SDR
  • USRP — професійна SDR платформа
  • srsRAN — LTE стек на SDR
  • srsENB — налаштування eNodeB

Шлях: sdr/limesdr.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications