Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Демодуляция QAM
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Страницы: 1, 2, 3, 4
petrov
Цитата(vadimuzzz @ Aug 15 2008, 13:02) *
я извиняюсь за назойливость, просто хочу свести концы с концами (в смысле теорию и практику).
рассмотрим линейную часть эквалайзера (скриншот).
как я понимаю, здесь коэффициенты пересчитываются по формуле : C(k+1)=C(k) + error(k)*conj(V(k)).
а в фильтре, что стоит в обратной связи идет пересчет C(k+1)=C(k) + error(k)*conj(I(k-1)).
или я неправильно понял?
у Прокиса формула пересчета на оба фильтра одинаковая. не могли бы вы в виде формул показать пересчет коэффициентов?


Одинаковые формулы для обоих фильтров используются, задержка на рисунке для прямого фильтра в обратном фильтре встроена в интегратор(можно сделать как и в прямом задержку в нижней ветке интегратора и на выходе интегратора ещё задержку поствить но это эквивалентно тому что сейчас), для прямого фильтра так не получается симулинк начинает ругаться на алгебраик луп и я не могу найти этому объяснения.
vadimuzzz
все, дошло до меня )
и алгебраик луп я воспроизвел. у меня сложилось впечатление, что это как-то связано с тем, что линейный эквалайзер работает в другой clock_domain (две выборки на символ). в любом случае в FPGA таких проблем не будет. будут другие wink.gif
petrov
Цитата(vadimuzzz @ Aug 16 2008, 05:48) *
все, дошло до меня )
и алгебраик луп я воспроизвел. у меня сложилось впечатление, что это как-то связано с тем, что линейный эквалайзер работает в другой clock_domain (две выборки на символ). в любом случае в FPGA таких проблем не будет. будут другие wink.gif


Всё верно, в FPGA не будет таких проблем.
_Anatoliy
Александр,а почему Ваша модель плохо работает при Rolloff factor RRC < 0,3(мне нужно 0,15)qam_fb_gardner_symbol_farrow_sync_fb_phase_sync_agc_2007_06_18.mdl
Это клиника?Очень жалко потраченного времени.Конечно,я сам виноват,только сейчас,при реализации в FPGA обратил внимание на установленный у Вас Rolloff... 07.gif
Есть ли какой выход?
petrov
Цитата(_Anatoliy @ Aug 26 2008, 11:17) *
Александр,а почему Ваша модель плохо работает при Rolloff factor RRC < 0,3(мне нужно 0,15)qam_fb_gardner_symbol_farrow_sync_fb_phase_sync_agc_2007_06_18.mdl
Это клиника?Очень жалко потраченного времени.Конечно,я сам виноват,только сейчас,при реализации в FPGA обратил внимание на установленный у Вас Rolloff... 07.gif
Есть ли какой выход?


Писал много раз уже что это так учебные модели с ошибками. Что конкретно плохо работает?
_Anatoliy
Цитата(petrov @ Aug 26 2008, 10:38) *
Писал много раз уже что это так учебные модели с ошибками. Что конкретно плохо работает?


Увеличивается дисперсия звёзд в созвездии.
Нажмите для просмотра прикрепленного файла

Это при Rolloff = 0,2
petrov
Цитата(_Anatoliy @ Aug 26 2008, 11:59) *
Увеличивается дисперсия звёзд в созвездии.


Для начала отключите все синхронизации и АРУ, если большой разброс сохранится то значит неправильно посчитан фильтр.
_Anatoliy
Цитата(petrov @ Aug 26 2008, 11:21) *
Для начала отключите все синхронизации и АРУ, если большой разброс сохранится то значит неправильно посчитан фильтр.


Спасибо,это я попробую.
Фильтр после Гарднера?
Вы правы,корректировкой параметров фильтра удаётся влиять на ситуацию.Спасибо!А я уж испугался...
petrov
Цитата(_Anatoliy @ Aug 26 2008, 12:36) *
Фильтр после Гарднера?


Имеется ввиду фильтр с характеристикой корень из приподнятого косинуса.
_Anatoliy
Цитата(_Anatoliy @ Aug 26 2008, 11:36) *
Спасибо,это я попробую.
Фильтр после Гарднера?
Вы правы,корректировкой параметров фильтра удаётся влиять на ситуацию.Спасибо!А я уж испугался...


Но для 0,15 не удаётся улучшить ситуацию.Есть ли методика расчёта этого фильтра?Это ПИ-регулятор,для его расчёта нужно знать параметры объекта регулирования,как их обычно получают в данном случае?

Цитата(petrov @ Aug 26 2008, 11:43) *
Имеется ввиду фильтр с характеристикой корень из приподнятого косинуса.

