В аппаратном обеспечении обработка всего кадра данных за один раз имеет высокую стоимость в памяти и области. Для экономии ресурсов в конструкциях ЛПВП предпочтительна последовательная обработка. Беспроводные блоки Toolbox™ HDL работают на одной выборке за раз, а не на кадре. Блоки принимают и возвращают данные в виде последовательного потока выборок и управляющих сигналов. Управляющие сигналы указывают границы кадра. Протокол имитирует характеристики реальной системы, включая неактивные интервалы между выборками и кадрами.
Протокол управления использует начальный и конечный сигналы для демаркации каждого кадра и действительный сигнал для указания, какие выборки должны быть обработаны. Протокол потоковой выборки Wireless HDL Toolbox позволяет настроить количество циклов простоя между выборками и между кадрами. Холостые циклы моделируют разрывной характер реальных систем.
Этот протокол позволяет использовать кадры различных размеров, например, если runt или частичные кадры поступают в систему из-за изменений синхронизации.
Блоки, использующие этот интерфейс, не нуждаются в опции конфигурации для точного размера кадра или неактивных интервалов. Кроме того, при изменении времени ввода данных для проекта не требуется обновлять каждый блок. Вместо этого обновите конфигурацию потока один раз на этапе сериализации. Для выделения ресурсов памяти некоторым блокам по-прежнему требуется параметр максимального размера кадра.
Используя потоковый интерфейс выборки с управляющими сигналами, каждый блок панели инструментов Wireless HDL начинает вычисление на свежем наборе выборок в сигнале начала кадра. Вычисления на новом кадре происходят независимо от того, принимает ли блок конечный сигнал для предыдущего кадра.
Протокол допускает незначительные ошибки синхронизации. Если количество допустимых и недопустимых циклов между начальным и конечным сигналами изменяется, блоки продолжают работать правильно. Этот протокол обеспечивает устойчивость системы к кадрам запуска и изменениям синхронизации.
Блоки кодера Wireless HDL Toolbox требуют минимального межкадрового интервала, чтобы приспособиться к вставке кодовых слов. Блоки турбодекодера и сверточного декодера требуют, чтобы предыдущий кадр декодировался (подавал сигнал окончания кадра) до того, как следующий кадр придет. Блоки полярного, LPDC и RS-кодера и декодера обеспечивают сигнал, указывающий, когда блок готов принять начало нового кадра.
Блок Frame To Samples используется для преобразования кадрированных данных в поток выборок и управляющих сигналов, соответствующих этому протоколу. Управляющие сигналы группируются в тип данных шины, называемый samplecontrol.
Блок Frame To Samples может сериализовать кадры фиксированного размера. Если размеры кадров различны, используйте whdlFramesToSamples функция преобразования кадрированных данных в векторы выборок и управляющих сигналов в MATLAB ®. Затем импортируйте векторы в Simulink ®. Используйте блок Sample Control Bus Creator для создания samplecontrol автобус в модели.
Если данные уже находятся в последовательном формате, разработайте собственную логику для генерации этих управляющих сигналов из существующей схемы последовательного управления.
Беспроводные блоки HDL Toolbox имеют входной и выходной порт, sample, для потоковой выборки данных. Блоки захватывают по одной выборке за раз из входных данных и производят по одной выборке за раз для вывода. Выборка может быть одним из этих поддерживаемых типов данных.
| Порт | Описание | Тип данных |
|---|---|---|
sample |
Скалярное целое значение, представляющее один образец. Протокол также допускает вектор целых значений, которые представляют одну выборку, например, для турбокодированных выборок. |
Поддерживаемые типы данных:
|
Беспроводные блоки HDL Toolbox имеют входной и выходной порт, ctrlдля сигналов управления кадрами, относящихся к каждой выборке. Эти три управляющих сигнала указывают на достоверность образца и границы кадра. Порт управляющего сигнала - это тип данных «nonvirtual bus», называемый samplecontrol. Для получения подробной информации о типе данных шины см. Пример шины управления.
Временная диаграмма иллюстрирует протокол потоковой выборки. Он показывает входной кадр из шести выборок и эквивалентную последовательность сигналов управления и данных.

Входной кадр: ([1 2 3 4 5 6])', и сериализатор сконфигурирован для вставки циклов простоя вокруг действительных выборок:
Один цикл простоя между выборками
Три цикла простоя между кадрами
Одно значение, представляющее каждую выборку (размер выходных данных по умолчанию)
Эти параметры можно задать с помощью блока «Кадр для образцов» или whdlFramesToSamples функция.
Управляющие сигналы start и end равны 1 для первой и последней допустимых выборок кадра соответственно. valid сигнал равен 1 для каждого действительного входного образца. valid сигнал равен 0 для циклов простоя, вставленных между выборками и между кадрами. Кадр из шести выборок теперь представлен потоковыми данными в течение 15 циклов.
Блоки NR Polar Encoder, NR Polar Decoder, NR LDPC Encoder, NR LDPC Decoder и RS Decoder каждый обеспечивают выходной сигнал для указания того, когда блок готов принять начало нового кадра. Этот сигнал необходим, поскольку эти блоки не могут принять новый кадр на определенных этапах внутренних вычислений, и задержка этих этапов может изменяться в зависимости от значений входных портов.
| Порт | Описание | Тип данных |
|---|---|---|
| nextFrame | Логический скаляр, указывающий, когда блок может принять начало нового кадра | Boolean |
Этот сигнал показывает, что блок полярного кодера NR обрабатывает несколько кадров. Выходной сигнал nextFrame равен 0 когда блок обрабатывает данные, и 1 когда блок готов принять начало нового кадра. Курсоры показывают время ожидания, изменяющееся в зависимости от значений входных портов K и E. Для первого кадра с заданными значениями K и E блок должен определить длину сообщения и отображение информационных битов для этих значений. Этот этап конфигурирования означает, что блоку требуется некоторое время, прежде чем он будет готов принять следующий входной кадр. Для последующих кадров с одинаковыми значениями для K и E блок готов раньше, потому что ему не нужно пересчитывать конфигурацию.

Если блок принимает входной начальный сигнал, пока nextFrame имеет значение 0блок отбрасывает текущий кадр и начинает обработку новых данных. Эта форма сигнала показывает входной кадр NR Polar Encoder (3), применяемый, когда nextFrame имеет значение 0. Блок отбрасывает текущий кадр (2) и обрабатывает новый кадр (3) как обычный.

Если блок получает недопустимый входной кадр, например, если размер кадра не входит в поддерживаемый диапазон, то блок устанавливает значение nextFrame равным 1 один цикл после входного конечного сигнала. Это поведение указывает на то, что входной кадр отбрасывается. Этот сигнал показывает входной кадр NR-полярного кодера (1), который не имеет правильного количества выборок, ожидаемых для сопутствующих значений K и E. Форма сигнала показывает сигнал nextFrame, установленный на 1 сразу после входного конечного сигнала от кадра 1. Блок отбрасывает текущий кадр (1) и обрабатывает новый кадр (2) как обычный.
