|
Слепые эквалайзеры, Определение типа канала без априорной информации |
|
|
|
Oct 1 2007, 13:58
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 1-10-07
Пользователь №: 30 974

|
Доброе время суток. Я сейчас занимаюсь изучением слепых эквалайзеров(Blind equalizers). И в процессе у меня возник закономерный вопрос - можем ли мы хотя бы в теории узнать присутствуют ли искажения в канале(МСИ) или это просто гаусовский шум, не зная передаваемую информацию. Возможно это проявляется по виду спектра, но в эффективности этого способа я сомневаюсь, поскольку не зная истинного спектра передаваемого сигнала тяжело сказать как он должен выглядеть на входе. Я больше придерживаюсь мнения что надо после декодирования посмотреть на корреляционную матрицу сигнала, хотя тоже возникает много проблем - начиная от тактирования и дальше. Тем более что не всегда сигналы бывают достаточно долгими ,чтобы хорошо оценить эту матрицу, и зачастую сказать о их статических характеристиках нельзя, но в принципе в данном контексте можно считать его белым дискретным шумом. Это всё нужно для того что бы точно узнать может ли вытащить эквалайзер данный сигнал, или надо применить другой адаптивный алгоритм коррекции канала, или выравнивать канал бесполезно - слишком большие шумы. Если кто-то сталкивался с этим раньше будет приятно услышать любое компетентное мнение.
|
|
|
|
|
 |
Ответов
(30 - 44)
|
Oct 7 2007, 13:41
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 1-10-07
Пользователь №: 30 974

|
Цитата(petrov @ Oct 7 2007, 17:17)  В общем случае мы не можем зная только канал домножить сигнал на какую-то "обратную" характеристику и сделать возможным демодуляцию сигнала модемом без эквалайзера. В теории так должно быть - на практике естественно не обязательно. Цитата(petrov @ Oct 7 2007, 17:17)  Мы не сможем тактироваться не зная ничего о сигнале. Мы не сможем тактироваться по искажённому сигналу. Мы не сможем сделать эквалайзер незная ничего о сигнале. Такт не всегда важен можно воспользоваться дробным. Цитата(petrov @ Oct 7 2007, 17:17)  Это если сигнал/шум позволяет получать правильные решения. Однако мы стараемся как можно ближе к границе Шеннона подобраться. Это надо будет попдробнее обдумать - пока везде где про DD читал вроде бы работали только от одного символа, может я и ошибаюсь - надо будет посмотреть. Цитата(petrov @ Oct 7 2007, 17:17)  Что за EVA? DFE позволяет справится с неминимально фазовыми каналами. DFE - надо будет поднять вопросы сходимость в слепых условиях. EVA - eigenvector algorithm - лежит распечатка на буржуйском сам не знаю где именно валяется - коллега подогнал - глубинную математику этого алгоритма не знаю от куда у неё ноги растут, а на поверхности лежит "известное" матричное уравнение и от него пляшут - вот моя реализация разобрать что-то сложно но вообщем работает. Не обращай внимание много хлама в этом файле для исследования, а сейчас его править не охото.
|
|
|
|
|
Oct 7 2007, 13:46
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 1-10-07
Пользователь №: 30 974

