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

восстановление тактовой частоты при двух отчетах на символ

вот это мне тоже не понятно. В атаче АЧХ и ФЧХ фарроу первого порядка и простая модель с фарроу первого и второго порядка при mu = 0.5 при 2-х отчетах на символ. Если смотреть на ЧХ то видно что по идее, при 2-х отчетах на символ, будет полный ужас, но в модельке с первым порядком ошибка ~4.5 градусов, а с третим порядком ~1 градуса. Результат странный, но факт остается фактом. %(

 

Да ничего странного(если всё там правильно, хотя честно сказать думал что будет хуже), значит вот такая МСИ при такой ЧХ интерполятора, при некоторых других коэффициентах ската возможно будет хуже, возможно что такая ошибка в градусах не совсем объективно характеризует МСИ, если устраивают такие искажения то незачем делать сложнее.

 

 

я вас правильно понял, интерполировать по двум информационным отсчетам промежуточный отчет и пропустить отчет этого "лишнего такта" и следующий за ним информационный через эквалайзер и детектор гарднера за один такт символьной частоты? Или этот отчет можно вытащить из интерполятора взяв его в середине между информационными отчетами ?

 

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

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


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

Добрый день господа!

 

Обьясните что происходит с простой моделью модема ?

 

модель передатчик работает при 4-х отсчетах на символ, приемник тоже. интерполятор скидывает данные в домен 2 отсчета на символ, там домент 1 отсчет на символ и гарднер с петлевым фильтром.

 

Не понятно вот что : когда есть расстройка генераторов приемника и передатчика, есть точка разрыва 0-1 на mu с выхода NCO. Это понятно, в цифровом виде подстраивается частота. Не понятно почему при этом на созвездии появляться выброс ? От порядка интерполятора это не зависит. Если убрать расстройку частот, то видно что переходный процесс в петле завершается, форма переходного процесса тоже нормальная. Т.е. петля настроена.

 

И еще не понятно в используемых интерполяторах первого/третьего порядка рабочий диапазон [0:1], если судить по статьям про интерполяторы, данный переход не должен вызывать разрыва в сигнале, но если судить по данной модели то этот разрыв есть?

 

Подскажите в чем может быть проблема ?

 

 

Спасибо.

timing_recovery_loop_true_4sps_first_order_pipe_R14.zip

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


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

Это ошибка в NCO, управлении интерполятором, формировании енабла и т. п. Можно и без расстройки генераторов подобрать ситуацию когда она постоянно будет появляться, много раз сталкивался с таким когда модели делал.

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


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

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

Дело в том что скачками изменяется фаза входного сигнала, и демодулятор правильно ее отрабатывает. Если нужно сымитировать небольшую расстройку по частотам то нужно перед блоком Zero-Order Hold иметь больше число отсчетов на символ. Я немного переделал модель, попробуйте ее запустить для k=1 (это ваш случай) и к примеру для k=50, и посмотрите на созвездия входного и востановленого сигнала, а также на график mu от времени. В прицепе модели для matlab 7.3 и 7.0

timing_recovery_loop_true_4sps_first_order_pipe.zip

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


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

Чтобы посмотреть как символьная синхронизация работает при расстройке символьных генераторов между передатчиком и приёмником посмотрите у меня модели с задержкой переменной длины в канале, на её выходе как раз получается сигнал с различным дробным количеством отсчётов на символ. Можно сделать модель которая буквально будет имитировать небольшие расстройки тактовых генераторов, но это делается не увеличением количества отсчётов на символ в модели, это слишком грубо или долго, придётся делать в передатчике NCO и интерполировать.

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


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

Добрый день господа!

 

Обьясните что происходит с простой моделью модема ?

 

модель передатчик работает при 4-х отсчетах на символ, приемник тоже. интерполятор скидывает данные в домен 2 отсчета на символ, там домент 1 отсчет на символ и гарднер с петлевым фильтром.

 

Не понятно вот что : когда есть расстройка генераторов приемника и передатчика, есть точка разрыва 0-1 на mu с выхода NCO. Это понятно, в цифровом виде подстраивается частота. Не понятно почему при этом на созвездии появляться выброс ? От порядка интерполятора это не зависит. Если убрать расстройку частот, то видно что переходный процесс в петле завершается, форма переходного процесса тоже нормальная. Т.е. петля настроена.

 

И еще не понятно в используемых интерполяторах первого/третьего порядка рабочий диапазон [0:1], если судить по статьям про интерполяторы, данный переход не должен вызывать разрыва в сигнале, но если судить по данной модели то этот разрыв есть?

 

Подскажите в чем может быть проблема ?

 

 

Спасибо.

 

Всё упирается в особенности работы симулинка. Поскольку симулинк должен на каждый такт внутреннего генератора вырабатывать сигналы для всех блоков, то невозможно сделать операцию "добавление-выбрасывание" отсчёта, которая необходима для моделирования расстройки генераторов приёмника и передатчка. В модели Петрова с переменной задержкой канала сдвиг больше чем на один тактовый отсчёт формируется выбором соответствующего вектора отсчётов в (SelectRows в блоке channel_delay). Но это моделирует колебания фазы тактового генератора передатчика, а не его расстройку, т.е. постоянный набег или постоянное отставание фазы.

Изменено пользователем links

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


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

Всё упирается в особенности работы симулинка. Поскольку симулинк должен на каждый такт внутреннего генератора вырабатывать сигналы для всех блоков, то невозможно сделать операцию "добавление-выбрасывание" отсчёта, которая необходима для моделирования расстройки генераторов приёмника и передатчка. В модели Петрова с переменной задержкой канала сдвиг больше чем на один тактовый отсчёт формируется выбором соответствующего вектора отсчётов в (SelectRows в блоке channel_delay). Но это моделирует колебания фазы тактового генератора передатчика, а не его расстройку, т.е. постоянный набег или постоянное отставание фазы.

 

Всё упирается в разработчика а не в симулинк. Можно сделать модель которая будет имитировать расстройку реальных тактовых генераторов, никаких препятствий для этого нету. В модели с переменной задержкой в канале ессно нельзя сделать расстройку т к линия задержки либо опустошится либо переполнится, но можно съимитировать расстройку в разумных пределах чтобы проверить работу символьной синхронизации, ведь время установления ФАПЧ конечное, делайте длиннее линию задержки, увеличите таким образом длительность отрезка соответствующего разности частот тактовых генераторов передатчика и приёмника.

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


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

Всё упирается в разработчика а не в симулинк. Можно сделать модель которая будет имитировать расстройку реальных тактовых генераторов, никаких препятствий для этого нету. В модели с переменной задержкой в канале ессно нельзя сделать расстройку т к линия задержки либо опустошится либо переполнится, но можно съимитировать расстройку в разумных пределах чтобы проверить работу символьной синхронизации, ведь время установления ФАПЧ конечное, делайте длиннее линию задержки, увеличите таким образом длительность отрезка соответствующего разности частот тактовых генераторов передатчика и приёмника.

Всё упирается в разработчика, возражений нет. :)

