Jump to content

    
Sign in to follow this  
Zalman_

Символьная синхронизация QPSK (Детектор Гарднера - Петлевой фильтр - Modulo-1 Counter)

Recommended Posts

Опишу проблему

Как понятно из заголовка пытаюсь сделать символьную синхронизацию для QPSK системы
Основываясь на информации из книги "Michael Rice - Digital Communications: A Discrete-Time Approach", символьную синхронизацию делал по принципу:

1) Interpolator - Piecewise структура фильтра Фарроу
2) Timing Error Detector - Детектор Гарднера
3) Loop Filter
4) Interpolation Control  - структура "Modulo-1 Counter"

В чем проблема ?
Проблема в том, что система символьной синхронизации одновременно работает и нет, то есть периодически повторяется следующий процесс:
1) Система находит оптимальный момент выборки (максимального раскрытия глазка)
2) Система теряет оптимальный момент выборки

На осциллограмме input и output фильтра Фарроу наблюдается картина как на скриншоте ниже
 

Осциллограмма.png

Share this post


Link to post
Share on other sites

Вопрос то в чем? почему не работает? Ну думаю в левом верхнем углу модели у вас буквы не хватет) А если без шуток выкладывайте модель. Может у вас там просто петля не настроена

Share this post


Link to post
Share on other sites
1 час назад, des00 сказал:

Вопрос то в чем? почему не работает? Ну думаю в левом верхнем углу модели у вас буквы не хватет) А если без шуток выкладывайте модель. Может у вас там просто петля не настроена

Прикрепил модель для 20a и для 18b

qpsk_electronix.slx qpsk_electronix_18b.slx

Share this post


Link to post
Share on other sites

Выскажу небольшое предположение

Возможно вся система работает некорректно по причине того, что используемый детектор Гарднера работает на скорости 2 выборки на символ, а SRRC на модуляторе и демодуляторе выдают 10 выборок на символ

Может ли быть в этом проблема или нет, как думаете?

1 час назад, des00 сказал:

Вопрос то в чем? почему не работает? Ну думаю в левом верхнем углу модели у вас буквы не хватет) А если без шуток выкладывайте модель. Может у вас там просто петля не настроена

 

Edited by Zalman_

Share this post


Link to post
Share on other sites
4 минуты назад, petrov сказал:

Zalman_

Вот буквально в предыдущей теме ссылка на модельку где все это работает.

Вопрос, а можете сказать как тема называется или же ссылку дать?
Буду очень признателен (над неработающей STS сижу уже не первый день)

Share this post


Link to post
Share on other sites
1 hour ago, Zalman_ said:

Большое спасибо
Буду разбираться

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

да, посмотите у @petrov в модели, у него проще и нагляднее это место сделано.

Share this post


Link to post
Share on other sites

Спасибо за советы, буду ковыряться

1 минуту назад, des00 сказал:

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

да, посмотите у @petrov в модели, у него проще и нагляднее это место сделано.

 

Share this post


Link to post
Share on other sites
24.11.2020 в 14:15, petrov сказал:

Добрый вечер!

Копаюсь с Вашей моделью

Мне непонятны следующие моменты (я новичок в этой тематике и многих вещей еще не знаю)
1) У Вас модулятор создает 8PSK, затем в канале перед АБГШ стоит downsample (в нем значение 2) и по факту из 8PSK делаете QPSK. Зачем так делать и что это дает?
2) В модуляторе SRRC имеет значение wc = 1/4, а в приемнике стоит wc = 1/2. Понятно, что тот самый блок downsample снизил значение sps в 2 раза и теперь вместо 4 sps у вас 2sps, но зачем так было сделано? Знаю, что SRRC на передающей и приемной стороне должны быть идентичны, но у Вас они различны. Можете объяснить ?
3) Рассматривая систему STS есть - Interpolator, TED, Loop Filter, Interpolation Control. Мне непонятно вот что, что конкретно нужно крутить и менять, чтобы адаптировать систему под свою задачу, то есть если я в лоб выставлю значения 4sps (на обеих SRRC) и уберу блок downsample (чтобы значение sps было неизменным в канале), а также в NCO поменяю значение константы у блока Math Function (операция mod) на 4, то ничего не работает, хотя больше в модели ничего не меняю. Сразу отвечу на вопрос по поводу Loop Filter, в нем я тоже пытался крутить параметры, а результат все равно был отрицательным. Под отрицательным результатом я понимаю следующее. В процессе работы Вашей модели я вижу 4 точки для QPSK, но через время происходит рассинхронизация и эти точки превращаются в мешанину, после чего проходит какой-то интервал времени и вновь эти 4 точки находятся. 
Я не знаю, что скрывается за этой проблемой, так как не делая свою модель, а используя Вашу как эталон, получаю отрицательный результат даже казалось бы в настолько правильно сделанной модели.

