|
|
  |
Правильная настройка корректора |
|
|
|
Apr 12 2011, 07:37
|
Частый гость
 
Группа: Участник
Сообщений: 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,'.')
|
|
|
|
|
Apr 14 2011, 04:50
|
Частый гость
 
Группа: Участник
Сообщений: 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.
|
|
|
|
|
Apr 14 2011, 19:00
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729

|
Опорное созвездие
oporn.zip ( 1.09 килобайт )
Кол-во скачиваний: 74. На основе его модуляция плюс шум получается xn. нормирование mut делением его на квадрат амплитуды опорного сигнала минус малая постоянная (0.1) только во благо не прокатывает.
|
|
|
|
|
Apr 15 2011, 01:11
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268

|
Цитата(Alex65111 @ Apr 14 2011, 23:00)  Опорное созвездие
oporn.zip ( 1.09 килобайт )
Кол-во скачиваний: 74. На основе его модуляция плюс шум получается xn. нормирование mut делением его на квадрат амплитуды опорного сигнала минус малая постоянная (0.1) только во благо не прокатывает. автор как бы намекает что в опорном сигнале есть шум?
|
|
|
|
|
Apr 15 2011, 05:27
|
Знающий
   
Группа: Свой
Сообщений: 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 в алгоритме со сопряжениями ничего не напутано ?
--------------------
ну не художники мы...
|
|
|
|
|
Apr 15 2011, 06:19
|
Частый гость
 
Группа: Участник
Сообщений: 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 в гугле написано много, но не клеется. Пишут и про абстракт типа собственных значений, и про более приближенное к жизни энергию сигнала в фильтре корректора, но нигде не видел реального примера расчета, все везде в лучшем случае приводят формулу, а потом сразу же его задают и все, без примера расчета по формуле.
|
|
|
|
|
Apr 15 2011, 07:39
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(Alex65111 @ Apr 15 2011, 10:19)  Насчет R рекомендуют отношение 4ой степени к квадрату созвездия чем и пользуюсь. А про stepsize в гугле написано много, но не клеется. Пишут и про абстракт типа собственных значений, и про более приближенное к жизни энергию сигнала в фильтре корректора, но нигде не видел реального примера расчета, все везде в лучшем случае приводят формулу, а потом сразу же его задают и все, без примера расчета по формуле. Так какой может быть расчет stepsize? Если бы была известна импульсная характеристика (ИХ) канала, то можно было бы на основе собственных чисел найти оптимальное значение stepsize. Но в жизни ИХ не известна, поэтому просто берут stepsize порядка 0.0001.. 0.01 и практическим путем подбирают. С другой стороны если ИХ известна (чисто гипотетический случай), на фиг тогда вообще адаптивный корректор? Один раз посчитали фильтр и все  . ps если еще не читали, почитайте про NLMS, но там тоже "отфонарный" коэффициент присутствует.
--------------------
ну не художники мы...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|