Если нужно определить кривые помехоустойчивости для коэффициентов ошибок 10е-3 - 10е-6 при работе такой схемы в установившемся режиме, то какая должна быть длительность линии задержки?

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


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

Если нужно определить кривые помехоустойчивости для коэффициентов ошибок 10е-3 - 10е-6 при работе такой схемы в установившемся режиме, то какая должна быть длительность линии задержки?

 

Нет нужды в этом для символьной синхронизации с ФАПЧ, не будет BER от расстройки зависеть, прибавьте константу на входе NCO символьной ФАПЧ, ФАПЧ отработает и накопит в интегрирующем звене этот сдвиг по частоте, а шумы будут от коэффициентов пропорционального и интегрирующего звена зависеть.

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


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

Нет нужды в этом для символьной синхронизации с ФАПЧ, не будет BER от расстройки зависеть, прибавьте константу на входе NCO символьной ФАПЧ, ФАПЧ отработает и накопит в интегрирующем звене этот сдвиг по частоте, а шумы будут от коэффициентов пропорционального и интегрирующего звена зависеть.

 

Да, не будет. Но если поставлена задача проверить работу модема при заданных условиях, среди которых рассогласование приёмного и передающего генераторов? В симулинке единой моделью этого не сделать.

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


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

Да, не будет. Но если поставлена задача проверить работу модема при заданных условиях, среди которых рассогласование приёмного и передающего генераторов? В симулинке единой моделью этого не сделать.

 