Можете объяснить где я ошибаюсь и что не до конца понимаю в этом всем? 

 

Share this post


Link to post
Share on other sites
10 hours ago, Zalman_ said:

2) В модуляторе SRRC имеет значение wc = 1/4, а в приемнике стоит wc = 1/2. Понятно, что тот самый блок downsample снизил значение sps в 2 раза и теперь вместо 4 sps у вас 2sps, но зачем так было сделано? Знаю, что SRRC на передающей и приемной стороне должны быть идентичны, но у Вас они различны. Можете объяснить ?

Идентичны должны быть частотные характеристики по скруглению, полосе. А на какой частоте они реализованы дело десятое. Можно сделать передатчик с интерполяцией 100, а приемник 2.5 и это будут согласованные приподнятые косинусы)

Quote


3) Рассматривая систему STS есть - Interpolator, TED, Loop Filter, Interpolation Control. Мне непонятно вот что, что конкретно нужно крутить и менять, чтобы адаптировать систему под свою задачу, то есть если я в лоб выставлю значения 4sps (на обеих SRRC) и уберу блок downsample (чтобы значение sps было неизменным в канале), а также в NCO поменяю значение константы у блока Math Function (операция mod) на 4, то ничего не работает, хотя больше в модели ничего не меняю.

Детектор гарднера работает только при двух отсчетах на символ. И только при двух. По выходу интерплятора должен быть сигнал децимированный до 2двух отсчетов на символ и сигналы 2sps, 1sps. Сами эти сигналы вырабатываются в NCO. На входе приемного интерплятора может быть любое спс больше двух(пока считайте что это так). Вот исходя из этой парадигмы и проанализируйте будет ли работать та модель если вы просто поменяете константы или ее надо кардинально переделать.

Share this post


Link to post
Share on other sites
3 часа назад, des00 сказал:

Идентичны должны быть частотные характеристики по скруглению, полосе. А на какой частоте они реализованы дело десятое. Можно сделать передатчик с интерполяцией 100, а приемник 2.5 и это будут согласованные приподнятые косинусы)

Детектор гарднера работает только при двух отсчетах на символ. И только при двух. По выходу интерплятора должен быть сигнал децимированный до 2двух отсчетов на символ и сигналы 2sps, 1sps. Сами эти сигналы вырабатываются в NCO. На входе приемного интерплятора может быть любое спс больше двух(пока считайте что это так). Вот исходя из этой парадигмы и проанализируйте будет ли работать та модель если вы просто поменяете константы или ее надо кардинально переделать.

Про SRRC понял, спасибо

Да, я заметил, что во всех моделях есть тот самый переход на 2 и 1 sps, однако не понимал, что и где копать
То есть по факту тактирование детектора Гарднера и тактирование интерполятора должно быть в одном clock domain, то есть в 2sps.
Понятно, что на выходе интерполятора будет 2sps, а вот откуда и зачем нам нужен 1sps?

8 часов назад, petrov сказал:

Zalman_

Попробуйте отличия поискать.

qpsk_8_sps_fb_sync_2020_11_25.mdl

Хорошо, спасибо, буду искать

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this