Добро пожаловать на гит моей домашки по проектированию сетей wi-fi!
Привет, Никита!В данном ридми файле будут описаны параметры, передаваемые в функцию TxRx() и краткий отчет по работе каждой из других функций, вызываемых в ней.
Название параметра | Возможные значения |
---|---|
Hz | 20, 40 |
N_BPSCS | 4, 16, 64 |
inp | последовательность из нулей и единиц |
Scrambler_seq | последовательность из нулей и единиц длиной 7 чисел |
demap_type | "soft", "hard", "aprox" |
scrambler()
и unscrambler()
Функции На самом деле эти две функции абсолютно одинаковые и используют одну и ту же инициализирующую последовательность для скрэмблинга и дескрэмблинга, так как в основе скрэмблинга лежит операция исключающее или, а операция обратная для исключающего или - исключающее или с той же последовательностью!
interleaver()
и deinterleaver()
Функции В основе интерливинга лежит запись одномерного массива в двумерный с размерностью, зависящей от созвездия для маппинга, далее считывание полученного массива в одномерный по столбцам двумерного. Если длина входной последовательности меньше, необходимой для составления двумерного массива, то я забиваю ее нулями, ты сказал на семинаре, что так можно. Для деинтерливинга используется почти тот же самый алгоритм, только я везде поменял столбцы и строки местами.
manipulate()
и demap()
Функции Значение для параметра N_BPSCS |
Используемое созвездие |
---|---|
4 | QPSK |
16 | 16QAM |
64 | 64QAM |
Значение для параметра demap_type |
Тип демаппинга |
---|---|
"hard" | hard демаппинг |
"aprox" | approximation демаппинг |
"soft" | soft демаппинг |
OFDM_modulation()
и OFDM_demodulation()
Функции Согласно стандарту в зависимости от праметра Hz создается одномерный массив длиной 64 или 128 комплексных чисел, 52 и 120 из которых информационные, остальные - значения на пилотных подчастоты и нулевые значения.
BBC_encoder()
Функция Тут я оправдываюсь, что она не вызывается в функции TxRx(), так как мне не хватило способностей реализовать Витерби декодер, также сам кодер реализован без выкалывание, поскольку я словил небольшое выгорание, пытаясь понять, как можно реализовать Витерби декодер :(