|
% +------+ n(k) +------+ %d(k)==>| h(k) |==> + ==>v(k)==>||====>| e(k) |==>x(k) % +------+ \\ +------+ % \\ % \\ +------+ % ==>| f(k) |==>y(k) % +------+ % C - момент четвертого порядка('кросc-эксцесс'): % C = E{|y(k)|^2*V(k)*V'(k)}-E{|y(k)|^2}E{V(k)*V'(k)}-E{y(k)*V(k)}E{y'(k)*V'(k)}-E{y'(k)*V(k)}E{y(k)*V'(k)} function [oEqualizerOutput oEqualizerPulseCharacteristic] =... DK_EVA_EQ_Signal(iData,iEqualizerPulseCharacteristic,iEVAFunction,Srez,R,Iter); global Color; global QAM; global SignalBER; lCounter = length(iEqualizerPulseCharacteristic)-1; lLength = length(iEqualizerPulseCharacteristic); oEqualizerOutput = zeros(length(iData),1); oEqualizerPulseCharacteristic = iEqualizerPulseCharacteristic; CostFunction = 0; figure(10); ErrorMassive = zeros(Srez,1); Dispercion = 0; DispercionMassive = zeros(fix(length(iData)/Srez)+1,1); InverseR = R^-1; while (lCounter < length(iData))&&(lCounter < Iter) lCounter = lCounter + 1; lFIRData = iData(lCounter-lLength+1:lCounter); lCurrentEVAOutput = iEVAFunction.'*lFIRData; lCurrentEqualizerOutput = oEqualizerPulseCharacteristic.'*lFIRData; oEqualizerOutput(lCounter) = lCurrentEqualizerOutput; CrossExcess = DK_EVACurtosis(iData,iEVAFunction,R,lLength); [EvaVector d] = eig(InverseR*CrossExcess);d = diag(d); EvaVector = EvaVector(:,find(abs(d) == max(abs(d)),1)); iEVAFunction = EvaVector; oEqualizerPulseCharacteristic = EvaVector; Error = 0; ErrorMassive(mod(lCounter,Srez)+1) = Error; CostFunction=(CostFunction*(lCounter-1)+ Error.*Error)/lCounter; %Dispercion = Dispercion+abs(DKqamdemod(lCurrentEqualizerOutput,QAM)-lCurrentEqualizerOutput)^2; if (mod(lCounter,Srez) == 0 || lCounter == lLength) %figure(10); %DispercionMassive(fix(lCounter/Srez)+1) = Dispercion/(Srez-1); %Dispercion = 0; %plot(Srez:Srez:length(DispercionMassive)*Srez,DispercionMassive,'b'); %title('Dispersion'); %pause(0.01); end; end; figure(11); subplot(2,1,1); hold on; plot(Srez:Srez:length(DispercionMassive)*Srez,DispercionMassive,Color); text(length(DispercionMassive)*Srez,DispercionMassive(end),'EVA'); title('Dispersion'); hold off; subplot(2,1,2); hold on; plot(1:length(oEqualizerPulseCharacteristic),real(oEqualizerPulseCharacteristic) ,Color); text(length(oEqualizerPulseCharacteristic),oEqualizerPulseCharacteristic(end),'EVA'); title('Eq Coefficients'); hold off;
function EVACurtosis = DK_EVACurtosis(iData,iEVAFunction,R,lLength); lCounter = lLength-1; A = zeros(lLength);B = 0;C = zeros(lLength,1); D = zeros(1,lLength);E = zeros(lLength,1);F = zeros(1,lLength); while (lCounter < length(iData)) lCounter = lCounter + 1; lFIRData = iData(lCounter-lLength+1:lCounter); lCurrentEVAOutput = iEVAFunction.'*lFIRData; A = A + abs(lCurrentEVAOutput)^2*lFIRData*lFIRData'; B = B + abs(lCurrentEVAOutput)^2; C = C + lCurrentEVAOutput*lFIRData; D = D + lCurrentEVAOutput'*lFIRData'; E = E + lCurrentEVAOutput'*lFIRData; F = F + lCurrentEVAOutput*lFIRData'; end; lCounter = lCounter - lLength+1; A = A/lCounter;B = B/lCounter;C = C/lCounter;D = D/lCounter;E = E/lCounter;F = F/lCounter; EVACurtosis = A-B*R-C*D-E*F;
|
|
|
|
|
Oct 7 2007, 13:49
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 1-10-07
Пользователь №: 30 974

|
function [oEqualizerPulseCharacteristic,EvaFunction,R] = DKEVAInitialization(iEqualizerPulseLength,iData);
oEqualizerPulseCharacteristic = zeros(iEqualizerPulseLength,1); oEqualizerPulseCharacteristic(round(iEqualizerPulseLength/2)) = 1; EvaFunction = zeros(iEqualizerPulseLength,1); EvaFunction(round(iEqualizerPulseLength/2)) = 1; r = zeros(iEqualizerPulseLength); for k = 1:length(iData)-iEqualizerPulseLength r = r + iData(k:k+iEqualizerPulseLength-1)*iData(k:k+iEqualizerPulseLength-1)'; end; R = r/(length(iData)-iEqualizerPulseLength);
|
|
|
|
|
Oct 7 2007, 14:03
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Nadir @ Oct 7 2007, 17:41)  В теории так должно быть - на практике естественно не обязательно.  Что же это за теория тогда такая? Цитата(Leshii @ Oct 7 2007, 17:47)  Мож кто-нибудь подскажет основную идею в двух словах как у DFE получается усиливать сигнал из под шума, при этом не усиливая шум? Вычитаются из сигнала предыдущие продетектированные(уже без шума соответственно) символы. Во временной области представлять, сначала как в канале два луча с задержкой складываются, затем DFE из текущего символа вычитает предыдущие сложившиеся в канале. Цитата(Leshii @ Oct 7 2007, 17:47)  В схеме GSM например, оценивание канала и последующий эквалайзер Витерби относится к схеме, способной бороться со спектральными нулями? Да. Эквалайзер витерби сильно не практичный для каналов с длинной памятью и сигналов с большим количеством точек в созвездии.
|
|
|
|
|
Oct 7 2007, 14:07
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 1-10-07
Пользователь №: 30 974

