2015-07-04 11 views
7

Użyłem kodu Matlaba LMS (najmniejszy średni kwadratowy algorytm), aby wyrównać efekt kanału, działa on dla spustowego kanału opóźnienia wygenerowanego w MATLAB, ale dla kanału światłowodowego za pomocą optisystem program, nie działa dobrze, myślę, że problem tkwi w odpowiedzi impulsowej światłowodu, ponieważ nie jest to skończona odpowiedź impulsowa i algorytm potrzebuje skończonej odpowiedzi impulsowej, ale jak rozwiązać ten problem?Najmniejszy kwadrat do wyrównywania kanału światłowodowego

konstelacja kanału MATLAB i kanału światłowodowego, jasne jest, że druga konstelacja nie została dobrze wyrównana.

konstelacji:

enter image description here

Oto przykład hałaśliwym kanału, gdzie algorytm LMS nie może skompensować jego działanie jest jakiś sposób zwiększyć jego skuteczność w tym SNR:

% // Set up parameters and signals. 

M = 4; % // Alphabet size for modulation 

msg = randint(15000,1,M); % // Random message 


modmsg = pskmod(msg,M); % // Modulate using QPSK. 


trainlen = 5000; % // Length of training sequence 


chan = [.986; .845; .237; .123+.31i]; % // Channel coefficients 


filtmsg = filter(chan,1,modmsg); % // Introduce channel distortion. 

filtmsg=awgn(filtmsg,10,'measured'); 

% // Equalize the received signal. 

eq1 = lineareq(8, lms(0.01)); % // Create an equalizer object. 

eq1.SigConst = pskmod([0:M-1],M); % // Set signal constellation. 

[symbolest,yd] = equalize(eq1,filtmsg,modmsg(1:trainlen)); % // Equalize. 

% // Plot signals. 

h = scatterplot(filtmsg,1,trainlen,'bx'); hold on; 

scatterplot(symbolest,1,trainlen,'g.',h); 
+1

Jeśli nie sprecyzujesz, co "nie działa dobrze", oznacza to, że bardzo mało prawdopodobne jest uzyskanie odpowiedzi. Bardziej precyzyjnie określ różnicę między outpoutem a pożądanym wyjściem, komunikatami o błędach itp. I udostępnij jakiś kod, jeśli możesz. – Ratbert

+1

Konstelacja drugiego kanału (światłowodu) pokazuje, że odebrany sygnał nie może być wyrównany, jak pokazano w łączu, że problem nie występuje w algorytmie, ponieważ działa on dobrze dla innego kanału, więc czy jest jakikolwiek warunek kanał, który algorytm może zrekompensować jego efekt? –

+0

Jaka jest odpowiedź impulsowa kanału? –

Odpowiedz

0

Może powinieneś mieć więcej próbek. "Uśrednianie" efektu LMS nie działa, gdy widmo jest bliskie kryteriom Nyquista.

Problemem może być to, że szum nie jest wystarczająco biały (szerokopasmowy). Próbki hałasu są więc spójne.