реклама на сайте
подробности

 
 
12 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Демодуляция QAM
Михаил_K
сообщение Apr 10 2008, 06:43
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(_Anatoliy @ Apr 9 2008, 19:18) *
Михаил,извините но что значит по решению?
Я не зря написал в корневом посте "Коллеги,посоветуйте с чего начать,в этих делах пока новичёк."
Спасибо!


По решению значит вот что. Например для ФМ4. Для определенности считаем, что точки должны находиться на диагоналях. Поэтому берем конкретный отсчет (символ) и смотрим по его координатам, где он находится. В зависимости от его нахождения вырабатываем сигнал ошибки для системы ФАПЧ. Строго говоря, для сигнала ФМ4 нужно брать арктангенс отношения Q/I. Но для практической реализации это не удобно. Я например делал так:
1. Проводится преобразование координат (знаков координат) текущей точки так, чтобы она попала в первый квадрант.
2. Берется разность координат - это и есть ошибка.

Вот кусок кода. Iin, Qin - координаты текущего символа

Int_I<=Iin;
Int_Q<=Qin;
Int_In<=(not Iin) + '1';
Int_Qn<=(not Qin) + '1';
if (Int_I(7) = '0' and Int_Q(7) = '0') then
IQuad<=Int_I;
QQuad<=Int_Q;
elsif (Int_I(7) = '1' and Int_Q(7) ='1') then
IQuad<=Int_In;
QQuad<=Int_Qn;
elsif (Int_I(7) = '0' and Int_Q(7) = '1') then
IQuad<=Int_Qn;
QQuad<=Int_I;
else
IQuad<=Int_Q;
QQUad<=Int_In;
end if;

Error<=IQuad - QQuad;

Для высших порядков QAM решающее устройство будет сложнее.
Кстати, если качество несущей частоты хорошее, можно пользоваться схемой костаса.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 10 2008, 10:29
Сообщение #17


Утомлённый солнцем
******

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



Цитата(petrov @ Apr 10 2008, 08:05) *
Пишите здесь, это может быть ещё кому-нибудь интересно, больше людей смогут вам помочь.

Хорошо.
За какое время (количество символов) происходит символьная синхронизация(скажем при заданном Eb/N0 и заданном символьном рассогласовании)?
Чем вызвано применение символьной задержки по сигналу ошибки,а не подстройка ГУНТ?


Цитата(Михаил_K @ Apr 10 2008, 09:43) *
По решению значит вот что. Например для ФМ4. Для определенности считаем, что точки должны находиться на диагоналях. Поэтому берем конкретный отсчет (символ) и смотрим по его координатам, где он находится. В зависимости от его нахождения вырабатываем сигнал ошибки для системы ФАПЧ. Строго говоря, для сигнала ФМ4 нужно брать арктангенс отношения Q/I. Но для практической реализации это не удобно. Я например делал так:
1. Проводится преобразование координат (знаков координат) текущей точки так, чтобы она попала в первый квадрант.
2. Берется разность координат - это и есть ошибка.


Спасибо,приму к сведению.Сейчас просто накапливаю информацию.

Сообщение отредактировал _Anatoliy - Apr 10 2008, 10:36
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 10 2008, 10:50
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Apr 9 2008, 23:54) *
За какое время (количество символов) происходит символьная синхронизация(скажем при заданном Eb/N0 и заданном символьном рассогласовании)?


Это определяется коэффициентами передачи интегрирующего и пропорционального звена в ФАПЧ, у Незами посмотрите этот вопрос кратенько рассматривается, это теория автоматического управления в чистом виде.


Цитата(_Anatoliy @ Apr 9 2008, 23:54) *
Чем вызвано применение символьной задержки по сигналу ошибки,а не подстройка ГУНТ?


Не понял вопроса.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 10 2008, 11:05
Сообщение #19


Утомлённый солнцем
******

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



Цитата(petrov @ Apr 10 2008, 13:50) *
Это определяется коэффициентами передачи интегрирующего и пропорционального звена в ФАПЧ, у Незами посмотрите этот вопрос кратенько рассматривается, это теория автоматического управления в чистом виде.
Не понял вопроса.


Можно генератор импульсов символьной синхронизации фапчем подстраивать под частоту символов.А у Вас применяется Farrow_interpolator у Незами тоже его нашёл.Чем такой способ лучше?
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 10 2008, 11:22
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Apr 10 2008, 15:05) *
Можно генератор импульсов символьной синхронизации фапчем подстраивать под частоту символов.А у Вас применяется Farrow_interpolator у Незами тоже его нашёл.Чем такой способ лучше?


