Цифровое телевидение - кабель (DVB-C)

Эта модель показывает часть ETSI (Европейский институт стандартизации электросвязи) EN 300 429 стандарт для передачи кабельной системы цифровых телевизионных сигнал [1]. Стандарт предписывает проект передатчика и устанавливает минимальные требования к производительности для получателя.

Цель этого примера к:

  • Смоделируйте основные фрагменты возможного проекта передатчика (действующий в 64-QAM режиме с Транспортными Пакетными данными о MPEG-2)

  • Смоделируйте основные фрагменты возможного проекта получателя (действующий в 64-QAM режиме с Транспортными Пакетными данными о MPEG-2)

  • Сгенерируйте ошибочную статистику, которая поможет определить, удовлетворяет ли модель требования производительности системы

  • Проиллюстрируйте использование блоков библиотеки ключа Communications Toolbox™ для DVB-C (или подобный) разработка системы

Доступные версии в качестве примера

Существует две различных версии этого примера.

Версия с плавающей точкой: commdvbc.slx

Версия фиксированной точки: commdvbc_fixpt.slx

Структура примера

Определения MATLAB® Workspace Variable Parameter

Когда модель в качестве примера сначала загружается, она создает переменную prmDVBC рабочего пространства MATLAB, которая является структурой с участниками, которые используются в качестве параметров в блоках в образцовом файле. Обратите внимание также, что эта переменная рабочей области очищена, когда модель закрывается.

prmDVBC = 

  struct with fields:

             bitsPerByte: 8
             bitsPerMTpl: 6
     MPEG2DatRateBitPerS: 9600000
     rawMPEG2DataPcktLen: 184
     MPEG2TrnsprtPcktLen: 188
    MPEG2TrnsprtFramePer: 1.5667e-04
     MPEG2PcktsPerSprFrm: 8
     MPEG2TrnsSuperFrame: 1504
      PRBSSeqPeriodBytes: 1503
       PRBSSeqPeriodBits: 12024
        RSCodewordLength: 204
       CableChanFrameLen: 272
      CableChanFrmPeriod: 1.5667e-04
      RCosineSampsPerSym: 8
       CableSymbolPeriod: 7.1998e-08
       RCosineFilterSpan: 16
     TxRxSymbolSampDelay: 288
     DeintrlvrAlignDelay: 192
        QAMSymbolMapping: [1x64 double]
     ConvIntlNumBranches: 12
       ConvIntlCellDepth: 17

Основополосный физический интерфейс (моделируемый источник данных MPEG-2)

Этот фрагмент модели соответствует разделам 4.1, 5, и 6 в [1]. Транспортный Пакет MPEG-2 задан в ISO®/IEC 13818-1 [2] и состоит из 188-байтовых пакетов.

Communications Toolbox, DSP System Toolbox™ и блоки библиотеки Simulink® используются, чтобы моделировать Транспортный Пакетный поток данных MPEG-2 для системной симуляции и целей измерения производительности BER.

Основополосная обработка передатчика

  • Инверсия Sync1 и рандомизация

Эта подсистема соответствует разделам 4.2 и 7.1 в [1]. Байт MPEG-2 Sync1 инвертируется, и поток данных (кроме Синхронизирующих байтов) рандомизируется в целях формирования спектра. Восстановленный блок библиотеки PN Sequence Generator используется в качестве части скремблера для этого процесса рандомизации данных.

  • Сокращенный (204,188) энкодер тростника-Solomon

Этот блок библиотеки соответствует разделам 4.3 и 7.2 в [1]. Как описано в стандарте, этот процесс добавляет 16 байт контроля четности в Транспортный Пакет MPEG-2, чтобы дать (204,188) кодовая комбинация. Это позволяет до восьми (8) ошибочных байтов на транспортный пакет быть исправленными соответствующим блоком Reed-Solomon Decoder получателя.

  • Сверточный Interleaver

Этот блок библиотеки соответствует разделам 4.4 и 7.3 в [1]. Процесс чередования основан на подходе Форни [3] и совместим с подходом типа III Рэмси [4] со мной = 12.

  • Байт (8-битный) к M-кортежу (6-битное) преобразование

Блок MATLAB® Function используется, чтобы выполнить эту обработку. 8-битные байты данных преобразованы в 64-ary (6-битные) значения. Этот блок соответствует разделам 4.5 и 8 в [1].

  • Дифференциальное кодирование

Реализацию в качестве примера модуля Кодирования Дифференциала, как описано в разделах 4.6 и 8 в [1] показывают с помощью блока MATLAB Function. В целях этой модели в качестве примера Дифференциал, Кодирующий модуль, вывел, соединяется с терминатором строки (т.е. модуль обойден).

  • 64-QAM отображение совокупности

Блок-диаграммы библиотеки Rectangular QAM Modulator Baseband основная полоса, 64-ary (M-кортеж) значения, чтобы объединить (я и Q) 64-QAM значения символа совокупности для передачи, как описано в разделах 4.7 и 9 в [1].

Квадратный корень повышенный фильтр интерполяции косинуса

Этот блок библиотеки выполняет основополосное формирование комплекса (я и Q) значения символа совокупности для передачи, как описано в разделах 4.7, 9, и приложение A в [1].

Канал AWGN

