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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Реализация LMS для QAM-4
des00
сообщение May 22 2011, 13:34
Сообщение #31


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Wanderer.I @ May 22 2011, 04:37) *
При реализации алгоритма согласно "Adaptive Filter Theory. Simon Naykin":
При реализации в Matlab получается, что всё расходится:

у кого как, у меня все работает wink.gif

ЗЫ. на этом форуме выкладывал разные модельки именно эквалайзеров в симулинке


--------------------
Go to the top of the page
 
+Quote Post
petrov
сообщение May 22 2011, 15:49
Сообщение #32


Гуру
******

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



Цитата(des00 @ May 22 2011, 17:34) *
у кого как, у меня все работает ;)

ЗЫ. на этом форуме выкладывал разные модельки именно эквалайзеров в симулинке


Ну не нужно человеку рабочее, наглядное, по десятому разу перетёртое :)

Wanderer.I

Всё же нужно, ответил в личку.
Go to the top of the page
 
+Quote Post
alex_os
сообщение May 23 2011, 04:45
Сообщение #33


Знающий
****

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



Цитата(Serg76 @ May 22 2011, 16:51) *
У меня работают две следующие схемы подстройки коэффициентов и дают практически одинаковый результат


Это Вам повезло с каналом sm.gif.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Serg76
сообщение May 23 2011, 05:44
Сообщение #34


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(alex_os @ May 23 2011, 07:45) *
Это Вам повезло с каналом sm.gif.

Это работает в плохих каналах АБГШ, а также в каналах для проводных модемов с плотными сигнальными созвездиями (v.32bis) laughing.gif

Сообщение отредактировал Serg76 - May 23 2011, 05:48
Go to the top of the page
 
+Quote Post
des00
сообщение May 23 2011, 06:02
Сообщение #35


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(Serg76 @ May 22 2011, 23:44) *
Это работает в плохих каналах АБГШ, а также в каналах для проводных модемов с плотными сигнальными созвездиями (v.32bis) laughing.gif

два, три луча поставьте или спектральный ноль децибел в 20 wink.gif


--------------------
Go to the top of the page
 
+Quote Post
alex_os
сообщение May 23 2011, 06:10
Сообщение #36


Знающий
****

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



Цитата(Serg76 @ May 23 2011, 09:44) *
Это работает в плохих каналах АБГШ, а также в каналах для проводных модемов с плотными сигнальными созвездиями (v.32bis) laughing.gif

Я бы сказал, что это хорошо работает для каналов, AЧХ которых симметрична относительно несущей и
как-то работает для всех остальных каналов.
Например:
x - последовательность комплексных символов на выходе передатчика;
y - вход корректора;
h = [1, 0.1i] - ИХ канала.
Тогда
y_re(i) = x_re(i) - 0.1 * x_im(i-1)

т.е. для приведенной ИХ, если рассматривать квадратуры не зависимо друг от друга,
межсимвольная интерференция выглядит как помеха от квадратурного канала и
ни какими силами ее не возможно отфильтровать .







--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Serg76
сообщение May 23 2011, 06:36
Сообщение #37


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(des00 @ May 23 2011, 09:02) *
два, три луча поставьте или спектральный ноль децибел в 20 wink.gif

На многолучевке не проверял, поэтому ничего сказать не могу, но вскоре такой шанс представится
Go to the top of the page
 
+Quote Post
Wanderer.I
сообщение May 23 2011, 07:51
Сообщение #38


Участник
*

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



Цитата(alex_os @ May 23 2011, 10:10) *
Я бы сказал, что это хорошо работает для каналов, AЧХ которых симметрична относительно несущей и
как-то работает для всех остальных каналов.
Например:
x - последовательность комплексных символов на выходе передатчика;
y - вход корректора;
h = [1, 0.1i] - ИХ канала.
Тогда
y_re(i) = x_re(i) - 0.1 * x_im(i-1)

т.е. для приведенной ИХ, если рассматривать квадратуры не зависимо друг от друга,
межсимвольная интерференция выглядит как помеха от квадратурного канала и
ни какими силами ее не возможно отфильтровать .

Т.е. к примеру качестве модели канала, лучше использовать фильтр с комплексной импульсной характеристикой и чтобы комплексная часть и мнимые не совпадали?
Go to the top of the page
 
+Quote Post
petrov
сообщение May 23 2011, 08:22
Сообщение #39


Гуру
******

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



Цитата(Wanderer.I @ May 23 2011, 11:51) *
Т.е. к примеру качестве модели канала, лучше использовать фильтр с комплексной импульсной характеристикой и чтобы комплексная часть и мнимые не совпадали?


Разумеется в реальной жизни лучи имеют произвольный сдвиг фаз друг относительно друга.
Go to the top of the page
 
+Quote Post
alex_os
сообщение May 23 2011, 08:22
Сообщение #40


