Рассказ строится на одной цели - показать работу системы WiMAX. Но чтобы продолжить хочу вспомнить основные параметры и особенности стандарта IEEE 802.16.
  Характеристики стандарта:
-дальность действия:до 50 километров;
-зона обслуживания: расширенные возможности работы вне прямой видимости позволяют улучшить качество покрытия обслуживаемой зоны; частота: от 2 ГГц до 11 ГГц;
-спектральная эффективность: до 5 бит/сек/Гц;
-максимальная скорость передачи данных на сектор: до 70 Мбит/с на сектор одной базовой станции (типовая базовая станция имеет до 6 секторов);
-широкая зона покрытия: расширенные возможности работы вне прямой видимости, большее количество конечных пользователей сможет получать высокоскоростной беспроводной доступ в Интернет;
  В прошлой статье говорилось о “системе на кристалле”,  т.е. о преобразовании сигнала в цифровую форму и наоборот, но не рассказывалось подробно про варианты построения архитектуры.
  Базовая модель сети WiMAX (БМ) - логическое представление сетевой архитектуры, которая рассматривает набор стандартных логических функциональных модулей и стандартных интерфейсов, устройств прм (Рисунок 1).  
Три основных элемента:
-множество абонентских станций (МС);
-совокупность сетей доступа (сервисная сеть доступа, ASN) - множество базовых станций беспроводного доступа по стандарту IEEE 802.16 и шлюзов для связи с транспортной IP-сетью (т.е. с локальной или глобальной сетью передачи информации), где шлюзы – устройства соединения БС всех ASN;
-совокупность сетей подключения (CSN) - сеть оператора WiMAX, именно в ней реализуются функции управления авторизацией, аутентификацией и доступом , подключение абонентов WiMAX к глобальным IP-сетям, предоставление услуг, как IP-телефония, доступ к тлф сетям общего пользования, доступ в Интернет;
                                                                      Рисунок 1. Базовая модель WiMAX-сети
  Через базовые точки (R1–R8) происходит соединение функциональных модулей. Сеть ASN принадлежит провайдеру сети доступа (NAP) – организации, предоставляющей доступ к радиосети сервис-провайдеров WiMAX. В свою очередь,сервис-провайдер WiMAX – организация, предоставляющая IP-соединения и услуги WiMAX конечным абонентам. В рамках данной модели уже сервис-провайдеры WiMAX заключают соглашения с Интернет-провайдерами, операторами других сетей доступа, соглашения о роуминге.
  Теперь о главном...
  WiMAX-сканер                                                                                                                                                                                     Это модель по созданию непростого многоуровнего цифрового радиоустройства. Разработчиками была поставлена цель создания сканера с открытым исходным кодом WiMAX приемника, т.е. ключ для раскодирования  информация будет известен и любой желающий может использовать. Главное это способность сканера захватить от мобильного передатчика WiMAX 802.16e данные, что называется “прямо из воздуха” и декодировать их в последовательность битов. Это достаточно трудный проект и основной задачей видимо будет реализация PHY-уровня мобильного WiMAX передатчика, чтобы полностью открытым исходным кодом произвести передачу с помощью модема для мобильного приёмника WiMAX.
  Работы форума WiMAX-сканер  http://code.google.com/p/wimax-scanner/ предоставляют для демострации модели функциональных узлов PHY Wimax, выполненные в среде Matlab. Вся модель, в общем развитии, позволяет обрабатывать реальный сигнал Wimax, записанный в двоичный файл в виде потока IQ выборок символов Wimax.
                                   Рисунок 2. Модель передачи WiMAX сигнала, реализованную в среде Matlab
  На форуме говорят о свободной реализации проекта, без всяких готовых чипов WiMAX, используя СДР (Software Defined Radio) подход на основе персонального компьютера.
  В качестве первого шага будет выполняться DSP обработки в автономном режиме на Linux (операционная система)/x86, но этот код не был запущен еще, поэтому результаты предоставить не возможно. Планируется использовать USRP N200/N210 WiMAX для захвата сигнала, а затем обрабатывать его на х86 в автономном режиме.  Ettus Research USRP помогает инженерам в разработки и реализации мощных, гибких систем радио программного обеспечения.
                                Рисунок 3. Принцип построения приёмной и передающей стороны системы
  Рассмотрим какие блоки используются в среде Matlab на передающей стороне:
1) Рандомизация (randomizer), или случайный отбор, используется для создания простых случайных выборок. Такая выборка основывается на предположении, что каждый представитель популяции с равной вероятностью может попасть в выборку, в данном случае это набор бит;
2) Блок кодера. Кодирование сообщение осуществляется блоком Integer-Input RS Encoder. Входной вектор (N, K) преобразуется с помощью использования кода Рида-Соломона - циклический код, позволяющий исправлять ошибки в блоках данных. Integer-Input принимает входной столбец вектора сигнала с элементами, кратными числу K. Каждая группа элементов K есть одно сообщение, которое и требуется закодировать. Каждый символ должен иметь значение (log2(N+1)) бит.
                                                                      Рисунок 4. Построение Block Encoder