Можно сделать и единой моделью в симулинке.

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


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

Можно сделать и единой моделью в симулинке.

 

У меня не получилось, не смог обойти проблему вставки-удаления. В итоге проще оказалось на С.

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


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

Всем спасибо за ответы, не все так плохо с моделью %)

 

Возник у меня еще вот такой вопрос. Где принято ставить приемный RRC фильтр в модемах с интерполятором ?

 

У меня в железке АЦП работает в домене 4sps, затем интерполятор сбрасывает все на 2sps, за ним стоит RRC фильтр, гарднер и петля. Петля вроде настроена (коэффициенты подобрал в матлабе, проверил в железке переходную рисует верно).

 

При работе вижу следующую картину если интерполятором в передатчике подобрать такую фазу, что в приемнике mu "колбасится" 0-1 (не то что бы постоянно, но регулярно возникают переходы), то на выходе приемного rrc фильтра иногда видны искажения, при переходе mu из 0-1 и наоборот. Искажения проявляются в виде изменения амплитуды в точках по данным где-то на 10-15%. Если в передатчике поставить RC фильтр с тем же скруглением то данных искажений нет.

 

модель в матлабе пока предоставить не могу, т.к. не могу поймать в нем данный эффект :(

 

Но данный эффект поймал в моделсиме, в котором, для частоты эксперимента, заменил все RTL блоки (с конвейеризацией и т.д.) идеальными, считающими за 0/1 такт. на скриншоте на decoder__idat приходит выход приемного RRC фильтра, декодированные данные лежат в регистре dat_reg. На вейвформе данные имеют размах ~+-70, но отсчет выделенный красным (слева от курсора) равен 50 ти.

 

Данный эффект мне не понятен, если не сложно просветите ламера %)

 

Спасибо.

 

ЗЫ. Может быть это связанно с тем, что стробы с NCO, идущие на декодер, нужно дополнительно задерживать на задержку приемного RRC фильтра, но тогда этот эффект был бы легко наблюдаем в матлабе, что у меня не получилось сделать.

post-3453-1240773330_thumb.jpg

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


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

Возник у меня еще вот такой вопрос. Где принято ставить приемный RRC фильтр в модемах с интерполятором ?

 

 

Если в передатчике поставить RC фильтр с тем же скруглением то данных искажений нет.

 

Лучше поставить схему гарднера (с мягким оцениванием) до RRC фильтра, тогда не будет задержки на длину фильтра и схема будет устойчивее.

У вас используется SQRT RRC? Не понятна последняя фраза, ведь в передатчике такой фильтр должен быть обязательно.

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


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

Лучше поставить схему гарднера (с мягким оцениванием) до RRC фильтра, тогда не будет задержки на длину фильтра и схема будет устойчивее.

 

хмм, попробую порыть у незами, но тогда есть 3 вопроса :

 

1. В моделях у petrov RRC фильтр стоит до гарнднера, правда и до интерполятора и его модемы работают.

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

3. в этой статье http://www.commsdesign.com/main/9807fe3.htm в разделе Receiver structures for fixed-rate interpolation приведена схема приемника в котором согласованный фильтр стоит после интерполятора

 

http://i.cmpnet.com/csd/gifs/9807fe17.gif

 

У вас используется SQRT RRC? Не понятна последняя фраза, ведь в передатчике такой фильтр должен быть обязательно.

 

я сравниваю два варианта :

1. В передатичке и в приемнике стоят фильтры корень из приподнятого косинуса со скруглением 0.5 (RRC - Root Raised Cosine)

2. В передатичке стоит фильтр приподнятного косинуса со скруглением 0.5 (RC - Raised Cosine) в приемнике фильтра нет.

 

Спасибо.

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


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

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

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

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

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

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

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

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

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

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