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

 
 
 
Reply to this topicStart new topic
> Правильная настройка корректора
Alex65111
сообщение Apr 12 2011, 07:37
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729




Имеется сигнал xn (КАМ16). Прикрепленный файл  s1.zip ( 15.49 килобайт ) Кол-во скачиваний: 83
Приведенная ниже программа худо ли бедно но корректирует МСИ. Однако, если выполнить нормировку входного сигнала (снять комментарий со строчки xn=xn/std(xn)), то как научно подобрать R и mut неясно (R вроде бы должен уменьшаться, а mut увеличиваться), а ручной подбор R и mut к положительному результату не приводит.
Вопрос – как при нормировании сигнала ро мощности к 1 подобрать R и mut, или нормирование по мощности может оказаться вредным?

load s1;

%xn=xn/std(xn);

iterations = length(xn)-50; % number of iterations
M = 7; % number of filter taps
N = iterations+M-1;

mut = 1e-4; % step size

R=12;
w=zeros(M,1);
w(round(M/2))=1;
for i=M:N
k = i-M+1;
Zy(k,1) = w'*xn(i:-1:i-M+1);
err(k,1)=Zy(k,1)*(R - abs(Zy(k,1))^2);
w = w + mut.*xn(i:-1:i-M+1).*err(k,1)';
end

figure, plot(Zy,'.')


Go to the top of the page
 
+Quote Post
Andrey_1
сообщение Apr 14 2011, 04:50
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268



Цитата(Alex65111 @ Apr 12 2011, 11:37) *
Имеется сигнал xn (КАМ16). Прикрепленный файл  s1.zip ( 15.49 килобайт ) Кол-во скачиваний: 83
Приведенная ниже программа худо ли бедно но корректирует МСИ. Однако, если выполнить нормировку входного сигнала (снять комментарий со строчки xn=xn/std(xn)), то как научно подобрать R и mut неясно (R вроде бы должен уменьшаться, а mut увеличиваться), а ручной подбор R и mut к положительному результату не приводит.
Вопрос – как при нормировании сигнала ро мощности к 1 подобрать R и mut, или нормирование по мощности может оказаться вредным?

load s1;

%xn=xn/std(xn);

iterations = length(xn)-50; % number of iterations
M = 7; % number of filter taps
N = iterations+M-1;

mut = 1e-4; % step size

R=12;
w=zeros(M,1);
w(round(M/2))=1;
for i=M:N
k = i-M+1;
Zy(k,1) = w'*xn(i:-1:i-M+1);
err(k,1)=Zy(k,1)*(R - abs(Zy(k,1))^2);
w = w + mut.*xn(i:-1:i-M+1).*err(k,1)';
end

figure, plot(Zy,'.')


нормирование mut делением его на квадрат амплитуды опорного сигнала минус малая постоянная (0.1) только во благо - не будете совокуплятся с ручной настройкой шага адаптации мут (mut)

help lms в командном окне

See also signlms, normlms, varlms, rls, cma, lineareq, dfe, equalize.
Go to the top of the page
 
+Quote Post
Alex65111
сообщение Apr 14 2011, 19:00
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729



Опорное созвездие Прикрепленный файл  oporn.zip ( 1.09 килобайт ) Кол-во скачиваний: 74
. На основе его модуляция плюс шум получается xn.



нормирование mut делением его на квадрат амплитуды опорного сигнала минус малая постоянная (0.1) только во благо не прокатывает.




Go to the top of the page
 
+Quote Post
Andrey_1
сообщение Apr 15 2011, 01:11
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268



Цитата(Alex65111 @ Apr 14 2011, 23:00) *
Опорное созвездие Прикрепленный файл  oporn.zip ( 1.09 килобайт ) Кол-во скачиваний: 74
. На основе его модуляция плюс шум получается xn.

нормирование mut делением его на квадрат амплитуды опорного сигнала минус малая постоянная (0.1) только во благо не прокатывает.