3) Свёрточный кодер -  корректирующий ошибки код. Принцип известен всей специальности, напомним, что кодер имеет память, на каждом такте работы кодера k символов входной последовательности преобразуются в n > k символов выходной и далее в преобразовании также участвуют m предыдущих символов;
4) Перемежитель  - фундаментальный компонент помехоустойчивого кодирования, предназначен для борьбы с пакетированием ошибок, использующий перемешивание (перемежение) символов передаваемой последовательности на передаче и восстановление её исходной структуры на приёме;
5) В так называемом устройстве “картопостроитель” или Mapper определяется вид модуляции;
                                                                  Рисунок 5. Построение блока Mapper IQ
6) OFDM Modulator (Orthogonal Frequency-Division Multiplexing) - схема цифровой модуляции – ортогональное частотное мультиплексирование. Покажем различные функциональные стадии WiMAX PHY:  
  Первое - FEC (система исправления ошибок), т.е. происходит передача избыточной информации. Включает в себя кодирования каналов, скорость согласования, чередование.
  Второе - реализация OFDM символа в частотной области. На этом этапе данные отображаются на соответствующих подканальных уровнях, где экспериментальные символы наклыдываются на поднесущую частоту, что позволит приемнику отследить информацию в канале.
  Третье - окончательный набор функций, связывающие преобразование OFDM символа из частотной области во временную и ,как результат, конечный итог - аналоговый сигнал, который может передаваться по воздуху.
  Аналогичные компоненты существуют и в приемнике, но конечно же в обратном порядке, чтобы расшифровать последовательность в передаваемой информации.
  Я решил не выкладывать бессмысленную схему Modulator из Matlab в виде фотографии, а покажу функциональную схему этапа OFDM и приведу написание программы с форума Scaner для её реализации.
                                                                  Рисунок 6. Функциональные этапы PHY
  На рисунке 5 выходы обратного быстрого преобразования Фурье обозначаются блоком IFFT. Шаги рандомизации данных и кодирование каналов уже пройдены. Ещё было вычитано, что максимальное количество подканалов в блоке FEC зависит от канала схемы кодирования и модуляциисозвездия, что в принципе и закономерно.
  Так, давайте подумаем, что важно показать в программируемом исполении...
  Честно скажу, когда зашёл на форум даже заблудился, но в списке всех элементов есть файл  README.txt, который указал на самые важные документы:
-do_2647.m - главный декодирования файл, который призывает все другие файлы/функции к соответствующему порядку;
-WiMAX_tests.m - набор тестов, с использованием тестовых векторов из 802.16-2009;
-WiMAX_prbs_test.m – тест для PRBS поднесущей рандомизации, используя тест вектор 802.16-2009.
  Последний m–файл на самом деле не сложен. В нём записывается длина, последовательность бит и сдвиг, т.е. он скорее нужен, чтобы программе было с чем работать.  WiMAX_test.m http://code.google.com/p/wimax-scanner/source/browse/matlab/WiMAX_tests.m и do_2647.m http://code.google.com/p/wimax-scanner/source/browse/matlab/do_2647.m представляют основные преобразования и огромные числа для кодирования с последующей модуляцией и демодуляцией.
Файл исполнения сверточного кодирования (блок 3 на рисунке 3):
Refer to "8.4.9.2.1 Convolutional coding (CC)" of IEEE 802.16-2009for
details.
--восмеричное представление данных
G1 =171;%1+D+D^2+D^3+D^6
G2 =133;%1+D^2+D^3+D^5+D^6
constLen =7
--ограничение длины
rateInv =2
--скорость кода 
-- матрица сверточного кода, определяющаяся числами G1 и G2
convCode = poly2trellis(constLen,[G1 G2]);
Run
the traceback over the whole block
tbLen = length(data)/rateInv;
--в конце программы ставится задача декодирования
decoded = vitdec([data' ; data'], convCode, tbLen,'trunc', type);
decoded = decoded(tbLen+1:end,1);
  В итоге - передатчик получает от перемежителя (чередователя) комплексные системы QAM-символов, формирует сигнал с частотой БПФ-процессора, осуществляет отображение символов QAM в OFDM-сигнал, модулирует пилот-сигнал (также изображён на рисунке 5, параметры которого известны на приёмной стороне), расставляет циклические префиксы,генерирует преамбулу, производит коррекцию смещения по частоте и сглаживание во времени. Пилотные несущие вводятся в состав OFDM-символа с целью обеспечения на принимающей стороне возможности синхронизации сигнала и оценки характеристик канала передачи. Пилотные несущие составляют около 9% от общего количества несущих.
