Перейти к содержанию
    

Фреймовая синхронизация DVB-S2

Всем добрый день.

Те кто занимался приемом DVB-S2 поясните, пожалуйста, следующий момент:

В статьях и рекомендациях есть схема приемника (фреймовая синхронизация). Текущий комплексный отсчет умножается на комплексно-сопряженный следующий отсчет. В результате получаем комплексное число.

Далее по схеме отводы сдвигового регистра умножаются на значения SOF 25 бит. И тут вопрос: а как комплексные числа умножаются на биты SOF? Или каждый бит SOF нужно представить комплексным числом? Тогда как это сделать? И далее нужно сложить все 25 комплексных чисел?

Или я ошибаюсь и в какой-то момент комплексные числа выраждаются в битовую последовательность?

Те кто понял о чем я хочу спросить пожалуйста проясните. Заранее спасибо за ответы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используйте для синхронизации согласованный фильтр, ИХ которого строится на основе SOF последовательности. Для этого надо битовую последовательность SOF преобразовать в эталонную последовательность комплексных отсчетов в соответствии с применяемым манипуляционным кодом, другими словами надо просто промодулировать SOF последовательность по правилам pi/2 BPSK модуляции и тем самым получите эталонную последовательность комплексных отсчетов, она же и является искомой ИХ согласованного фильтра. Далее входную последовательность подаете на этот фильтр и отлавливаете начало фрейма по порогу. Как-то так.

 

P.S. SOF последовательность имеет длину 26 символов (битов)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Используйте для синхронизации согласованный фильтр, ИХ которого строится на основе SOF последовательности. Для этого надо битовую последовательность SOF преобразовать в эталонную последовательность комплексных отсчетов в соответствии с применяемым манипуляционным кодом, другими словами надо просто промодулировать SOF последовательность по правилам pi/2 BPSK модуляции и тем самым получите эталонную последовательность комплексных отсчетов, она же и является искомой ИХ согласованного фильтра. Далее входную последовательность подаете на этот фильтр и отлавливаете начало фрейма по порогу. Как-то так.

 

P.S. SOF последовательность имеет длину 26 символов (битов)

 

Интересный подход.

То есть я модулирую последовательность SOF тем самым получаю комплексную SOF. которую и сравниваю с принимаемым сигналом? По отдельности с мнимой и действительной составляющей? А нужно ли перед этим принимаемый отсчет сигнала умножать на комплекcно-сопряженный следующий отсчет? (как это приводиться в схемах фреймовой синхр.).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем добрый день.

Вы чё-то перепутали.

Умножив отсчёт на к.с. самого себя (пусть даже всё это повёрнуто на произвольный угол из-за фазовой неопределённости),

вы уничтожили всю инфу о передаваемых битах и получили одинаковые вектора с точностью до шума.

Никакой последовательности в этом уже не найти.

 

Интересный подход.

Это не подход, а обычное дело: корреляция.

 

которую и сравниваю с принимаемым сигналом? По отдельности с мнимой и действительной составляющей?

Не сравниваете, а коррелируете (корреляция комплексная). Не по отдельности, а как раз с к.с. сигналом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В статьях и рекомендациях есть схема приемника (фреймовая синхронизация).

нашел, похоже, эту статью F._W._Sun_Y._Jiang_and_L._N._Lee_Frame_synchronization_and_pilot_structure_for_second_generation_via_satellites.pdf, о которой Вы упоминаете. просмотрел бегло, интересная схема синхронизации, по времени синхронизации получается более "скоростная", но в то же время и более сложная, нежели упомянутая мною, классическая. на досуге надо будет разобраться более детально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы чё-то перепутали.

Умножив отсчёт на к.с. самого себя (пусть даже всё это повёрнуто на произвольный угол из-за фазовой неопределённости),

вы уничтожили всю инфу о передаваемых битах и получили одинаковые вектора с точностью до шума.

Никакой последовательности в этом уже не найти.

равниваете, а коррелируете (корреляция комплексная). Не по отдельности, а как раз с к.с. сигналом.

 

По схеме умножение происходит текущего отсчета на комплексно-сопряженный следующий отсчет. Ну так покрайней мере нарисовано на схеме.

 

нашел, похоже, эту статью F._W._Sun_Y._Jiang_and_L._N._Lee_Frame_synchronization_and_pilot_structure_for_second_generation_via_satellites.pdf, о которой Вы упоминаете. просмотрел бегло, интересная схема синхронизации, по времени синхронизации получается более "скоростная", но в то же время и более сложная, нежели упомянутая мною, классическая. на досуге надо будет разобраться более детально.

 

Еще раз для закрепления. Я модулирую SOF (26 бит) по правилу pi/2 bpsk тем самым получаю 26 комплексных чисел - это отводы фильтра.

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