автор как бы намекает что в опорном сигнале есть шум?
Go to the top of the page
 
+Quote Post
alex_os
сообщение Apr 15 2011, 05:27
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Alex65111 @ Apr 12 2011, 11:37) *
Имеется сигнал xn (КАМ16). Прикрепленный файл  s1.zip ( 15.49 килобайт ) Кол-во скачиваний: 83
Приведенная ниже программа худо ли бедно но корректирует МСИ. Однако, если выполнить нормировку входного сигнала (снять комментарий со строчки xn=xn/std(xn)), то как научно подобрать R и mut неясно (R вроде бы должен уменьшаться, а mut увеличиваться), а ручной подбор R и mut к положительному результату не приводит.
Вопрос – как при нормировании сигнала ро мощности к 1 подобрать R и mut, или нормирование по мощности может оказаться вредным?


Гуглить "CMA equalizer" и прочитать что такое R тогда все вопросы отпадут. У Вас явная ерунда написана, нормализация сигнала к 1, а R=12. R однозначно определяется созвездием и равен (может ошибусь) среднему значению квадратов модулей точек сигнального созвездия.
ps в алгоритме со сопряжениями ничего не напутано ?


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Alex65111
сообщение Apr 15 2011, 06:19
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729



Цитата(Andrey_1 @ Apr 15 2011, 05:11) *
автор как бы намекает что в опорном сигнале есть шум?


Че то совсем непонятно. Под опорным сигналом (т.е. исходным созвездием) я понимаю чистый "а". Принимаю "xn".
"mut" надо делить на std(a)^2 или на std(xn)^2?, и не надо ли эту величину еще умножать на длину фильтра эквалайзера "M"?
Делал и так и так, но не сходится. И вообще, какое "mut" надо нормировать - то что было исходным, т.е. mut = 1e-4?

Цитата(alex_os @ Apr 15 2011, 09:27) *
У Вас явная ерунда написана, нормализация сигнала к 1, а R=12. R однозначно определяется созвездием и равен (может ошибусь) среднему значению квадратов модулей точек сигнального созвездия.


12 написано без норировки, хотя более точно там получается 13 с копейкой. После нормировки естественно R пресчитываю и ставлю его около 1.3.
Насчет R рекомендуют отношение 4ой степени к квадрату созвездия чем и пользуюсь.
А про stepsize в гугле написано много, но не клеется. Пишут и про абстракт типа собственных значений, и про более приближенное к жизни энергию сигнала в фильтре корректора, но нигде не видел реального примера расчета, все везде в лучшем случае приводят формулу, а потом сразу же его задают и все, без примера расчета по формуле.
Go to the top of the page
 
+Quote Post
alex_os
сообщение Apr 15 2011, 07:39
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(Alex65111 @ Apr 15 2011, 10:19) *
Насчет R рекомендуют отношение 4ой степени к квадрату созвездия чем и пользуюсь.
А про stepsize в гугле написано много, но не клеется. Пишут и про абстракт типа собственных значений, и про более приближенное к жизни энергию сигнала в фильтре корректора, но нигде не видел реального примера расчета, все везде в лучшем случае приводят формулу, а потом сразу же его задают и все, без примера расчета по формуле.


Так какой может быть расчет stepsize? Если бы была известна импульсная характеристика (ИХ) канала, то можно было бы
на основе собственных чисел найти оптимальное значение stepsize. Но в жизни ИХ не известна, поэтому просто берут
stepsize порядка 0.0001.. 0.01 и практическим путем подбирают. С другой стороны если ИХ известна (чисто гипотетический случай), на фиг тогда вообще адаптивный корректор? Один раз посчитали фильтр и все sm.gif.

ps если еще не читали, почитайте про NLMS, но там тоже "отфонарный" коэффициент присутствует.



--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 11:20
Рейтинг@Mail.ru


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