Знающий
****

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



Цитата(Wanderer.I @ May 23 2011, 11:51) *
Т.е. к примеру качестве модели канала, лучше использовать фильтр с комплексной импульсной характеристикой и чтобы комплексная часть и мнимые не совпадали?

Конечно!


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
Wanderer.I
сообщение May 23 2011, 08:35
Сообщение #41


Участник
*

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



Вот только после изучения всего добра, всё равно не заработало ничего, всё расходится. sad.gif Шаг я так понимаю 0.01 вполне нормальный.А вот неправильный вариант успешно работает. То ли дело в том что импульсная характеристика канала для мнимой и действительной части у меня одинаковая. Буду дальше экспериментировать с несимметричной.
Go to the top of the page
 
+Quote Post
thermit
сообщение May 23 2011, 10:25
Сообщение #42


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
Wanderer.I:
Вот только после изучения всего добра, всё равно не заработало ничего, всё расходится. sad.gif Шаг я так понимаю 0.01 вполне нормальный.


Конечно, правильным является использование комплексного алгоритма.
Не надо забывать, что либо e, либо u должны быть комплексно сопряженные в формуле пересчета коэффициентов.
Что касается шага - он вообще говоря, зависит от длины фильтра. Советую использовать nlms, где в качестве шага используется величина = 1/(сумма квадратов значений линии задержки).

Сообщение отредактировал thermit - May 23 2011, 10:27
Go to the top of the page
 
+Quote Post
Wanderer.I
сообщение May 23 2011, 20:44
Сообщение #43


Участник
*

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



Цитата(thermit @ May 23 2011, 14:25) *
Конечно, правильным является использование комплексного алгоритма.
Не надо забывать, что либо e, либо u должны быть комплексно сопряженные в формуле пересчета коэффициентов.
Что касается шага - он вообще говоря, зависит от длины фильтра. Советую использовать nlms, где в качестве шага используется величина = 1/(сумма квадратов значений линии задержки).

Конечно NLMS лучше, но мне нужен конкретно LMS просто. Вот что у меня получилось для BPSK:

Однако стоит только помять сигнал на КАМ-4,всё сразу ломается(импульсная характеристика расходится). Смотрел я примеры, но в чём разница не пойму. Может ли проблема быть в модели канала? Что ещё может быть я не знаю. wacko.gif
Прикрепленный файл  lms_test.rar ( 1000 байт ) Кол-во скачиваний: 89
Go to the top of the page
 
+Quote Post
alex_os
сообщение May 24 2011, 06:43
Сообщение #44


Знающий
****

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



To Wanderer.I
Нужно сделать примерно так
1. Включить режим QAM4, h = [1, 0], w- все нули в середине единица.
2 Добиться работы в этих условиях. На начальном этапе адаптацию можно выключить
и убедится что e получается равной нулю. Потом включить адаптацию и убедится
что не разваливается.
3. Поставить h = [1, 0.2j] и убедится что корректор работает.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
thermit
сообщение May 24 2011, 10:24
Сообщение #45


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Что-то вроде этого должно быть:

Код
clear all;
c4=[1+j -1+j 1-j -1-j];
HI = [ 0.00001   0.0004    0.0002   -0.0010    0.0010        0.0039      -0.0120 ...
      -0.0300    -0.1800  -0.1000   -0.0300    0.0020        0.0200       0.0500 ...
       0.0950    -0.0200  -0.3500   -0.3000   -0.1000        0.3970       0.3500 ...
      -0.0300    -0.1800  -0.0223   -0.0100    0.0000205     -0.00000039 -0.000000017...
       0.000001   0.00000008];
  
HR = [ 0.00001   0.0008    0.0002   -0.0010    0.0010        0.0039      -0.0120 ...
      -0.0300    -0.1900   0.1000   -0.0300    0.0020        0.0200       0.0500 ...
       0.0950    -0.0200  -0.3500   -0.3400   -0.1000        0.470       0.3500 ...
      -0.0300    -0.1800  -0.0223   -0.0100    0.000205      0.00000039  -0.000000117...
       0.000001   0.00000008];

EL=60;
NP=4;
tx=c4(randint(1,10000,NP)+1);

h=complex(HR,HI);


rx=filter(h,1,tx);

u=0.5/(EL*std(rx)^2);
y=lms([zeros(1,(length(h)/2)+EL/2) tx],rx,EL,u);

plot(y(5000:end),'.');




lms.m
Код
function cs = lms(r,t,N,mu)

mem=zeros(1,N);
coeff=zeros(N,1);
cs=[];
for i=1:length(t)
    mem=[t(i) mem(1:end-1)];
    ms=mem*coeff;
    e=r(i)-ms;
    cs=[cs ms];
    coeff=coeff+mem'*mu*e;
end;

return;
Go to the top of the page
 
+Quote Post

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

 


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


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