И еще резонный вопрос: а какую разрядность im и re выбрать. Можно ведь взять вообще один знак: (1+j), (1-j), (-1+j), (-1-j).

И вообще схема с использованием фильтра будет ли работать при отстройке по несущей частоте (когда на фазовой плоскости круг)? Ведь именно это наиболее интересно. В противном случае можно просто принимать решения в режиме ФМ4.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проделайте действия (умножение комплексно-сопряженного текущего отсчета на предыдущий), описанные в статье, для SOF, модулированного PI/2-BPSK. Получите комплексную последовательность:

re = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

im = { 1, 1, 1, 1,-1,-1,-1,-1, 1,-1,-1,-1, 1,-1,-1, 1, 1,-1, 1, 1,-1, 1,-1,-1, 1}

Мнимая часть кодирует направления переходов на PI/2 между символами. Эти значения и будут "25 coef. SOF", показанные на рисунке в статье. Проделываете тоже самое (умножение комплексно-сопряженного текущего отсчета на предыдущий) со входным сигналом и коррелятором ищете указанную выше последовательность.

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

Теперь, если Вы определили пик, то, помимо начала кадра, можно определить: по знаку суммы с выхода SOF-коррелятора - наличие/отсутствие инверсии спектра, а по знаку суммы с выхода PLSC-коррелятора (с учетом инверсии спектра) - наличие/отсутствие пилотов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз для закрепления. Я модулирую SOF (26 бит) по правилу pi/2 bpsk тем самым получаю 26 комплексных чисел - это отводы фильтра.

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

Да, я имено так и делал, правда обработка у меня ведется на двойной тактовой

 

И еще резонный вопрос: а какую разрядность im и re выбрать. Можно ведь взять вообще один знак: (1+j), (1-j), (-1+j), (-1-j).

И вообще схема с использованием фильтра будет ли работать при отстройке по несущей частоте (когда на фазовой плоскости круг)? Ведь именно это наиболее интересно. В противном случае можно просто принимать решения в режиме ФМ4.

По рязрядности в данном случае можно ограничится и знаком в эталонной последовательности, в своей модели я использую плавучку. Насчет отстройки: прежде чем Вы начнете запускать коррелятор, все равно придется предварительно оценить начальную отстройку и устранить ее, иначе при значительной начальной отстройке коррелятор не сработает. При принятии решения в режиме ФМ4 вместо ФМ2 будете терять 3 дб в помехоустойчивости, хотя изначально всю обработку PL Header я тоже выполнял в режиме ФМ4))).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Проделайте действия (умножение комплексно-сопряженного текущего отсчета на предыдущий), описанные в статье, для SOF, модулированного PI/2-BPSK. Получите комплексную последовательность:

re = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

im = { 1, 1, 1, 1,-1,-1,-1,-1, 1,-1,-1,-1, 1,-1,-1, 1, 1,-1, 1, 1,-1, 1,-1,-1, 1}

Мнимая часть кодирует направления переходов на PI/2 между символами. Эти значения и будут "25 coef. SOF", показанные на рисунке в статье. Проделываете тоже самое (умножение комплексно-сопряженного текущего отсчета на предыдущий) со входным сигналом и коррелятором ищете указанную выше последовательность.

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

Теперь, если Вы определили пик, то, помимо начала кадра, можно определить: по знаку суммы с выхода SOF-коррелятора - наличие/отсутствие инверсии спектра, а по знаку суммы с выхода PLSC-коррелятора (с учетом инверсии спектра) - наличие/отсутствие пилотов.

 

Ответ исчерпывающий. Прям руководство к действию. А подскажите приведенная последовательность im это правильная SOF ?, т.е. я могу ее прям и использовать (просто у меня есть подозрение что я неправильно понимаю принцип модуляции pi/2 bpsk), а Вы приводите прям готовый результат.

Подводя итог: спасибо всем откликнувшимся, пойду реализовывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А подскажите приведенная последовательность im это правильная SOF ?
У себя такую использую. Но лучше, конечно, проверить.

 

у меня есть подозрение что я неправильно понимаю принцип модуляции pi/2 bpsk
Используйте указания из стандарта:

The PLHEADER, represented by the binary sequence (y1, y2,...y90) shall be modulated into 90 π/2BPSK symbols

according to the rule:

I[2i-1] = Q[2i-1] = (1/√2) (1-2y[2i-1]), I[2i] = - Q[2i] = - (1/√2) (1-2y[2i]) for i = 1, 2, ..., 45

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У себя такую использую. Но лучше, конечно, проверить.

 

Используйте указания из стандарта:

The PLHEADER, represented by the binary sequence (y1, y2,...y90) shall be modulated into 90 π/2BPSK symbols

according to the rule:

