системный архитектор
0,0
рейтинг
11 июня 2014 в 08:14

Разработка → DVB-S2 на пальцах recovery mode

Так уж вышло, что для написания кандидатского диссера мне потребовалось плотненько изучить стандарт спутниковой связи DVB-S2 (Digital Video Broadcasting — Setellite, Version 2).

Если вам, уважаемый читатель, интересно как передаются HDTV или SDTV данные через один из самых популярный спутниковых протоколов теле и радио вещания и нет желания/времени читать сам протокол, то прошу под кат.


Схема 1.



I — «Грубая» схема.



Алгоритм DVB-S2 (Digital Video Broadcasting — Sputnik, version 2) предназначен, как не трудно догадаться, для передачи данных с помощью спутника. Cтандарт пришел на смену DVB-S. Его разрабатывает European Telecommunications Standards Institute (ESTI). Да-да, это та же самая шарашкина контора, которая подарила миру GSM и, если кто знает, TETRA.

Прежде, чем давать описание ужасной картинки сверху, предлагаю сначала «в общих чертах» понять основной принцип передачи данных.
Картинка ниже — грубое упрощение схемы передачи данных, что указана в самом протоколе (см схему 1)


Схема 2.

Первое, что происходит с видео-потоком, вне зависимости от того какой протокол теле- или радиовещания мы используем, это соединение всех каналов вещания в один канал. Как это происходит? Очень просто: дело в том, что пропускная способность спутникового канала существенно больше, чем требуется для одного видео потока. Поэтому рационально использовать так называемое Time Division Multiplexing (переводится как «Мультиплексирование с разделением времени».)
Возможно, вы где-то аббревиатуру TDM уже встречали… Ага! в GSM!.. Почти верно, только там этот принцип назвается TDMA (Time Division Multiple Access).

Предположим у нас 3 канала (см. рис): Красный, Голубой, Жёлтый. Очень хотел взять ОРТ, Дождь и НТВ, но всмомнил, что хабр не место для политики. Каждый поток разбивается на последовательность байт (так называемые таймслоты).

Поток TDM образуется следующим способом: сначала 1й таймслот Красного канала, затем 1й таймслот Синего канала, затем 1й таймслот Жёлтого. После на выход TDM идёт второй таймслот Красного, второй Синего, втрой Жёлтего и так далее.


Схема 3.

Разумеется на практике хотелось бы как-то проверять информацию на наличие ошибок. В DVB-S2 таймслоты называются UP'ами (от User Packet). CRC-8 на первой схеме и есть код обнаружения ошибок.

Вторая фаза в нашей простой схемке — это скремблирование. Смысл скремблирования, как я понимаю, сделать вероятности появления 1 или 0 равновероятными. Это необходимо, так как следующая фаза в нашей простой схемке — Error Correction Codes (ECC) (Коды исправления ошибок). Действительно, кто читал Берликэмпа, может вспомнить, что вся Алгебраическая Теория Кодирования строится на основе априори заданного правила, что 1 равновероятно 0. Конечно, по причине сжатия, наверное скремблирование излишнее, но, видимо, авторы решили его оставить… (кто имеет иную инфу, прошу написать в коменты!)

После ECC, на выходе получаем кодовое слово, которое подаётся на вход модулятору.

После модуляции, моды подаются на лампу бегущей волны (Wave Tube Amplifer, WTA).

Надеюсь в общих чертах понятно.

II — Мode Adaptation



Теперь, когда кратко мы рассмотрели общую схему (схема 2), будем дальше есть слона по частям. Эта глава про Mode Adaptation (см. схему 1). Протокол DVB-S2 позволяет как самостоятельно осуществить TDM преобразование из различных одиночных входных потоков (Single Input Stream (SIS)), так и принять на вход уже многоканальный поток, который предварительно получен от выхода какого либо иного протокола (Multiple Input Stream (MIS)). Теоретически, если вы Рокфеллер, вы можете вообще не использовать TDM и передавать только один поток… Правда это нерационально и дорого, но стандарт это позволяет, о чём свидетельствует надпись в пунктирном прямоугольничке на схеме. В этом случае нам не нужна ни синхронизация (Input Stream Synchronizer), ни буферизация (Buffer) (пунктирными линиями на схеме 1), ибо в случае отсутствия TDM'а, синхронизировать нечего, а буферизировать бессмысленно.

Merger Slicer — это модуль, который, как нетрудно догадаться по названию, «склеивает» UP-таймслоты между собой.

