LimeSDR
LimeSDR — потужний відкритий SDR трансивер з повним дуплексом.
Огляд
Версії
| Модель |
Частоти |
Ширина |
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
Запуск
Основні вкладки
| Вкладка |
Функція |
| 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