I[2i-1] = Q[2i-1] = (1/√2) (1-2y[2i-1]), I[2i] = - Q[2i] = - (1/√2) (1-2y[2i]) for i = 1, 2, ..., 45

я это уже примерно понял и проделал. И я так понял следующие 32 бита (вид модуляции) нужно сначала закодировать ридом-маллера, потом заскремблировать, потом замодулировать, потом умножить на компл.- сопр. след. отсчет. И вот эту полученную последовательность уже искать в принятом сигнале. причем таких вариантов будет 32 для каждого вида модуляции в режиме ACM. Однако, без подсказок до этого дойти как-то сложно, хотя вроде все в стандарте описано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

причем таких вариантов будет 32 для каждого вида модуляции в режиме ACM.
Для задачи определения начала кадра (вид модуляции и скорость кода не определяем) используется то, что в PLSC

(z[2i] xor z[2i+1]) = const

 

A very useful property of the code for frame synchronization is that z[2i] xor z[2i+1] is constant for

i = 0, 1, ... , 31. <...> Therefore, in the modulated domain, the differential z[2i]z[2i+1] is equal to a constant.

 

Соответственно, вариант будет один. Проделав описанные Вами действия, Вы получаете для каждого вида модуляции/скорости кода последовательности из 64 значений. Исключаете из полученных последовательностей значения под номерами 0,2,4,...30. Убеждаетесь, что последовательности из 32-значений для всех видов модуляции и скорости кода совпадают. Для всех PLSC с пилотом последовательность будет одинаковой, также, как и для PLSC без пилотов, а друг от друга они будут отличаться только тем, что их мнимые значения будут иметь противоположный знак.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для задачи определения начала кадра (вид модуляции и скорость кода не определяем) используется то, что в PLSC

(z[2i] xor z[2i+1]) = const

 

A very useful property of the code for frame synchronization is that z[2i] xor z[2i+1] is constant for

i = 0, 1, ... , 31. <...> Therefore, in the modulated domain, the differential z[2i]z[2i+1] is equal to a constant.

 

Соответственно, вариант будет один. Проделав описанные Вами действия, Вы получаете для каждого вида модуляции/скорости кода последовательности из 64 значений. Исключаете из полученных последовательностей значения под номерами 0,2,4,...30. Убеждаетесь, что последовательности из 32-значений для всех видов модуляции и скорости кода совпадают. Для всех PLSC с пилотом последовательность будет одинаковой, также, как и для PLSC без пилотов, а друг от друга они будут отличаться только тем, что их мнимые значения будут иметь противоположный знак.

Т.е. Вы имеете ввиду что все кодовые комбинации (вид модуляции+скремблер+модуляция+умножение на компл. сопря) будут одинаковыми для одного вида модуляции с различными скоростями кодирования? Ну тогда коррелировать можно не с 32-я комбинациями векторов, а только с 7-ю 32-битными векторами (QPSK, PSK8, APSK16, APSK32, 2 резервных и пустой кадр). Я правильно понял? Просто я еще не написал программу для всего этого.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. Вы имеете ввиду что все кодовые комбинации (вид модуляции+скремблер+модуляция+умножение на компл. сопря) будут одинаковыми для одного вида модуляции с различными скоростями кодирования? Ну тогда коррелировать можно не с 32-я комбинациями векторов, а только с 7-ю 32-битными векторами (QPSK, PSK8, APSK16, APSK32, 2 резервных и пустой кадр). Я правильно понял? Просто я еще не написал программу для всего этого.
Нет, я имею ввиду, что 32-битные векторы будут одинаковыми для различных видов модуляции и различных скоростей кодирования. Поэтому коррелятором ищется только одна (не 32, и не 7) последовательность.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, я имею ввиду, что 32-битные векторы будут одинаковыми для различных видов модуляции и различных скоростей кодирования. Поэтому коррелятором ищется только одна (не 32, и не 7) последовательность.

Уже понял. Написал программу которая кодирует ридом-маллера, скремблирует, модулирует, умножает текущий на компл.сопр. следующий отсчет. В итоге получил одинаковую последовательность для всех видов модуляции. Все поддтвердилось.

Для определения кода вида модуляции предполагаю следующее: закодировать все виды модуляции кодом рида-маллера, заскремблировать, получить 64 последовательносnb по 64 бита, далее замодулировать PI/2BPSK, получить 64 последовательности из 64-х комплексных чисел. Взять каждый второй отсчет. Это и будут отводы коррелятора для определения PLS. Т.е. параллельно работают 64 коррелятора по 32 комплексных отвода. Там где определяется максимум есть код вида модуляции + пилот. Мои соображения насчет определения PLS верны? И еще: описаная схема довольно громоздка. Может есть какой способ ее сократить о котором я не догадываюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...