III — Stream Adaptation



После Мode Adaptation, как видно их схемы 1 идет Stream Adaptation.
Вот рисунок из стандарта:

Схема 4.

UP-таймслоты представляются в виде единого потока Generic Continous Stream. Затем данный поток «режется» на блоки данных, которые называются Data Field и к каждому Data Field прикрепляется BB (Baseband) заголовок.
Поля заголовка следующие:
  • MATYPE определяет тип входных данных, SIS или MIS, ACM/CCM режим (об этом позднее) и Roll-off factor
  • UPL (User Packet Length) определяет длину UP'a
  • DFL(Data Field Length) определяет длину Data Field
  • SYNC — это… копия CRC8 байта
  • SYNCCD — отступ от второго UP, который в отличие от первого UP полностью вошёл в Data Field (см. схему 4)
  • CRC-8 — это ДРУГОЙ проверочный код (не путать с CRC-8 для UP'ов)


После данного разбиения идёт скремблирование с «Псевдо Случайной Бинарной Последовательностью» (Pseudo Random Binary Sequence, PRBS) Кому интересно: Данная последовательность вычисляется благодаря LFSR длины 15, заданный ассоциированным многочленом 1+ x^14 + x^15 и начальным значением: 100101010000000. Те кто понял — я рад, кто не понял — смотри картинку:



Как говорят криптографы, «раскручивая» LFSR получаем выходную последовательность: 10010101000000010111111000000111000001… Минимальная длина последовательности, пока она не зациклится, называется периодом LFSR. Период данного LFSR равен (2^15-1). Вероятность появления 1 и 0 равна 0.5. (На самом деле это утверждение верно не только для рассмотренного LFSR, а для любого LFSR, заполненный не всеми нулями, при условии, что ассоциативный многочленпримитивен.)

IV — FEC(Forward Error Correction) encding



Давать описание кодированию можно кратко, а можно очень долго. Помимо основного стандарта [1] есть стандарт по кодированию [2]. Если у хабрачитателей возникнет интерес, то я напишу отдельную статью, где подробно разберу кодирование в DVB-S2.
Кратко FEC код, как видно на схеме 1 состоит из трёх фаз:
  1. БЧХ кодирование
  2. LDPC (Low Density Parity Check) кодирование
  3. Перемежение


FEC код работает в двух режимах, так называетмые short FECFRAME и normal FECFRAME. Отличие в длине выхода. Кодовый блок LDPC для короткого фрейма 16200 байт, для длинного 64800. Для передачи «полезной» информации (видео, радио) используют нормальные фреймы. Для служебной информацией, для которой совсем критично время, используют короткие фреймы.

Но и это ещё не всё: для короткого фрейма существует 10 режимов с различными скоростями для БЧХ и LDPC кодирования, для нормального 11 вариантов. Итого 21 вариант FEC кода! Кому интересно подробнее — см Table 5a и Table 5b в [2].

Зачем так много вариантов кодирования?..

Дело в том, что есть три режима функционирования спутника:
  1. CCM — Constant Coding & Modulation
  2. VCM — Variable Coding & Modulation
  3. ACM — Adaptive Coding & Modulation


Начнём с простого: CCM это одинаковое кодирование вне зависимости от того, где находится спутник и какие данные он передаёт. Если помеха увеличилась и это заметили «на земле», то пока не будет послана команда о смене кодирования (если такая команда вообще существует), спутник не будет применять другое кодирование.

VCM кодирование подразумевает различное кодирование для различных типов данных. Ну например если пропадет пару байтов в несжатом видео потоке (хотя обычно видео сжимают, конечно...), то особых проблем не будет, если же исказятся два байта в служебной команде и она будет некорректно воспринята спутником, то это может привести к epic fail…

Самое интересное — это ACM. Данный режим предполагает, что в зависимости от расположения спутника относительно земли, других спутников, времени, наличия/отсутствия дождя, сезонного перелёта чебурашек, спутник по разному кодирует данные.

Стандарт DVB-S2 поддерживает режимы CCM и ACM. Режим VСМ без танцев с бубном не поддерживается.

Режим CCM поддерживается для совместимости, а вот для того, чтобы получить все преимущества ACM, необходимо различное количество возможных форм кодирования! В случае больших помех (дожди, удалённость от земли, помехи от других спутников, чебурашки) скорость кода низкая, зато много ошибок исправляет, в случае слабых помех — скорость выше и, следовательно, выше пропускная способность.

V — Mapping + PL(Physical Layer) Framing.



Если на пальцах, то после получения FEC фрейма, данные разбиваются по 2, по 3, по 4 или по 5 бит.
Всё зависит от того, какой тип модуляции вы выберете:
  • QPSK (Quaternary Phase Shift Keying) — по 2 бита
  • 8PSK (Eigth Phase Shift Keying) — по 3 бита
  • 16APSK (Amplitude-Phase Shift Keying) — по 4 бита
  • 32APSK — по 5 бит


Таким образом в DVB-S2 можно использовать две фазовые модуляции(QPSK или 8PSK) и две амплитудно фазовые(16APSK или 32APSK). Тому, кто ничего не знает про модуляции рекомендую неплохую статью хабраписателя alexxerm. UPDATE (спасибо HounD): так же можно просмотреть эту и эту статьи в википедии.


Схема 5.

Mapping означает, что мы «разбили» последовательность на 2,3,4 или 5 бит.
Однако прежде чем послать сигнал дальше, мы в FL(Physical Layer) вносим определенную синхронизирующую последовательность и опять скремблируем.

VI — BB Filter & Modulation



После сигнал подаётся на лампу бегущей волны. Альфой на схеме 1 обозначается «коэффициент приподнятого косинуса», по другому «коэфициент сглаживания» или, на англосаксонской мове Roll-off factor .

Вот картинка из в.В.(только здесь вместо альфы — написана бета):


Фильтр, который и осуществляет преобразование «замапированных» данных в моды с определёнными «коэффициентами приподнятого косинуса» называется BB (baseband) Filter(см. схему 1).
(Для тех, кто будет разбирать стандарт: другое название в стандарте "baseband shaping & quadrature modulation", так что не пугайтесь :) )

