|
Демодуляция QAM |
|
|
|
 |
Ответов
|
Apr 9 2008, 12:44
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Цитата(_Anatoliy @ Apr 9 2008, 08:40)  Коллеги,посоветуйте с чего начать,в этих делах пока новичёк. Как я понимаю, для демодуляции QAM нужно восстановить частоту несущей и частоту символов.Порыскав по сети нашёл несколько алгоритмов восстановления частоты несущей,в основном везде предлагается умножать текущий символьный отсчёт на предыдущий и результат пропустить через полосовой фильтр.Попробовал в матлабе,получилось,но уж сильно зашумлённый данными синус получается после умножения,для качественной фильтрации нужно ставить FIR с не менее 4096 тапов,а то и больше.Может есть какие другие алгоритмы для выделения этих частот? Какой имеено сигнал предполагается демодулировать. QAM16 или QAM256?
|
|
|
|
|
Apr 9 2008, 15:18
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(Михаил_K @ Apr 9 2008, 17:40)  Тогда попробуйте схему по решению. Михаил,извините но что значит по решению? Я не зря написал в корневом посте "Коллеги,посоветуйте с чего начать,в этих делах пока новичёк." Цитата(petrov @ Apr 9 2008, 15:01)  Даже нужно, форум для этого и существует. Спасибо! Первый вопрос по модели qam_fb_gardner_symbol_farrow_sync_fb_phase_sync_agc_2007_06_18.mdl Для подстройки символьной скорости у Вас используется Gardner timing error detector. Как я понял это требует "вылавливания на приёмной стороне" периодической последовательности +- 1. В случае М-арных сигналов создаётся впечатление что такую последовательность нужно периодически вставлять в поток на передающей стороне. Так ли это?
|
|
|
|
|
Apr 10 2008, 10:50
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(_Anatoliy @ Apr 9 2008, 23:54)  За какое время (количество символов) происходит символьная синхронизация(скажем при заданном Eb/N0 и заданном символьном рассогласовании)? Это определяется коэффициентами передачи интегрирующего и пропорционального звена в ФАПЧ, у Незами посмотрите этот вопрос кратенько рассматривается, это теория автоматического управления в чистом виде. Цитата(_Anatoliy @ Apr 9 2008, 23:54)  Чем вызвано применение символьной задержки по сигналу ошибки,а не подстройка ГУНТ? Не понял вопроса.
|
|
|
|
|
Apr 10 2008, 12:39
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(petrov @ Apr 10 2008, 14:22)  Там и подстраивается генератор импульсов плюс дробная часть с NCO используется в интерполяторе фарроу для точного вычисления символа, иначе отсчёт с выхода согласованного фильтра брался бы с точностью до частоты дискретизации и не попадал бы в максимум раскрытия глазка. Я правильно понял - NCO подстраивается под символьную частоту, а интерполятор обеспечивает нулевой фазовый сдвиг(попадание в максимум раскрытия глазка)? Но у Вас на выходе фазового детектора стоит интегратор,значит NCO и так будет подстроен с точностью до фазы(т.е. в установившемся режиме разность фаз будет равна нулю и без интерполятора)? Цитата(fontp @ Apr 10 2008, 14:25)  Понял,спасибо.
|
|
|
|
|
Apr 11 2008, 11:04
|
Знающий
   
Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481