|
Цитата(petrov @ Oct 7 2007, 17:49)   Что же это за теория тогда такая? Будем исходить из того что у нас есть модель канала и принятый сигнал. Если мы инвертируем АЧХ канала, возьмем БПФ от сигнал и в спектральной области их перемножим а потом опять вернемся во временную тогда у нас получится исходный сигнал - других теорий я незнаю. Если я не прав, то где.А вообще кое-где так и поступают:"С технологией OFDMA конкурирует технология Wireless MAN-SC, которую выбрала для перспективного оборудования IEEE 802.16a российская компания НПП "Саит". В отличие от OFDM все данные передаются на одной несущей. В результате многолучевого распространения сигнал подвергается сильным искажениям, которые можно рассматривать как возникающую неравномерность частотной характеристики канала. Технология предусматривает перевод сигнала из временной в частотную область с помощью быстрого преобразования Фурье. В частотной области неравномерность характеристик канала компенсируется специальной обработкой — адаптивным цифровым эквалайзером в частотной области. Исправленный таким образом сигнал подвергается обратному преобразованию Фурье (переводится во временную область) и направляется на демодулятор. Это преобразование может выполняться непосредственно на антенне, и при использовании многоантенной системы демодулятор будет обрабатывать композитный сигнал, полученный из нескольких исправленных цифровой обработкой "плохих" сигналов."-журнал Последняя Миля- Цитата(petrov @ Oct 7 2007, 18:03)  Вычитаются из сигнала предыдущие продетектированные(уже без шума соответственно) символы. Во временной области представлять, сначала как в канале два луча с задержкой складываются, затем DFE из текущего символа вычитает предыдущие сложившиеся в канале. Давайте будем различать DFE и DD - в DFE отсчеты не поступают на решатель а сразу идут в обратную связь.
|
|
|
|
|
Oct 7 2007, 14:13
|
Частый гость
 
Группа: Новичок
Сообщений: 120
Регистрация: 28-01-05
Пользователь №: 2 256

|
Цитата(Nadir @ Oct 7 2007, 18:07)  Давайте будем различать DFE и DD - в DFE отсчеты не поступают на решатель а сразу идут в обратную связь. Ну ка поясните, по моему Вы что-то путаете.
|
|
|
|
|
Oct 7 2007, 14:17
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Nadir @ Oct 7 2007, 18:04)  Будем исходить из того что у нас есть модель канала и принятый сигнал. Если мы инвертируем АЧХ канала, возьмем БПФ от сигнал и в спектральной области их перемножим а потом опять вернемся во временную тогда у нас получится исходный сигнал - других теорий я незнаю. Если я не прав, то где. Эта операция конечно приведёт к устранению МСИ, но при наличии провалов в АЧХ канала заполненых шумом усиленный шум ещё большую ошибку внесёт чем МСИ, кроме того чтоб ноль скомпенсировать импульсная характеристика линейного фильтра должна быть бесконечно длинной. Цитата(Nadir @ Oct 7 2007, 18:04)  А вообще кое-где так и поступают:"С технологией OFDMA конкурирует технология Wireless MAN-SC, которую выбрала для перспективного оборудования IEEE 802.16a российская компания НПП "Саит". В отличие от OFDM все данные передаются на одной несущей. В результате многолучевого распространения сигнал подвергается сильным искажениям, которые можно рассматривать как возникающую неравномерность частотной характеристики канала. Технология предусматривает перевод сигнала из временной в частотную область с помощью быстрого преобразования Фурье. В частотной области неравномерность характеристик канала компенсируется специальной обработкой — адаптивным цифровым эквалайзером в частотной области. Исправленный таким образом сигнал подвергается обратному преобразованию Фурье (переводится во временную область) и направляется на демодулятор. Это преобразование может выполняться непосредственно на антенне, и при использовании многоантенной системы демодулятор будет обрабатывать композитный сигнал, полученный из нескольких исправленных цифровой обработкой "плохих" сигналов."-журнал Последняя Миля- Тут ничего сказать нельзя, это не теория, у них там много чего может быть сделано о чём здесь не написано.
|
|
|
|
|
Oct 7 2007, 14:19
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 1-10-07
Пользователь №: 30 974

|
Цитата(Leshii @ Oct 7 2007, 18:13)  Ну ка поясните, по моему Вы что-то путаете. Извините вру - сам уже запутался
|
|
|
|
|
Oct 7 2007, 14:22
|
Участник

Группа: Новичок
Сообщений: 20
Регистрация: 1-10-07
Пользователь №: 30 974

|
Цитата(petrov @ Oct 7 2007, 18:17)  Эта операция конечно приведёт к устранению МСИ, но при наличии провалов в АЧХ канала заполненых шумом усиленный шум ещё большую ошибку внесёт чем МСИ, кроме того чтоб ноль скомпенсировать импульсная характеристика линейного фильтра должна быть бесконечно длинной. Я как раз про теорию и говорил - если все бесконечно и шума нет и т.д и т.п. Было приятно пообщаться, но извините надо идти дела...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|