Системный FEC, как задано стандартом разработан, чтобы улучшить Частоту ошибок по битам (BER) от 10^-4 до области значений, 10^-10 к 10^-11 (операция "Quasi Error Free"). Блок Signal to Noise Ratio (Eb/No) библиотеки AWGN Channel установлен в 16,5 дБ, соответствующих операционному BER приблизительно 10^-4.

Квадратный корень повышенный косинус децимирующий фильтр Rx

Этот блок библиотеки выполняет совпадающую фильтрацию десятикратного уменьшения полученного комплекса (я и Q) значения символа совокупности, как описано в разделах 4.7, 9, и приложение A в [1].

Основополосная обработка получателя

  • 64-QAM совокупность Demapping

Библиотека Rectangular QAM Demodulator Baseband блокирует demaps полученный основополосный комплекс (я и Q) 64-QAM значения символа совокупности к 64-ary M-кортежам, как описано в разделах 4.7 и 9 в [1].

  • Дифференциальное декодирование

В целях этой модели в качестве примера не использован фрагмент Декодирования Дифференциала. Кроме того, более реалистическое внедрение систем получателя будет, вероятно, иметь обработку коррекции и синхронизации до этого фрагмента модели получателя.

  • M-кортеж (6-битный) к байту (8-битное) преобразование

Блок MATLAB Function используется, чтобы выполнить эту обработку, которая является инверсией Байта к обработке M-кортежа, используемой в передатчике. 64-ary (6-битные) значения M-кортежа повторно упаковываются в 8-битные байты данных.

  • Сверточный Deinterleaver

Блок библиотеки Convolutional Deinterleaver соответствует блоку библиотеки Convolutional Interleaver, появляющемуся в реализации подсистемы передатчика. Процесс устранения чередования основан на подходе Форни [3] и совместим с подходом типа III Рэмси [4] со мной = 12.

Ради простоты модели в качестве примера простая дополнительная задержка используется, чтобы синхронизировать первый синхронизирующий байт в "0" ответвление Сверточного Deinterleaver. Более реалистическое внедрение систем получателя будет, вероятно, иметь дополнительную восходящую обработку синхронизации до этого фрагмента модели.

  • Сокращенный (204,188) декодер кода Рида-Соломона

Этот блок библиотеки выполняет R-S, декодирующий соответствие закодированным пакетам данных.

  • Инверсия Sync1 и энергетическое удаление рассеивания

Эта подсистема выполняет дескремблирование данных, чтобы получить полученные Транспортные Пакетные байты данных о MPEG-2.

Результаты и отображения

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

Полные системные результаты и отображения:

  • Отображение Bit rate (Mbit/s)

  • Отображение Cable symbol rate (MBaud)

  • Отображение 64-QAM bit error rate (BER)

  • Отображение System bit error rate (BER)

  • Различные внутренние отображения частоты ошибок по битам (BER) (под подсистемой Internal Tx and Rx BER)

Результаты передатчика/Получателя и Отображения:

  • График рассеивания Rx 64-QAM Constellation

  • Осциллограф Tx/Rx Spectrum (2MHz BW)

  • Отображение Total Number of Errors Corrected

Различия между фиксированной точкой и версиями в качестве примера с плавающей точкой

Существует две различных версии этого примера - версия с плавающей точкой и версия фиксированной точки. Примеры подобны. В частности, большая часть Transmitter Baseband Processing и подсистемы Receiver Baseband Processing идентичны, и в основном используют типы данных беззнаковых целых чисел в их путях прохождения сигнала.

Различия между этими двумя версиями находятся в том, как сигналы обрабатываются Byte to M-tuple Conversion, 64-QAM Constellation Mapping, Square Root Raised Cosine Tx Interpolation Filter, Square Root Raised Cosine Rx Decimation Filter, 64-QAM Constellation Demapping и блоками M-Tuple to Byte Conversion. Эти блоки используют с плавающей точкой (и встроенное целое число) арифметика, когда их входные и/или выходные сигналы с плавающей точкой (т.е. тип данных double или single) или чисто встроенное целое число (например, uint8), как имеет место в версии с плавающей точкой (commdvbc.slx).

В версии фиксированной точки (commdvbc_fixpt.slx) однако, эти блоки используют вычисления с фиксированной точкой, потому что их входные и/или выходные сигналы являются типами данных с фиксированной точкой (т.е. sfix или ufix в Simulink). Также обратите внимание, что лицензия Fixed-Point Designer™ требуется запустить версию фиксированной точки примера.

Следующие результаты симуляции показывают соответствие с производительностью BER для выбранных настроек при сравнении версии с плавающей точкой с версией фиксированной точки.

Выбранная библиография

[1] EN 300 429 V1.2.1 Стандарта ETSI: Цифровое телевидение (DVB); Структурируя структуру, кодирование канала и модуляцию для кабельных систем, Европейского института стандартизации электросвязи, Вальбонн, Франция, 1998.

[2] ISO/IEC 13818-1, "Кодирование движущихся изображений и сопоставленного аудио".

[3] Форни, G. D. "Исправляющие пакет Коды младшие для Классического Пульсирующего Канала". Транзакции IEEE на Коммуникациях, издании COM-19, октябрь 1971, стр 772-781.

[4] Рэмси, J. L. "Реализация Оптимального Interleavers". Транзакции IEEE на Теории информации, IT-16 (3), май 1970, стр 338-345.