|
Цитата(petrov @ Apr 11 2008, 10:55)  Смотря что понимать под упрощением. Так ведь можно модем в аналоге реализовать без FPGA и сигнальных процессоров. Дополнительные ГУН, ЦАП, обвязка, разводка печатной платы, отладка всего этого хозяйства вместо простого, сразу работающего, математического алгоритма это упрощение? И не будет это стоить дешевле. В серьёзном модеме интерполятор символьной синхронизации занимает незначительную часть вычислительных ресурсов. Современные средства ЦОС позволяют сделать всё в цифре не понимаю зачем нужно делать шаг назад. В модеме, который я делал почти 5 лет назад, первый интерполятор был сделан на GC3011 (вроде бы, давно было). Затем переделали его на Virtex2. Интерполятор в месте с системой тактовой синхронизации занял отдельный плис 1500. Он требовал 30 умножителей, блок ОЗУ для хранения 15х4096 12-разярдных коэффициентов. Но зато позволял принимать сигналы на любой тактовой частоте, от 1 кГц до 50 МГц. Полностью весь демодулятор был сделан на 5 плисах Virtex2. 2 полуторотысячника и 3 тысячника. В модеме, который я делал два года назад, на фиксированную частоту использовался ГУН, который стоит 30 долларов. Весь демодулятор поместился в четырехсотый спартан.
|
|
|
|
|
Apr 11 2008, 12:01
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Михаил_K @ Apr 11 2008, 15:04)  В модеме, который я делал почти 5 лет назад, первый интерполятор был сделан на GC3011 (вроде бы, давно было). Затем переделали его на Virtex2. Интерполятор в месте с системой тактовой синхронизации занял отдельный плис 1500. Он требовал 30 умножителей, блок ОЗУ для хранения 15х4096 12-разярдных коэффициентов. Но зато позволял принимать сигналы на любой тактовой частоте, от 1 кГц до 50 МГц. Полностью весь демодулятор был сделан на 5 плисах Virtex2. 2 полуторотысячника и 3 тысячника.
В модеме, который я делал два года назад, на фиксированную частоту использовался ГУН, который стоит 30 долларов. Весь демодулятор поместился в четырехсотый спартан. http://www.altera.ru/cgi-bin/price/priceAltera Cyclone III EP3C16E144C8 31,36$ 15408 логических элементов, логический элемент - 4-х входовой LUT + триггер 56 18bit умножителей Согласитесь что сейчас символьная синхронизация на внешнем ГУНе будет худшим решением с любой точки зрения?
|
|
|
|
|
Apr 11 2008, 13:27
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(petrov @ Apr 11 2008, 15:01)  А можно ещё вопросики по Незами рис. 7-3?Хочется разобраться. 1).Какова цель введения нелинейности [x]^M? 2).Это схема является частотным детектором?Вроде у него полоса захвата должна быть пошире чем фазового(в фазовом детекторе сигнальный вектор за счёт частотного сдвига не должен попасть в область соседней сигнальной точки созвездия). 3).Схема по Незами рис. 7-3 имеет область захвата dF <= +- 1 / (2*M*T),для QAM16 это будет +- 1/32T. А Ваша модель работает при 1/18T,Вы можете это как-то прокомментировать?
|
|
|
|
|
Apr 11 2008, 14:33
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(_Anatoliy @ Apr 11 2008, 17:27)  А можно ещё вопросики по Незами рис. 7-3?Хочется разобраться.
1).Какова цель введения нелинейности [x]^M? 2).Это схема является частотным детектором?Вроде у него полоса захвата должна быть пошире чем фазового(в фазовом детекторе сигнальный вектор за счёт частотного сдвига не должен попасть в область соседней сигнальной точки созвездия). 3).Схема по Незами рис. 7-3 имеет область захвата dF <= +- 1 / (2*M*T),для QAM16 это будет +- 1/32T. А Ваша модель работает при 1/18T,Вы можете это как-то прокомментировать? 1) для того чтобы избавиться о модуляции, посмотрите модельки для QPSK, при умножении фазы на 4 она превращается в линию(по модулю 2pi ессно), для QAM16 не надо на 16 фазу умножать, а на 4 как для QPSK, но только плохой это детектор для QAM 2) да является, она работает как она работает, с чем сравнивать? 3)вот представьте себе передачу подряд какой-то одной точки QAM созвездия,пусть на приёме один вектор в точности попадает в решение, из-за сдвига частоты dF на следующем символьном интервале принимаемый вектор повернётся на 2*pi*dF*T радиан, если он попадает в область другого решения то захвата не будет
|
|
|
|
|
Apr 12 2008, 11:45
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(_Anatoliy @ Apr 12 2008, 12:48)  А можно немного подробнее?В чём тут хитрость?Мне казалось что лучше изменять тактовую,тогда параметры фильтров вроде менять не нужно. Да никаких хитростей нет. Аналоговые фильтры перед АЦП тоже будете изменять? "Лучше" это только проще для понимания, это опять к вопросу аналоговой реализации, характеристики модема будут хуже. Цитата(proxi @ Apr 12 2008, 14:25)  ...а на практике их еще нужно подбирать так как реальный тракт имеет разные искажения для разный потоков.. Для этого эквалайзер есть.
Сообщение отредактировал petrov - Apr 12 2008, 11:46
|
|
|
|
|
Jun 25 2008, 11:57
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(_Anatoliy @ Jun 25 2008, 15:05)  Александр,видимо к Вам вопрос. Я переделал Вашу модель qam_fb_gardner_symbol_farrow_sync_fb_phase_sync_agc_2007_06_18.mdl для QAM64,всё работает (пока в матлабе),осталась одна непонятка.Вы в своей модели скремблируете число "5" и после демодуляции и дескремблирования получаете те же "5".У меня же созвездия стоят устойчиво,а на выходе вместо пятёрки мусор.Скремблер я переделал под QAM64,дескремблер его код восстанавливает нормально(если его включить сразу в модуляторе).Что нужно проверить?Может у меня созвездие повёрнуто на 90(180,270) градусов?Как это проверить? У вас должна неоднозначность фазы как то восстанавливаться, через дифференциальное кодирование например или через передачу какой-то известной последовательности. У меня было сделано дифференциальное кодирование, при этом нужно специальным образом пронумерованное созвездие, оно кстати не наилучшее с точки зрения битовой ошибки. В блоке который сдвиг несущей задаёт, можно и фазу сдвинуть, попробуйте +-90, 180, при каком то должно заработать если других ошибок нету.
|
|
|
|
|
Jun 25 2008, 12:48
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(petrov @ Jun 25 2008, 14:57)  У вас должна неоднозначность фазы как то восстанавливаться, через дифференциальное кодирование например или через передачу какой-то известной последовательности. У меня было сделано дифференциальное кодирование, при этом нужно специальным образом пронумерованное созвездие, оно кстати не наилучшее с точки зрения битовой ошибки. В блоке который сдвиг несущей задаёт, можно и фазу сдвинуть, попробуйте +-90, 180, при каком то должно заработать если других ошибок нету. Спасибо Александр! Установил фазу 180 градусов и проверочный код "4" - всё заработало!Но при коде "5" ни при какой фазе восстановления нет.Такого же не должно быть...Дифференциальное кодирование у меня есть. И ещё,при коде "5" в захват система входит примерно за 5000 символов,а при коде "23" - более 20000 символов.Может глянете надосуге? Не удаётся файл присоединить....Сейчас куда-нибудь выложу. http://upload.caxapa.ru/u8tq64fpga_temp.mdlКод "17" восстанавливается только при фазе 270 градусов,чехарда какая-то:-(((
|
|
|
|
|
Jun 26 2008, 06:26
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(petrov @ Jun 25 2008, 16:44)  Это созвездие не подходит. И дифференциальное кодирование неправильно осуществляется у вас. Разберитесь для начала с диф кодированием QPSK. Это созвездие было из DVB-T,заменил на DVB-C.
Дифференциальное кодирование переделал,только не помогло это:-((
Что-то происходит с узлом подстройки по частоте несущей:если убрать блок Phase/FrequencyOffset из линии связи и на перемножитель подать константу то дескремблер восстанавливает любой код без ошибок.Но так не интересно.Что ещё можно посмотреть? Происходит ошибка выбора квадранта т.к. при большом коде ошибка кратна 16-ти. Может попробовать диффкодирование из DVB-C?
|
|
|
|
Сообщений в этой теме
_Anatoliy Демодуляция QAM Apr 9 2008, 04:40 eugen_pcad_ru Собственно использовать на практике можно две схем... Apr 9 2008, 06:38 _Anatoliy За книгу спасибо!Нашёл,качаю.
Вот какой у мен... Apr 9 2008, 08:10 genadiy Несущая частота должна быть известна из условия. А... Apr 9 2008, 08:55 _Anatoliy Цитата(genadiy @ Apr 9 2008, 11:55) Несущ... Apr 9 2008, 09:31 petrov Вот посмотрите модели:
http://electronix.ru/forum/... Apr 9 2008, 10:39 _Anatoliy Цитата(petrov @ Apr 9 2008, 13:39) Вот по... Apr 9 2008, 11:24  petrov Цитата(_Anatoliy @ Apr 9 2008, 15:24) Бол... Apr 9 2008, 12:01      petrov Цитата(_Anatoliy @ Apr 9 2008, 23:54) Спа... Apr 10 2008, 05:05       _Anatoliy Цитата(petrov @ Apr 10 2008, 08:05) Пишит... Apr 10 2008, 10:29         fontp Цитата(petrov @ Apr 10 2008, 15:22) Там и... Apr 10 2008, 11:25            Михаил_K Цитата(_Anatoliy @ Apr 10 2008, 18:23) По... Apr 11 2008, 06:18             _Anatoliy Цитата(Михаил_K @ Apr 11 2008, 09:18) Есл... Apr 11 2008, 07:52              petrov Цитата(_Anatoliy @ Apr 11 2008, 11:52) У ... Apr 11 2008, 08:19               _Anatoliy Цитата(petrov @ Apr 11 2008, 11:19) У Нез... Apr 11 2008, 08:36                petrov Цитата(_Anatoliy @ Apr 11 2008, 12:36) Сп... Apr 11 2008, 08:41                 _Anatoliy Цитата(petrov @ Apr 11 2008, 11:41) Ну на... Apr 11 2008, 09:20                  petrov Цитата(_Anatoliy @ Apr 11 2008, 13:20) Да... Apr 11 2008, 09:35                   _Anatoliy Цитата(petrov @ Apr 11 2008, 12:35) Можно... Apr 11 2008, 09:53                   _Anatoliy Цитата(petrov @ Apr 11 2008, 12:35) Можно... Jul 12 2008, 12:11                    petrov Комбинационная схема интерполятора работает на сим... Jul 12 2008, 16:53                     _Anatoliy Цитата(petrov @ Jul 12 2008, 19:53) Комби... Jul 14 2008, 05:03             fontp Цитата(petrov @ Apr 11 2008, 10:55) Смотр... Apr 11 2008, 07:17                   _Anatoliy Цитата(petrov @ Apr 11 2008, 18:06) Ну об... Apr 11 2008, 15:27                      proxi Цитата(_Anatoliy @ Apr 12 2008, 11:48) А ... Apr 12 2008, 10:25                         _Anatoliy Цитата(petrov @ Apr 12 2008, 15:38) Ну эт... Apr 12 2008, 13:27                                  petrov Это созвездие подходит, только кодирование грея дл... Jun 26 2008, 07:33                                   _Anatoliy Цитата(petrov @ Jun 26 2008, 10:33) Вы на... Jun 26 2008, 08:05                                    petrov Цитата(_Anatoliy @ Jun 26 2008, 12:05) Не... Jun 26 2008, 08:09                                     _Anatoliy Цитата(petrov @ Jun 26 2008, 11:09) Ищите... Jun 26 2008, 13:39                                      _Anatoliy Александр,Ваша модель тоже так себя ведёт если пос... Jun 26 2008, 14:40                                       _Anatoliy Как оказалось,алгоритм дифф-кодирования должен выб... Jun 28 2008, 05:56                                _Anatoliy О,сейчас приклеился файл...
Цитата(petrov @ ... Jun 25 2008, 13:55                       proxi Цитата(petrov @ Apr 12 2008, 14:45) Да ни... Apr 12 2008, 12:07                    Михаил_K Цитата(_Anatoliy @ Apr 11 2008, 23:44) И ... Apr 12 2008, 14:57               Михаил_K Цитата(petrov @ Apr 11 2008, 16:01) http:... Apr 11 2008, 15:58                alex_os Цитата(Михаил_K @ Apr 11 2008, 18:58) Не ... Apr 11 2008, 19:28    Михаил_K Цитата(_Anatoliy @ Apr 9 2008, 19:18) Мих... Apr 10 2008, 06:43 petrov Цитата(_Anatoliy @ Jul 14 2008, 09:03) Эт... Jul 14 2008, 11:37 _Anatoliy Цитата(petrov @ Jul 14 2008, 14:37) В инт... Jul 14 2008, 12:24  petrov Цитата(_Anatoliy @ Jul 14 2008, 16:24) Че... Jul 14 2008, 13:22   _Anatoliy Цитата(petrov @ Jul 14 2008, 16:22) В смы... Jul 14 2008, 13:54   _Anatoliy Цитата(petrov @ Jul 14 2008, 16:22) В смы... Jul 15 2008, 07:24    petrov Тут о разных вещах речь идёт. В первой цитате речь... Jul 15 2008, 07:30     _Anatoliy Цитата(petrov @ Jul 15 2008, 10:30) Тут о... Jul 15 2008, 07:46      petrov Цитата(_Anatoliy @ Jul 15 2008, 11:46) Сп... Jul 15 2008, 07:53       _Anatoliy Цитата(petrov @ Jul 15 2008, 10:53) Не на... Jul 15 2008, 07:59        petrov Цитата(_Anatoliy @ Jul 15 2008, 11:59) Бо... Jul 15 2008, 08:11         _Anatoliy Цитата(petrov @ Jul 15 2008, 11:11) Интер... Jul 15 2008, 08:28          petrov Цитата(_Anatoliy @ Jul 15 2008, 12:28) Вы... Jul 15 2008, 08:42           _Anatoliy Цитата(petrov @ Jul 15 2008, 11:42) Полиф... Jul 15 2008, 09:06            petrov Цитата(_Anatoliy @ Jul 15 2008, 13:06) Бо... Jul 15 2008, 09:14             _Anatoliy Цитата(petrov @ Jul 15 2008, 12:14) Незач... Jul 15 2008, 09:27      fontp Цитата(_Anatoliy @ Jul 15 2008, 11:46) Бр... Jul 15 2008, 08:01       _Anatoliy Цитата(fontp @ Jul 15 2008, 11:01) Интерп... Jul 15 2008, 08:09 MKS Анатолий, а какую степень полинома вы используете ... Jul 14 2008, 15:56 _Anatoliy Цитата(MKS @ Jul 14 2008, 18:56) Анатолий... Jul 14 2008, 16:14 vadimuzzz Всем привет!
я разрабатываю радиорелейную стан... Jul 25 2008, 02:12 petrov 1. АРУ необходимо т. к. в QAM информация передаётс... Jul 25 2008, 08:33 vadimuzzz по п.1 я не то имел в виду, я про последовательнос... Jul 25 2008, 09:19 petrov Цитата(vadimuzzz @ Jul 25 2008, 13:19) по... Jul 25 2008, 09:32  vadimuzzz Цитата(petrov @ Jul 25 2008, 16:32) Ну ес... Jul 25 2008, 09:40   petrov Цитата(vadimuzzz @ Jul 25 2008, 13:40) пр... Jul 25 2008, 10:03    vadimuzzz Цитата(petrov @ Jul 25 2008, 17:03) Можно... Jul 26 2008, 00:05     petrov Цитата(vadimuzzz @ Jul 26 2008, 04:05) ... Jul 26 2008, 09:06      vadimuzzz Цитата(petrov @ Jul 26 2008, 16:06) Хорош... Jul 27 2008, 07:32
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|