Цифровое телевидение - кабель (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: [44 45 41 40 52 54 62 60 46 47 43 42 53 55 63 ... ]
     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 блок. В целях этой модели в качестве примера Дифференциал, Кодирующий модуль, вывел, соединяется с терминатором строки (i.e., модуль исключен).

  • 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"). AWGN Channel библиотечный блок Signal to Noise Ratio (Eb/No) установлен в 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.