Там и подстраивается генератор импульсов плюс дробная часть с NCO используется в интерполяторе фарроу для точного вычисления символа, иначе отсчёт с выхода согласованного фильтра брался бы с точностью до частоты дискретизации и не попадал бы в максимум раскрытия глазка.
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 10 2008, 11:25
Сообщение #21


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(petrov @ Apr 10 2008, 15:22) *
Там и подстраивается генератор импульсов плюс дробная часть с NCO используется в интерполяторе фарроу для точного вычисления символа, иначе отсчёт с выхода согласованного фильтра брался бы с точностью до частоты дискретизации и не попадал бы в максимум раскрытия глазка.


Он кажется не о том спросил. Если я понял правильно.
Он, кажется, спросил: Почему бы не использовать АНАЛОГОВЫЙ фапч, вместо того чтобы использовать интерполяцию на заданной фиксированой последовательности отсчётов.
Тогда ответ не лучше или хуже. Ответ: Чтобы двигать фазу отсчётов АЦП прямо в аналоге нужен дорогой и развесистый фронт-энд. Часто такой возможности нет. И для полностью цифровой модели это криво

Т.е. если АЦП позволяет двигать фазу отсчётов с нужной точностью можно использовать аналоговый ФАПЧ с сигналом рассогласования по алгоритму например Гарднера. Если фазу АЦП двигать нельзя или точность недостаточна, задача решается в цифре интерполятором. Это скорее альтернативные подходы, чем взаимозаменяющие лучше-хуже
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 10 2008, 12:39
Сообщение #22


Утомлённый солнцем
******

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



Цитата(petrov @ Apr 10 2008, 14:22) *
Там и подстраивается генератор импульсов плюс дробная часть с NCO используется в интерполяторе фарроу для точного вычисления символа, иначе отсчёт с выхода согласованного фильтра брался бы с точностью до частоты дискретизации и не попадал бы в максимум раскрытия глазка.


Я правильно понял - NCO подстраивается под символьную частоту, а интерполятор обеспечивает нулевой фазовый сдвиг(попадание в максимум раскрытия глазка)?

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



Цитата(fontp @ Apr 10 2008, 14:25) *


Понял,спасибо.
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 10 2008, 12:52
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Apr 10 2008, 16:39) *
Я правильно понял - NCO подстраивается под символьную частоту, а интерполятор обеспечивает нулевой фазовый сдвиг(попадание в максимум раскрытия глазка)?

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


Без интерполятора не будет в общем случае. Опорные генераторы в приёмнике и передатчике никак не синхронизированы ни по частоте ни по фазе, нет гарантии что в приёмнике отсчёт попадёт в максимум глазка, без интерполятора фапч будет брать ближайший возможный отчёт, но будет оставаться временная ошибка в наихудшем случае, до половины периода дискретизации.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 10 2008, 14:23
Сообщение #24


Утомлённый солнцем
******

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



Цитата(petrov @ Apr 10 2008, 15:52) *
Без интерполятора не будет в общем случае. Опорные генераторы в приёмнике и передатчике никак не синхронизированы ни по частоте ни по фазе, нет гарантии что в приёмнике отсчёт попадёт в максимум глазка, без интерполятора фапч будет брать ближайший возможный отчёт, но будет оставаться временная ошибка в наихудшем случае, до половины периода дискретизации.


Понятно.Я как раз думал что у Вас происходит подстройка опорного генератора приёмника под генератор передатчика по частоте и фазе.Теперь вижу что это не так.
А всё таки,нельзя ли как то подстроить генератор приёмника?Не упростит ли это задачу?
Go to the top of the page
 
+Quote Post
Михаил_K
сообщение Apr 11 2008, 06:18
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 552
Регистрация: 29-02-08
Пользователь №: 35 481



Цитата(_Anatoliy @ Apr 10 2008, 18:23) *
Понятно.Я как раз думал что у Вас происходит подстройка опорного генератора приёмника под генератор передатчика по частоте и фазе.Теперь вижу что это не так.
А всё таки,нельзя ли как то подстроить генератор приёмника?Не упростит ли это задачу?


Если предполагается прием сигнала на определенной тактовой частоте, то для АЦП хорошо подходит кварцевый гун, который и подстраивается. У меня во всех модемах на фиксированную скорость так сделано. Соотвественно не нужно делать интерполятор, который отъедает приличный кусок ПЛИСа.
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 11 2008, 06:55
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Apr 10 2008, 18:23) *
Понятно.Я как раз думал что у Вас происходит подстройка опорного генератора приёмника под генератор передатчика по частоте и фазе.Теперь вижу что это не так.
А всё таки,нельзя ли как то подстроить генератор приёмника?Не упростит ли это задачу?


Смотря что понимать под упрощением. Так ведь можно модем в аналоге реализовать без FPGA и сигнальных процессоров. Дополнительные ГУН, ЦАП, обвязка, разводка печатной платы, отладка всего этого хозяйства вместо простого, сразу работающего, математического алгоритма это упрощение? И не будет это стоить дешевле. В серьёзном модеме интерполятор символьной синхронизации занимает незначительную часть вычислительных ресурсов. Современные средства ЦОС позволяют сделать всё в цифре не понимаю зачем нужно делать шаг назад.
Go to the top of the page
 