Вместо заключения



Собственно «на пальцах» это и есть весь DVB-S2. Я, разумеется, опустил некоторые детали и нюансы, но для тех кому просто любопытно — эти детали быстро вылятят из головы, а кому требуется их освоить — лучше потратить Nцать вечеров и самому почитать стандарты.
Кому тема интересна — в коменты или в личку. Как только будет свободная минутка — обязательно отвечу.

P.S. Жажду критики — прошу в коменты! :)


Рассмотренные в данной статье стандарты


[1]Digital Video Broadcasting (DVB) User guidelines for the second generation system for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2) — основной стандарт, в котором обо всём понемногу, а самое главное во второй главе (Referenses) есть ссылки на все остальные стандарты DVB-S2, DVB-S, DSNG, DVB-H и проч.
[2] Digital Video Broadcasting (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2) — для тех, кому интересно АТК(Алгебраическая теория кодирования), смотреть рекомендую именно этот стандарт
Павел @PavelMSTU
карма
21,0
рейтинг 0,0
системный архитектор
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (49)

  • 0
    Очень интересно.

    Я вот что не понял: сам по себе MPEG-TS устроен так, что один поток байт уже может нести в себе кучу программ с телеканалами и прочей шмурдой.

    И MPEG-TS SPTS -> MPTS мультиплексор уже делает всю работу по нарезке и склейке потоков в один мультиплексированный, который потом куда хочешь засовывать можно.

    В DVB-S этим не пользуются что ли?

    Второй вопрос: где идут метки границ передач?
    • 0
      На счёт DVB-S пока не знаю, я его по диагонали читал :), а вот в DVB-S2 есть Multiple Input Stream (MIS), т.е. вы принимаете поток, уже нарезанный (см. схему 1). Я кстати одно предложение написал в статье…

      По поводу второго вопроса: вы имеете в виду каким образом «земля» понимает, началось вещание или нет?

      Об этом я на писал кратко: «мы в FL(Physical Layer) вносим определенную синхронизирующую последовательность»

      Пруф:
      За это отвечает Physical Layer (PL) framing: «The PLHEADER is intended for receiver synchronization and physical layer signalling». Подробнее 29 страница стандарта.
      • 0
        Смотрите: все DVB-S приемники и излучатели работают с MPEG-TS.

        На вход они принимают MPTS — multiple program transport stream, который представляет из себя набор SPTS (single program transport stream) смикшированных вместе.

        В MPTS идет информация о расписании передач, а так же иногда идут DVB-метки, в которых идет информация о том, что передача началась прям сейчас или закончилась. Метки используются для врезки рекламы.

        Телевизоры читают именно MPEG-TS, потому что плата присылает именно MPEG-TS.

        И мне очень непонятно, как именно MPEG-TS MPTS засовывается в спутник.
    • 0
      По факту мультиплексирование может проводиться как на уровне модулятора (то что вы назвали DVB-S), так и на уровне отдельного мультиплексора.

      Как правило, оконечное мультиплексирование производится отдельной железкой, которая находится в ведении одной компании, и затем MPTS отправляется в так называемый телепорт/uplink, который зачастую в другой компании или в ведении другого отдела.
      Также почти всегда у последних есть несколько географически разнесенных телепортов, тк плохая погода всегда отрицательно сказывается на передаче сигнала на спутник.

      Иной же вариант, когда нужно мультиплексирование на уровне модулятора- когда необходимо минимальное время задержки при мультиплексировании, поскольку конвертация на уровне IP вносит свои 20-30 мс, в зависимости от конфигурации, а прямая передача через ASI на модулятор позволяет убрать эту задержку.
  • +2
    О чем диссер-то был?
    • +5
      Моя тема «Стеганография в кодах, исправляющих ошибки»…

      Идея проста, яко топор:
      внести в ECC некие искусственные ошибки, позиции которых можно определить с помощью определённого алгоритма и ключа. Внутри этих искусственных ошибок можно передать скрытые данные.

      А дальше идёт собственно наука:
      1) как вкрапить БОЛЬШЕ данных и сделать МЕНЬШЕ ошибок? (да-да, это возможно :) )
      2) можно ли в стеганографии в помехоустойчивых кодах построить совершенно секретную стегосистему от пассивного противника (по Кашену) (http://eprint.iacr.org/2000/028.pdf ). Оказывается возможно!..
      3) проблема определения робастности в данном виде стеганографии.
      4) и т.д.…

      Ну и инженерная часть:
      5) изучение стандартов каналов передачи данных (например DVB-S2) + носителей (например флешки или оптические диски).
      6) создание конкретных стегоалгоритмов для конкретных кодов и каналов.

      При желании могу из своих «академических» статей сварганить пост на хабре в научно-популярном стиле…

      Возможное использование:
      1)военное дело
      2)лицензионная защита.

      Уж не знаю перспективна ли моя идея в недалёком будущем,
      но на достойный диссер точно хватит. :)
      • 0
        Вот если по п. 6 напишите, очень интересно будет.
      • +1
        Вообще-то это довольно палевно. Будет подозрителен высокий уровень ошибок например при идеальных условиях приема. Может даже дойти до того что будут анализироваться отдельные помехи вызывающие возникновение ошибок и если помехи не будут коррелировать с возникновением ошибок, будут выводы…
        • 0
          Совершенно верно подметили!
          Тут самое главное не сами коды, исправляющие ошибки, а те каналы (или носители) в которых
          происходят ошибки!

          И тут вопрос встает в адекватности математической модели возникновения ошибок.
          Грамотная ММ — хорошая стегосистема, а если есть «более точная» ММ или если есть условия,
          при которых ММ неадекватна и вы эти условия не учли — то тогда да — палево!

          Теперь по поводу высокого уровня ошибок:

          Существует дилема:
          1)много искусственных ошибок — более подозрительно, что есть стеганография
          2)мало искусственных ошибок — мало данных передаём

          Вот эту делему я пытаюсь решить… Оказывается можно передавать много данных, внося мало ошибок…
          Но это отдельная тема…
          На пальцах можно объяснить так:
          допустим у нас 64 позиции, в которые можно вкраплять искусственные ошибки.
          мы вкрапляем всего ОДНУ искусственную ошибку. Т.к. количество позиций 64, мы можем вкрапить log(64)=6 бит данных.
          Т.е. один бит ошибки — шесть бит скрытых данных!
          А теперь допустим мы вкрапляем ДВЕ искусственные ошибки. Тогда у нас це из 64 по два способа!
          Это уже существенно больше.

          Но тут есть ещё одна проблема:
          дело в том, что ошибка не «дискретная», а «аналоговая». Т.е. посмотрев на сам сигнал, можно понять искусственно передали не те данные, или это действительно подлинная ошибка.

          Я называю это «атакой по физическим каналам» (что то типа «атакой по побочным каналам» в криптухе). Это отдельная и весьма кропотливая тема. Но очень важная для практики.
          • 0
            Почему 64 позиции не 64 бита данных?
            • 0
              Понял вашу логику, но тогда получается никакущая устойчивость к ошибкам, т.к. единичная ошибка шума в случае внедрения одиночного исправления портит все 6 бит инфы…

              А в канале без ошибок (с жёстким решение) это слишком палевно, если изучать мягкие решения на другом приёмнике.
              • 0
                Абсолютно верно!
                Поэтому перед вкраплением стегосообщения… его тоже следует прогнать через какой-нибудь другой код, исправляющий ошибки.

                И конечно одним битом тут не обойдёшься :)
        • 0
          Особенно с учетом того, что стеганография ставит своей целью сокрыть сам факт наличия секретного сообщения. Впрочем, возможно, что при плохих погодных условиях ошибки прут и так и так, соответственно, теряется возможность детектирования.

          P.S: У одного спутникового оператора, была такая проблема, что дважды в год, солнце, проходя по траектории заглядывало в тарелку и забивало сигнал спутника. Соответственно — перли помехи, клиенты возмущались. Правда, там стандарт вещания другой был.
          • 0
            А что это за оператор? или это секретная информация??? ;)

            И каким образом происходили помехи? Электроника перегревалась?..
            • +2
              Солнечная засветка (Sun outage)
              Не раз сталкивался сам, когда пользовался тарелкой, два раза в год. Тогда (лет 8-10 назад) активно занимался спутниковой рыбалкой и это было несколько неприятно.
              Да и на эфирном телевидении как раз-таки в эти дни можно встретить заставку на некоторых каналах о возобновлении эфира при получении устойчивого сигнала со спутника (буквально 10-15 минут).
              • 0
                Большое спасибо!
      • 0
        Простите, а стеганография на логическом уровне инфы или в аналоговом?
        • 0
          Я занимаюсь плотненько именно информационной стеганографией.
          Т.е. стараюсь разработать модели, в рамках которых с помощью СТАТИСТИЧЕСКИХ данных нельзя обнаружить есть скрытые данные или нет.

          Однако, разумеется, метод «вкрапления» должен быть таковым, чтобы искусственная ошибка не отличалась от подлинной в ОТДЕЛЬНО ВЗЯТОМ случае.
          • 0
            А вам не кажется, что для информации с известным алгоритмом кодирования это всегда палится?
            • 0
              Не понял вопроса.

              Для известного алгоритма ECC?

              Ну и что? Ведь ошибки-то случайным образом возникают в соответствии с определенной математической модели.
              Поэтому каждый раз подлинные ошибки будут на разных местах.

              Если вы имеете в виду известный алгоритм стеганографии, то позиции для искуственных ошибок я же выбираю по секретному ключу k.
      • 0
        Правильно я понимаю, что есть ты хочешь внедрить инфу на уровне БЧХ-кодирования?
        • 0
          Нет, лучше на самом низком уровне.

          Иначе палево.

          Но изучение кодов необходимо, чтобы понимать их избыточность.
          • 0
            Ну в целом я согласен, а то сомнительное удовольствие внедрять на уровне FEC, тк на земле частво ведут подсмотр и естественно профессиональными железками, в которых есть счетчики по FEC.
            Итого что бы мы получили:
            1. Один модулятор со стего блоком.
            2. Множество других модуляторов без стего блока.
            3. Проверка на земле покажет, что есть пачка сигналов на котором счетчик по FEC больно быстро растет. Да и в целом, если SNR резко падает, то это вызывает вопросы.
            Будь я эксплуататором- я бы поменял нафиг этот сбойный модулятор.
          • 0
            На самом низком уровне это на физике, или напротив, в контейнерах?
            • 0
              Смотри, есть два, так сказать, научных исследования:
              1) изучение того, как ФИЗИЧЕСКИ подлинные ошибки отличаются от искусственных
              2) изучение того, как подлинные ошибки отличаются от искусственных с точки зрения Теории Информации. (Распределения всякие, статистики, корреляции, математические модели возникновения ошибок и т.д. и т.п.)

              В случае решения второй проблемы, мы абстрагируемся от «физичносити» канала и представляем данные в виде последовательности нулей и единиц… Ну или последовательностей различных мод и «испорченных мод», не суть. Здесь мы пытаемся найти законы, как одна подлинная ошибка зависит от другой. В случае если гаусово распределение всё просто как топор, а если распределение иное, то ситуация усложняется…

              Теперь о первой проблеме. Я называю её «атакой по физическим каналам». В качестве примера возьмём оптический диск. Ошибка возникает в результате старения, пыли и царапин. Если мы вкрапим искусственную ошибку и посмотрим с помощью микроскопа, то обнаружим, что никаких царапин и в помине нет!
              Аналогичные проблемы есть и в каналах: если происходит ошибка, то одна моде не меняется в другую моду. Скорее всего она превращается в «нечто», что воспринимается другим приёмником как другая мода!..

              Мой диссер на 90% будет посвящен проблемам Теории Информации, хотя, разумеется без решения проблемы «атаки по физическим каналам» данный вид стеганографии бесполезен. Но это другая тема, я ей мало занимаюсь. Во первых — меньше интереса, во вторых — у меня пока нет личной лаборатории и личного спутника :)
              • 0
                Спасибо за разъяснение.
                Лично мне было бы интересно посмотреть на реализацию гауссова распределения вносимых ошибок (точнее вероятностей ошибок).
                Т.к. сам недавно начал заниматься исследованием вероятности возникновения ошибок в канале и после декодирования.
  • +1
    Спасибо за статью. Есть пара вопросов.

    1) А вы только с DVB-S2 работали или изучали и смежные стандарты? К примеру, имеются ли (существенные) отличия между DVB-S и DVB-C?

    2) По поводу PSK и сигнальных созвездий. Используются только 4 представленных варианта или же их на самом деле больше и передатчик может быть настроен на любую подходящую схему с учетом эффективной АЧХ/ФЧХ?
    • +1
      по первому вопросу — разная модуляция и разные дескрипторы в транспортном потоке.
      можно сигнал например из DVB-S в DVB-C перемодулировать, но дескрипторы выдадут, что изначально был DVB-S, т.е. network search работать не будет.
      • 0
        Понятно, спасибо.
  • +1
    Скреблирование видимо нужно для платных каналов. покупаешь аппаратный декодер с абонементной подпиской — он тебе раскодирует мешанину в читабельный бит-стрим, а без него можно только открытые каналы смотреть.
    • +1
      Возможно, по крайней мере подобный принцип был в DVD. (Кому интересно, могу и об этом в хабре написать).

      Но китайцы это быстро поломали.

      К тому же в DVD было несколько вариантов скремблирования (для разных так называемых «зон»), а здесь только одно скремблирование в начале (к нему я нарисовал LFSR) и одно в конце (этот момент в статье опущен).
      Поэтому как-то сомневаюсь…

      — И ещё один момент не понимаю — зачем всем рассказывать, как скремблирование осуществляется? Или защита «патентом»? Мол запрещаем производит «дескремблер»??
      • 0
        Скремблер нужен для того, чтобы сделать спектр сигнала равномерным. Иначе, при однородных данных (например, много повторяющихся единиц или нулей) энергия сигнала будет сосредоточена в узком диапазоне.
        • 0
          Для снижения пик-фактора. Напримет тут почитать.
          • 0
            Поясните?
            • 0
              Все, разобрался, вы про pl scrambler, а я невнимательно читал.
        • 0
          Для борьбы с блочными ошибками.
          • 0
            Для этого используется интерливер.
            • 0
              У автора путаница с терминами scrambler/interleaver.
              • 0
                Разобрался, нет путаницы.
  • НЛО прилетело и опубликовало эту надпись здесь
  • +2
    вся Алгебраическая Теория Кодирования строится на основе априори заданного правила, что 1 равновероятно 0.

    Можно более точную ссылку из книги на это ограничение, а то что-то у меня сомнения.

    Равновероятность символов и отсутствие длинных повторений важны скорее системам синхронизации и демодуляторам.
  • +1
    Скремблер, на то и нужен, что при выравнивании потоков до CBR в MPEG2-TS (не путать CBR на уровне ES) происходит добавление null-packet-ов , а значит множество подряд идущих нулей неизбежно- и это практически стандарт при передаче на спутник, т.к. расчет емкости всегда ведется по требуемому битрейту/скорости потока

    p.s. приятно было увидеть однокашника и первый дельный пост :-)
    • 0
      А можно поподробнее? :)

      И вы сейчас про первый скремблер говорите (который перед FEC ENCОDING(см схему 1)) или про второй (который перед MОDULATIОN)?
      • +1
        Конечно про тот, что перед FEC — ведь именно перед ним необходимо выровнять вероятности 0 и 1.
        • 0
          Всё, теперь понял!
          Спасибо большое! :)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.