Нажмите для просмотра прикрепленного файла

Странно,а что тут можно выбрать не так?Порядок увеличивал - не помогает.
proxi
Цитата(_Anatoliy @ Aug 26 2008, 11:50) *
Но для 0,15 не удаётся улучшить ситуацию.Есть ли методика расчёта этого фильтра?Это ПИ-регулятор,для его расчёта нужно знать параметры объекта регулирования,как их обычно получают в данном случае?

вроде если память не изменяет ПИД регуляторы.... а ПИ были аттеньюаторы, фильтры, защита от ЭМИ в том числе и в космосе при ядерном взрыве, однако...
petrov
Цитата(_Anatoliy @ Aug 26 2008, 12:50) *
Но для 0,15 не удаётся улучшить ситуацию.Есть ли методика расчёта этого фильтра?Это ПИ-регулятор,для его расчёта нужно знать параметры объекта регулирования,как их обычно получают в данном случае?


Так как приподнятый косинус у вас не даёт МСИ?

Теорию ФАПЧ смотрите. При маленьких коэффициентах ската падает уровень гармоники символьной частоты, надо уменьшать полосу ФАПЧ, ну ессно при рассчётах не забывайте учитывать все коэффициенты передачи в петле, в том числе для детектора и регулирующего элемента.
_Anatoliy
Цитата(petrov @ Aug 26 2008, 11:56) *
Так как приподнятый косинус у вас не даёт МСИ?


Не понял вопроса.
petrov
Отключаете все синхронизации и АРУ и смотрите разброс точек на приёме, его не должно быть если приподнятый косинус правильно рассчитан.
Шум ессно убираете, сдвиг частоты и т. п.
_Anatoliy
Цитата(proxi @ Aug 26 2008, 11:56) *
вроде если память не изменяет ПИД регуляторы.... а ПИ были аттеньюаторы, фильтры, защита от ЭМИ в том числе и в космосе при ядерном взрыве, однако...


ПИД подразумевает три составляющие - Пропорциональную,Интегральную и Дифференциальную(отсюда и название регулятора).В данном случае дифференциальная составляющая отсутствует, имеем чистый ПИ-регулятор.

Цитата(petrov @ Aug 26 2008, 12:07) *
Отключаете все синхронизации и АРУ и смотрите разброс точек на приёме, его не должно быть если приподнятый косинус правильно рассчитан.
Шум ессно убираете, сдвиг частоты и т. п.


Не понял,как посмотреть разброс точек если все синхронизации отключены?Ведь уровень сигнала будет гулять внутри символьного интервала?
petrov
Цитата(_Anatoliy @ Aug 26 2008, 13:26) *
Не понял,как посмотреть разброс точек если все синхронизации отключены?Ведь уровень сигнала будет гулять внутри символьного интервала?


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

так это ж не оптимально, подозреваю...запас по фазе, перерегулирование и все такое...
_Anatoliy
Цитата(petrov @ Aug 26 2008, 12:40) *
Ну ессно символьная синхронизация будет работать на фиксированной частоте, просто регулироваться не будет, а правильную фазу задержкой подберёте.


Первый снимок при Rolloff = 0,99 а второй при Rolloff = 0,95.Изменял только эти параметры в Вашей оригинальной модели.МСИ очень заметна.

Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
petrov
Цитата(_Anatoliy @ Aug 26 2008, 14:00) *
Первый снимок при Rolloff = 0,99 а второй при Rolloff = 0,95.Изменял только эти параметры в Вашей оригинальной модели.МСИ очень заметна.


Уберите этот поворот, фазу просто на 1 домножайте. В моей модели нету МСИ, а то что вы меняете и приводит к МСИ, у вас характеристика канала далека от приподнятого косинуса, фильтр имеет только какое-то приближение к характеристике корень из приподнятого косинуса т. к. его импульсная умножена на прямоугольное окно и результирующая сквозная импульсная характеристика образуется свёрткой двух таких фильтров. Всё это усугубляется при уменьшении коэффициента ската т. к. импульсная медленнее спадает. Толку от ската 0.15 не будет, спектр всёравно будет широкий т.к. определяться он будет прямоугольным окном и не будет зависеть от порядка фильтра. Вам надо разработать фильтр в fdatool, обязательно использовать окно чтобы в писаться требуемую спектральную маску, не забывать что окно портит приподнятый косинус и расширяет основной лепесток, поэтому придётся увеличивать порядок фильтра и возможно уменьшать коэффициент ската, обязательно рассчитанный филтр надо проверять в модели на МСИ с отключенными синхронизациями, АРУ, шумом, если МСИ неудовлетворительная заново рассчитываем с большим порядком.
_Anatoliy
Цитата(petrov @ Aug 26 2008, 13:56) *


