Как контролировать пропускную способность в OFDM с помощью GNURadio - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь смоделировать сигнал OFDM 802.11 в полосах пропускания 20/40/80 и 160 МГц с помощью GNURadio, начиная с примера ofdm_tx.grc .

Используя этот пример, я могу легко сгенерировать сигнал 20 МГц, просто увеличив частоту выборки до 20M. Однако мне нужна помощь в создании режимов с более высокой пропускной способностью.

Насколько я понимаю, ширина полосы определяется количеством поднесущих в сигнале, а также частотой дискретизации. Дальнейшие исследования показали, что для моделируемого канала 802.11n 40 МГц я должен использовать:

  • длина фута: 128
  • Количество поднесущих: 114
  • Частота дискретизации: 40 МГц

Наряду с изменением этих переменных я изменил значения busy_carriers, pilot_carriers и пилот-символов следующим образом:

occupied_carriers = (range(-57,-51) + range(-50,-21) + range(-20,-7) + range(-6,0)+range(1,7)+range(8,21) + range(22,50) + range(52,57),)
pilot_carriers = ((-51,-21,-7,7,21,51),)
pilot_symbols = ((1, 1, 1, -1,1,1),)

Я также удалил sync_words из блока ofdm_carrier_allocator.

После этих изменений я получаю выходной сигнал шириной 40 МГц, но он больше напоминает форму 802.11b (более гауссовский, чем квадратный), как видно из этого изображения .

Очевидно, я упускаю что-то важное, но я не смог понять, что.

Чтобы уточнить, меня не волнует отправка данных, Я просто хочу выдать сигнал правильной формы и ширины полосы . Кроме того, для вывода сигнала я сначала использую пример кода для записи данных в файл, а затем записываю этот файл непосредственно в USRP x300 (UBX-160) с использованием gnuradio.

Буду очень признателен за любую помощь или разъяснение о процессе модуляции OFDM. Спасибо.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Я знал, что упускаю что-то простое.

После быстрого обсуждения списка рассылки usrp-users я получил ответ от Маркуса Д. Лича, мне нужно проверить данные в цифровой форме, прежде чем отправлять их в usrp.

http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/2018-May/056519.html

Добавив рациональный ресамплер в потоковую диаграмму перед записью данных в файл, я увеличил частоту дискретизации с 40 до 100 мс / с. Тогда X300 смог произвести красивый сигнал 40 МГц.

0 голосов
/ 10 мая 2018

Вы на правильном пути - занятая полоса пропускания системы OFDM - это просто полная полоса пропускания, определяемая частотой дискретизации.

Таким образом, 40 мс / с даст полосу пропускания 40 МГц.

Для правильной формы спектра, то есть для правильного разнесения поднесущих и поведения боковых лепестков, вам также придется удвоить число поднесущих (которое в OFDM является просто длиной (I) DFT / (I) FFT).) и измените маску канала так, чтобы центральная несущая и, что наиболее важно, правильное количество краевых несущих все еще не использовались.

Это, конечно, означает, что вам также потребуется большее количество символов данных на символ OFDM.

Теперь вы явно не видите того, что хотите видеть - и это даже очень похоже на аналог, происходящий там.Чтобы исключить это, я бы рекомендовал просто взять образцы, которые вы отправили бы в свой USRP, сохранить их в файл и проанализировать их.Если их цифровой спектр правильный, у вас проблемы с оборудованием или измерениями.Мое первое предположение здесь - недоработка, то есть случаи, когда ваш компьютер слишком медленно отправляет данные в USRP, и это приводит к разрыву.

...