Написание главных строк файла пилот-сигнал:
-- начальные параметры устанавливаются в нулевые значения
Refer to "8.4.6.1.2.1 Symbol structure for PUSC" and "8.4.9.4.3Pilot
modulation" of IEEE 802.16-2009for details.
params.pilot_shifted = zeros(2, params.N_pilot_sc);
params.pilot = zeros(2, params.N_pilot_sc); 
-- в зависимости от того, какой сигнал подаётся на вход, принимается решение использовать нечетные или же другие коэффициенты расчёта 
Odd 
t =[93:14:512514:14:933;105:14:512526:14:933];
params.pilot_shifted(1,:)= reshape(t,params.N_pilot_sc,1);
t =[2:14:421605:14:1023;14:14:421617:14:1023];
params.pilot(1,:)= reshape(t,params.N_pilot_sc,1);
Even
t =[97:14:512518:14:933;101:14:512522:14:933];
params.pilot_shifted(2,:)= reshape(t,params.N_pilot_sc,1);
t =[6:14:421609:14:1023;10:14:421613:14:1023];
params.pilot(2,:)= reshape(t,params.N_pilot_sc,1);
clear t;
 Кстати условие выбора указываетя и в файле поднесущей рандомизации:
Generate
subcarrier_rand_seq_mod
gen_subcarrier_prbs
sym_derand = zeros(N_sym, params.N_fft);
for sym_n =1:
N_sym
    sym_pilots = mod(sym_n,2)+1;
Plot pilots before de-randomization (blue) and after (red).
After de-randomization all pilots should be positive.
-- в блоке дерандомизации все пилоты должны быть положительными
 Последней, самой интересной программой m-файла является "Технический обзор и оценка производительности", она наиболее понятна для перевода и характеризует те параметры, результат которых важен в исследовании разработчиков:
--примитивные
параметры
Params . N_fft = 1024 ;
Params . BW = 10E6 ;  --величина
Params . N = 28 / 25 ; --передискретизация
Params . G = 1 / 8 ; --число интервалов
--количество подканалов
Params . N_subchannels = 30 ;
--количество
данных поднесущих в каждый символ из подканалов
Params . N_sc_per_subchannel = 24 ;
--permutationBase6 ( для 6 подканалов )
Params . PermutationBase6 = [ 3 , 2 , 0 , 4 , 5 , 1 ];
--permutationBase4 ( для 4 подканалов )
Params . PermutationBase4 = [ 3 , 0 , 2 , 1 ];
--количество повторений для
FCH
Params . FCH_repetitions = 4 ;
 --производные
параметры
 
% Params . Fs = 11265000 ; --выборки
частоты
Params . deltaF = Params . Fs / Params . N_fft ; --поднесущей
интервал
Params . Tb = 1 / Params . deltaF ; -- временя символа ,
секунд
Params . Tg = Params . Tb * Params . G ;   --циклический префикс длины ,
секунд
Params . Ц. = Params . Tb + Params . Tg ;  --полный символ OFDMA времени ,
секунды
--производных параметров (второго порядка)
Params . Tb_samples = круглый ( Params . Tb * Params . Fs ); --полезного времени символ ,
образцы
Params . Tg_samples = круглый ( Params . Tg * Params . Fs ); --циклического префикса длины ,
образцы
Params . Ts_samples = круглый ( Params . Ц. * Params . Fs ); --полного символа OFDMA время , образцы
  Как результат работы - это спектр OFDM-сигнала передатчика. Суммарная мощность спектральной плотности модулированных несущих ячеек данных равна сумме мощностей спектральной плотности всех несущих.
                                                                     Рисунок 7. Спектральный анализ WiMAX
Рисунок 8. Сигнальное созвездие сигнала без предмодуляционной фильтрации и радиус разброса точек
  Диаграмма сигнального созвездия непрерывно во времени показывает перемещение сигнальной точки на фазовой плоскости , отображает положение в основных точках принятия решения для каждого символа. С помощью созвездия производится оценка ошибки фазы и амплитуды анализируемого сигнала в этих точках. В этом примере, как видно, было рассмотрено созвездие QPSK, но на самом деле возможны и 16 QAM или 64 QAM созвездие, которые определены в стандартах системы.