+Quote Post
fontp
сообщение Apr 11 2008, 07:17
Сообщение #27


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(petrov @ Apr 11 2008, 10:55) *
Смотря что понимать под упрощением. Так ведь можно модем в аналоге реализовать без FPGA и сигнальных процессоров. Дополнительные ГУН, ЦАП, обвязка, разводка печатной платы, отладка всего этого хозяйства вместо простого, сразу работающего, математического алгоритма это упрощение? И не будет это стоить дешевле. В серьёзном модеме интерполятор символьной синхронизации занимает незначительную часть вычислительных ресурсов. Современные средства ЦОС позволяют сделать всё в цифре не понимаю зачем нужно делать шаг назад.


Иметь в аналоге, что-то что можно сделать в цифре есть шаг назад, поскольку аналог это источник нестабильности и разброса параметров. Но не всё так однозначно. ФАПЧ на самом деле может быть полностью цифровым (хоть и на уровне аналогового фронт-энда), если АЦП имеет функцию в цифре линейно двигать фазу отсчётов. Такие АЦП есть. И хотя возникают вопросы с какой точностью они реально это делают, с какими переходными характеристиками, особенно задержкой, и всё такое - если это регулирование адекватно задаче, то это возможно лучшее решение. Остаётся только единственный недостаток: интерполятор это алгоритм который полностью и легко отлаживается в модельной обстановке, а программа ФАПЧ с управлением АЦП - риал-тайм процесс, отладить который значительно сложнее. Но это ж не смертельно
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 11 2008, 07:52
Сообщение #28


Утомлённый солнцем
******

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



Цитата(Михаил_K @ Apr 11 2008, 09:18) *
Если предполагается прием сигнала на определенной тактовой частоте, то для АЦП хорошо подходит кварцевый гун, который и подстраивается. У меня во всех модемах на фиксированную скорость так сделано. Соотвественно не нужно делать интерполятор, который отъедает приличный кусок ПЛИСа.


Вот-вот,и я об этом же подумал. beer.gif

Только как нормально выделить несущую и символьную тактовую?

У Незами всё вроде красиво получается,я попробовал в матлабе модель по рисунку 7-3 для QAM-16. Работает,выделяет ошибку несущей,но почемуто не точно,даёт ошибку в пределах +- 1,5 Гц, как ни бился уменьшить её не получилось.Да и для QAM-256 возводить отсчёты в 256-ю степень мало приятного...

Цитата(petrov @ Apr 11 2008, 09:55) *
Смотря что понимать под упрощением. Так ведь можно модем в аналоге реализовать без FPGA и сигнальных процессоров. Дополнительные ГУН, ЦАП, обвязка, разводка печатной платы, отладка всего этого хозяйства вместо простого, сразу работающего, математического алгоритма это упрощение? И не будет это стоить дешевле. В серьёзном модеме интерполятор символьной синхронизации занимает незначительную часть вычислительных ресурсов. Современные средства ЦОС позволяют сделать всё в цифре не понимаю зачем нужно делать шаг назад.


Спасибо! Я Вас понял.
Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 11 2008, 08:19
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Apr 11 2008, 11:52) *
У Незами всё вроде красиво получается,я попробовал в матлабе модель по рисунку 7-3 для QAM-16. Работает,выделяет ошибку несущей,но почемуто не точно,даёт ошибку в пределах +- 1,5 Гц, как ни бился уменьшить её не получилось.Да и для QAM-256 возводить отсчёты в 256-ю степень мало приятного...


У Незами как раз и написано что для QAM это плохой алгоритм, для фазовой синхронизации используйте ФАПЧ управляемую разностью между аргументом решения и аргументом принимаемого вектора. Для плотных созвездий будет маленькая полоса захвата:
http://electronix.ru/forum/index.php?showtopic=45021

У вас кстати модуляция непрерывная или пакетная?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Apr 11 2008, 08:36
Сообщение #30


Утомлённый солнцем
******

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



Цитата(petrov @ Apr 11 2008, 11:19) *
У Незами как раз и написано что для QAM это плохой алгоритм, для фазовой синхронизации используйте ФАПЧ управляемую разностью между аргументом решения и аргументом принимаемого вектора. Для плотных созвездий будет маленькая полоса захвата:
http://electronix.ru/forum/index.php?showtopic=45021

У вас кстати модуляция непрерывная или пакетная?


Спасибо за ссылку!Модуляция у меня будет непрерывная.

Скажите,а Ваша модель сильно изменится для QAM-256 или косметически?
Go to the top of the page
 
+Quote Post

12 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 12:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.02952 секунд с 7
ELECTRONIX ©2004-2016