Jump to content

    

Wanderer.I

Участник
  • Content Count

    38
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Wanderer.I

  • Rank
    Участник

Recent Profile Visitors

1122 profile views
  1. Всем привет! Может у кого-нибудь завалялась книга Digital Communication Edward A. Lee David G. Messerschmitt? Если есть возможность не могли бы поделиться.
  2. Спасибо большое! Всё заработало. Я понял в чём ошибка, при выполнение свёртки я брал импульсную характеристику,транспонировал затем брал комплексно-сопряжённую( эрмитово преобразование), а нужно только транспонировать было.
  3. Конечно NLMS лучше, но мне нужен конкретно LMS просто. Вот что у меня получилось для BPSK: Однако стоит только помять сигнал на КАМ-4,всё сразу ломается(импульсная характеристика расходится). Смотрел я примеры, но в чём разница не пойму. Может ли проблема быть в модели канала? Что ещё может быть я не знаю. lms_test.rar
  4. Вот только после изучения всего добра, всё равно не заработало ничего, всё расходится. :( Шаг я так понимаю 0.01 вполне нормальный.А вот неправильный вариант успешно работает. То ли дело в том что импульсная характеристика канала для мнимой и действительной части у меня одинаковая. Буду дальше экспериментировать с несимметричной.
  5. Т.е. к примеру качестве модели канала, лучше использовать фильтр с комплексной импульсной характеристикой и чтобы комплексная часть и мнимые не совпадали?
  6. При реализации алгоритма согласно "Adaptive Filter Theory. Simon Naykin": Данные формулы получены из комплексного представления сигнала. При реализации в Matlab получается, что всё расходится: b = [ 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]; x = randint(10000,1,4); y = modmap(x,1,1,'qask',4); TXI = y(:,1); TXQ = y(:,2); I = conv(TXI, b); Q = conv(TXQ, b); %scatterplot(TXI(15:end)+j*TXQ(15:end)); %I = awgn(I,10,'measured'); %Q = awgn(Q,10,'measured'); %scatterplot(I(15:end)+j*Q(15:end)); WI=zeros(55,1); WQ=zeros(55,1); mu=0.01; RX_EQ_I=zeros(1,1); RX_EQ_Q=zeros(1,1); RXI = vertcat( zeros(55,1), I(1:end)); RXQ = vertcat( zeros(55,1), Q(1:end)); %компенсация задержки в канале TXI_D = vertcat( zeros(45,1), TXI ); TXQ_D = vertcat( zeros(45,1), TXQ ); for n=1:5000 YI=WI'*RXI(n:n+55-1)-WQ'*RXQ(n:n+55-1); YQ=WI'*RXQ(n:n+55-1)+WQ'*RXI(n:n+55-1); EI=TXI_D(n)-YI; EQ=TXQ_D(n)-YQ; WI=WI+mu*( EI*RXI(n:n+55-1)-EQ*RXQ(n:n+55-1)); WQ=WQ+mu*( EI*RXQ(n:n+55-1)+EQ*RXI(n:n+55-1)); RX_EQ_I=[RX_EQ_I YI]; RX_EQ_Q=[RX_EQ_Q YQ]; end scatterplot(RX_EQ_I(4000:end)+j*RX_EQ_Q(4000:end)); Может я чего-то не так понял?
  7. Вот у меня тоже возникли подозрения, что обработка по отдельности квадратур - это неправильно. Так как банальная операция умножения двух комплексных чисел( которая используется в LMS) не равна произведению мнимой и действительной части в отдельности.
  8. Вычисления все сложнее становятся, так как C в отличие от Matlab комплексные переменные не поддерживает.
  9. Я видимо немного не так понял тебя, я думал речь идёт о готовых блоках. Теперь всё ясно. Сейчас поиском займусь тогда, спасибо! Просто всё это дело надо ещё в фикспоинт уложить, поэтому вариант с двумя каналами будет проще.
  10. Каким образом можно посмотреть каким образом работает данный блок более детально? Ведь максимум можно увидеть пару кирпичиков, достаточно много функциональных
  11. В чём их наглядность интересно? Если это чёрный ящик по сути?
  12. Дело в том, что я уже почти реализовал это в виде двух эквалайзеров, один для действительной части, другой для мнимой, но сейчас сомнения появились в том правильно это или нет. Т.е. если я сделаю скажем для каждой компоненты I и Q свой эквалайзер всё должно работать? Мне нужно это реализовать на C( а конвертация из симулинка в C не годится). Первоначально планирую в Matlab написать в виде m файла. А где можно прочесть про реализацию в комплексном виде?
  13. Добрый день! Мне нужно реализовать модель приёмника с LMS эквалайзером при КАМ модуляции. Проблема состоит в следующем, мне не совсем понятно как быть в данном случае с квадратурной и синфазной составляющей, должно ли в данном случае присутствовать два эквалайзера один для квадратурной, а другой для синфазной составляющей ( т.е. для каждой составляющей импульсная характеристика будет линейной) или же данный алгоритм должен работать в комплексном виде( импульсная характеристика комплексная)? Дело в том, что все найденные мной описания оперирует с действительными числами.
  14. Может кто-нибудь скинуть эти книжки на почту ilgiz-tasc@mail.ru: Adaptive_Filtering_-_Algorithms_and_Practical_Implementation_-_Diniz.pdf Adaptive_Filters_-_Ali_H_Sayed.pdf Adaptive_Filter_Theory__3ed__-_Haykin.djvu (вот это читал всё) pipelined-adaptive-Digital-filters.pdf Б.Уидроу, С.Стирнз Адаптивная обработка сигналов