Advanced Design System
является ведущим электронным программным обеспечением автоматизации проектирования высокоскоростных цифровых приложений, которое было разработано компанией Agilent Technologies.
ADS – мощная платформа автоматизации разработки электронных устройств. Она предлагает полную интеграцию разработки для разработчиков таких устройств, как сотовые и портативные телефоны, беспроводные сети, радары и спутниковые коммуникационные системы. Сейчас ADS обеспечивает потребности разработчиков быстродействующих цифровых устройств с технологией моделирования достоверности сигнала. Систему ADS можно настроить для ответственных приложений и проектирования потоков данных от ВЧ микросхем и плат до СВЧ схем и элементов прямой/цифровой обработки сигналов. Все программные пакеты проектирования совместно используют общую базу данных, интерфейс пользователя и отображение данных. Гибкая структура системы ADS позволяет начинать с предварительно сконфигурированных программных пакетов и добавлять требующиеся возможности.
На официальном сайте AgilentTechnologies существует возможность скачивания последний обновлений приложений и быстрый запуск примеров программ моделирования. Рассмотрим один из таких вариантов, а именно «About WiMax Connected Solutions», система на базе IEEE 802.16-2004. Из-за высоких требований к компьютерной системе реализации проекта, будут показаны только основные моменты.
Проект показывает, что ADS позволяет клиентам контролировать определения сигнала и выбор измерения:
-генерации сигналов управления, сигнал OFDM;
-сигнал выбора измерения, спектр мощности, CCDF, и ЭВМ.
Рисунок 9. Подсети моделей
Четыре подсети моделей в этой конструкции верхнего уровня соответствуют четырем моделирования конструкций (каждая конструкция описана в последующих разделах):
-WiMax_OFDM_DL1_to_ESG для генерации сигнала;
-WiMax_OFDM_DL1_Wav для сигнала тестов, включая CCDF (CCDF-измерения предоставляют статистическую информацию, показывающую процент времени, которое мгновенная мощность сигнала превышает средний уровень мощности на заданное количество дБ);
-WiMax_OFDM_DL1_Spec для спектра испытаний;
-WiMax_OFDM_DL1_EVM для ЭВМ испытаний.
Ключевые параметры тестового сигнала:
-величина для определения пропускной способности системы,на основе стандарта IEEE 802.16-2004 стандартной эти полосы поддерживаются: 1,25 МГц, 1,5 МГц, 1,75 МГц, 2,5 МГц, 2,75 МГц, 3 МГц, 3,5 МГц, 5 МГц, 5,5 МГц, 6 МГц, 7 МГц, 10 МГц, 11 МГц, 12 МГц, 15 МГц, 14 МГц, 15 МГц, 20 МГц, 24 МГц и 28 МГц.
-Rate_ID указывает данные модуляции и тип канального кодирования.В таблице перечислены параметры Rate_ID 802.16d, связанные с кодированием и модуляцией. Например, для типа модуляции Rate_ID = 3, определяется 16-QAM и общая скорость кодирования равна 1 / 2.
Rate_ID
Модуляция RS-CC
0
BPSK 1 / 2
1
QPSK 1 / 2
2
QPSK 3 / 4
3
16-QAM 1 / 2
4
16-QAM 3 / 4
5
64-QAM 2 / 3
6
64-QAM 3 / 4
7-15
(Не используется)
Рисунок 10. Создание тестового сигнала
Рисунок 11. WiMAX OFDM и каналы передачи данных
Сигнал начинается с длинной преамбулы, который используется для синхронизации. Длина преамбулы включает в себя два OFDM-символа: 4x64 и 2x128 последовательности.
Рисунок 12. Спектральный анализ
Среда ADS проще для моделирования физического уровня, так как в отличие от версии Matlab, насколько стало ясно, формирование происходит по отдельному блочному уровню и возможно легче изменить параметры каждого блока, не лазая в подсистемы.
Много элементов осталось без определения, однако задачей было показать, что работа системы возможна и при реализации ее в других программных условиях.
  Прочитав про информационную систему реального времени РАВИС, основанную на OFDM модуляции были выделены некоторые общие принципы работы с системой WiMAX, о которых было рассказано выше. Сама система РАВИС уникальна, позволяет осуществлять информационное звуковое стереовещание и видеовещание как в случае стационарного приема, так и при расположении приёмника в движущемся транспорте, в районе сложного рельефа. Система обеспечивает передачу цифрового информационного потока в
узкополосном канале с шириной полосы 100, 200 и 250 кГц. Но это уже совсем другая история...
  Список литературы:
1) http://www.lastmile.su/pdf/1_2009/1725.pdf (Архитектура сети WiMAX)
2)http://code.google.com/p/wimax-scanner/ (WiMAX-сканер и загрузки с форума разработчиков)
3) Модель WiMAX IEEE 802.16e, реализованная в Matlab. Адрес для скачивания находится в разделе форума самостоятельной работы моей темы, http://sspof.atott.ru/viewtopic.php?f=4&t=22
4) официальный сайт  Agilent Technologies http://edocs.soco.agilent.com