RTL-SDR&Matlabпрограммное программное обеспечение Определение радио (1)
RTL-SDR&Matlabпрограммное программное обеспечение Определение радио (1)

Взгляните на эту книгу: «Программно-определяемая радиосвязь с использованием MATLAB Simulink и RTL-SDR». В этой статье в основном говорится о настройке и тестировании среды.

Адрес загрузки: https://ww2.mathworks.cn/campaigns/offers/download-rtl-sdr-ebook.html.

Очевидно, используются Matlab и RTL-SDR. Аккаунт на Taobao можно купить за более чем 30 юаней для Matlab.

Попробуйте купить импортные RTL-SDR. Я пробовал два разных отечественных RTL-SDR. Их можно использовать в другом ПО, но Матлаб их не распознает. В итоге я неохотно купил дорогую импортную. Нет, она легко распозналась.

После загрузки Matlab найдите RTL SDR в дополнительных функциях и установите его, затем нажмите «Управление».

Если драйвер не установлен, вам будет предложено использовать Zadig для установки драйвера. Затем проверьте соединение, если устройство можно найти.

Или напрямую введите команду: sdrinfo в командной строке, чтобы проверить, можно ли ее распознать.

В то же время в Simulink должен быть модуль RTL SDR. Выберите Simulink и создайте его случайно.

Вы можете увидеть это в браузере библиотеки. Это приемник RTL-SDR. Это параметризованный интерфейс, который может отправлять значения выборки RTL-SDR в Simulink в реальном времени.

Добавьте rtlsdr_book_library из вложения в путь

Затем посмотрите в браузере библиотеки Simulink, чтобы узнать, есть ли книжная библиотека RTL-SDR. Если нет, обновите ее.

После открытия прикрепленного файла intro\rtlsdr_rx_startup_simulink.slxc измените центральную частоту на 433,92 МГц, и вы сможете принимать сигнал 433,92 МГц.

Нажмите «Выполнить» выше, чтобы запустить его. Найдите пульт дистанционного управления 443 RF и нажмите на него, чтобы увидеть изменение на диаграмме спектра.

Затем взгляните на rtlsdr_rx_startup_matlab.m. Это код Matlab, который сначала устанавливает набор параметров RTL-SDR.

Язык кода:javascript
копировать
rtlsdr_id           = '0';          % RTL-SDR ID
rtlsdr_tunerfreq    = 433.92e6;     % RTL-SDR tuner frequency in Hz
rtlsdr_gain         = 25;           % RTL-SDR tuner gain in dB
rtlsdr_fs           = 2.4e6;        % RTL-SDR sampling rate in Hz
rtlsdr_frmlen       = 4096;         % RTL-SDR output data frame size
rtlsdr_datatype     = 'single';     % RTL-SDR output data type
rtlsdr_ppm          = 0;            % RTL-SDR tuner parts per million correction
sim_time            = 60;           % simulation time in seconds

Затем были созданы некоторые объекты

Язык кода:javascript
копировать
% rtl-sdr object            Используйте RTL-SDRобъект, установите параметры, как написано ранее.
obj_rtlsdr = comm.SDRRTLReceiver(...
    rtlsdr_id,...
    'CenterFrequency', rtlsdr_tunerfreq,...
    'EnableTunerAGC', false,...
    'TunerGain', rtlsdr_gain,...
    'SampleRate', rtlsdr_fs, ...
    'SamplesPerFrame', rtlsdr_frmlen,...
    'OutputDataType', rtlsdr_datatype ,...
    'FrequencyCorrection', rtlsdr_ppm );

% spectrum analyzer objects  Были использованы два анализа спектра: один в формате БПФ, другой в каскадном формате.
obj_specfft = dsp.SpectrumAnalyzer(...
    'Name', 'Spectrum Analyzer FFT',...
    'Title', 'Spectrum Analyzer FFT',...
    'SpectrumType', 'Power density',...
    'FrequencySpan', 'Full',...
    'SampleRate', rtlsdr_fs);
obj_specwaterfall = dsp.SpectrumAnalyzer(...
    'Name', 'Spectrum Analyzer Waterfall',...
    'Title', 'Spectrum Analyzer Waterfall',...
    'SpectrumType', 'Spectrogram',...
    'FrequencySpan', 'Full',...
    'SampleRate', rtlsdr_fs);

Объем данных в одном кадре делится на частоту дискретизации для управления временем выполнения моделирования.

Язык кода:javascript
копировать
rtlsdr_frmtime = rtlsdr_frmlen/rtlsdr_fs;

Посредством моделирования мониторинг осуществляется с соответствующей частотой, а достигаемый эффект соответствует Simulink.

Язык кода:javascript
копировать
% check if RTL-SDR is active Сначала проверьте, можно ли использовать устройство RTL-SDR.
if isempty(sdrinfo(obj_rtlsdr.RadioAddress))
    error(['RTL-SDR failure. Please check connection to ',...
        'MATLAB using the "sdrinfo" command.']);
end

% reset run_time to 0 (secs)  время инициализации
run_time = 0;

% run while run_time is less than sim_time   Пока текущее время не превышает установленное, оно будет продолжать работать.
while run_time < sim_time
    
    % fetch a frame from the rtlsdr     RTL-SDR получает кадр данных о прибытии и сохраняет его в существующем rtlsdr_data.
    rtlsdr_data = step(obj_rtlsdr);
    
    % update spectrum analyzer windows with new data
    % Воля rtlsdr_data 更新приезжать obj_specfft и obj_specwaterfall
    step(obj_specfft, rtlsdr_data);
    step(obj_specwaterfall, rtlsdr_data);
    
    % update run_time after processing another frame  время работы
    run_time = run_time + rtlsdr_frmtime;
    
end

Тюнер R820T, используемый RTL-SDR, может принимать диапазон от 25 МГц до 1,75 ГГц. Переключите рабочий каталог на: Spectrum и откройте файл Explore_the_spectrum.slx. С помощью этого примера вы можете наблюдать диаграммы спектра различных сигналов.

Центральную частоту можно настроить через графический интерфейс. Текущая центральная частота RTL-SDR составляет 99 МГц, а частота дискретизации установлена ​​на 2,8 МГц. Таким образом, диапазон выборки RTL-SDR составляет от 99-1,4 до 99+. 1.4, также Даже от 97,6 МГц до 100,4 МГц будет захватываться RTL-SDR.

После настройки центральной частоты нажмите «Начать моделирование», чтобы начать анализ радиочастотных сигналов. Мы проанализируем эти сигналы позже. Предпосылка анализа заключается в том, что эти сигналы необходимо настроить на центральную частоту. Например, есть два очевидных сигнала. в настоящее время отображается около ±1, поэтому, установив центральную частоту ±1, одну из частот сигнала можно установить в качестве центральной частоты.

Конечно, нужна некоторая доработка

Другим параметром является усиление. Короче говоря, усиление — это коэффициент усиления. Следует отметить, что увеличение усиления может привести к увеличению шума по мере увеличения требуемого сигнала.

В книге на этом примере представлены характеристики спектра некоторых распространенных сигналов (сигналы FM-радио, сигналы сотовых телефонов 2G, 3G, 4G, сигналы беспроводных датчиков 433 МГц, сигналы цифрового телевидения). Однако, поскольку руководство написано из-за границы, существует пробел. в диапазонах частот, некоторые из которых не имеют соответствующих частот в Китае.

Я поискал в Интернете отечественные частоты и заметил, что некоторые формы сигналов очень похожи на описанные в книге, но не знаю, так ли это, посмотрю на них позже, когда буду анализировать сигналы.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.