Спасибо!Да уж,тут зубы можно сломать...

Уточняющий вопрос - почему Вы говорите что характеристика канала связи не RRC?Я думал что она определяется фильтрами,а у меня используются стандартные симулинковские фильтры RRC.
И ещё один.
Я попробовал симитировать работу демодулятора с ПЧ равным символьной скорости.В качестве конвертера применил следующую схему.
Нажмите для просмотра прикрепленного файла
Гетеродин выдаёт 0,1,0,-1.То же и на приёмной части.
Созвездие раскрывается нормально,стоит устойчиво,а на выходе данных вместо контрольного кода идёт мусор.Не связано ли это с тем,что ПЧ равна символьной скорости?Или опять МСИ?
petrov
Цитата(_Anatoliy @ Aug 26 2008, 20:10) *
Уточняющий вопрос - почему Вы говорите что характеристика канала связи не RRC?Я думал что она определяется фильтрами,а у меня используются стандартные симулинковские фильтры RRC.


В принципе выше уже всё написал, вы слишком просто хотите, от заклинания RRC автоматически все проблемы не решаются, надо понимать как эти фильтры рассчитываются, что свёртка двух импульсных характеристик корень из приподнятого косинуса умноженных во времени на прямоугольные окна не равна идеальной импульсной характеристике канала приподнятого косинуса.
_Anatoliy
Цитата(petrov @ Aug 26 2008, 19:23) *


Не совсем понял почему в симулинке неправильные фильтры,но спасибо за информацию.К сожалению эту тему пока оставляю(вынужден ею заниматься не постоянно,а с отвлечением на другие темы(COFDM-ЧМ)).Надеюсь в сентябре продолжить демодулятор QAM.В FPGA уже почти всё разместил,без блока подстройки несущей занимает 5000 ячеек(включая довн-конвертер).
_Anatoliy
Цитата(petrov @ Aug 26 2008, 19:23) *


Александр,ваши рекомендации по RRC я прочувствовал,поэкспериментировал с моделями - всё так как Вы говорили.Но раз эта проблема решаема,значит будем решать.
Сейчас меня тормозит проблема конвертирования.
Сигнал с выхода модулятора я конвертирую в ПЧ,на приёмнике обратная процедура.Непонятно следующее : если гетеродины конвертеров работают синфазно - всё прекрасно демодулируется.Если же у приёмного гетеродина поменять местами Re и IM - с декодера идёт мусор.Я пока отключил все синхронизации.Видно что реальная часть сигнала scatter по фазе совпадает с модуляторной,а мнимая часть повёрнута на пи,тут даже диффкодирование не спасает.В реальном изделии я ведь не буду знать какая фаза между гетеродинами,она будет переменной.
Это фишка чисто матлабовская и в реальном изделии всё должно работать или нет?
Вот на всякий случай спектр реальной части после конвертера модулятора.
Нажмите для просмотра прикрепленного файла


Вот ещё осциллограмма сигналов: жёлтые - модулятор,красные - scatter.
Нажмите для просмотра прикрепленного файла
petrov
Цитата(_Anatoliy @ Sep 4 2008, 18:49) *
Сигнал с выхода модулятора я конвертирую в ПЧ,на приёмнике обратная процедура.Непонятно следующее : если гетеродины конвертеров работают синфазно - всё прекрасно демодулируется.Если же у приёмного гетеродина поменять местами Re и IM - с декодера идёт мусор.Я пока отключил все синхронизации.Видно что реальная часть сигнала scatter по фазе совпадает с модуляторной,а мнимая часть повёрнута на пи,тут даже диффкодирование не спасает.В реальном изделии я ведь не буду знать какая фаза между гетеродинами,она будет переменной.
Это фишка чисто матлабовская и в реальном изделии всё должно работать или нет?


Перемена местами действительной и мнимой части это не фазовая неоднозначность, вы сменили знак одной из квадратур, таким образом инвертировали спектр,такое в канале возникнуть естественно не может, такое может возникнуть при преобразовании частоты, но тогда вы будете об этом знать, достаточно сменить знак одной из квадратур.
_Anatoliy
Цитата(petrov @ Sep 4 2008, 18:20) *
Перемена местами действительной и мнимой части это не фазовая неоднозначность, вы сменили знак одной из квадратур, таким образом инвертировали спектр,такое в канале возникнуть естественно не может, такое может возникнуть при преобразовании частоты, но тогда вы будете об этом знать, достаточно сменить знак одной из квадратур.


Всё понял,спасибо!Зациклился:-))Тогда с этим не стоит заморачиваться.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.