2015-07-04 25 views
7

Ho usato un codice Matlab di LMS (algoritmo quadratico medio inferiore) per equalizzare l'effetto del canale, funziona per un canale di ritardo maschiato generato in MATLAB ma per canale in fibra ottica utilizzando optisystem programma, non funziona bene, penso che il problema sia nella risposta all'impulso delle fibre ottiche, in quanto non è una risposta impulsiva finita e l'algoritmo ha bisogno di una risposta all'impulso finito, ma come risolvere questo problema?Minimo quadrato medio per equalizzare il canale in fibra ottica

la costellazione del canale MATLAB e il canale in fibra ottica, è chiaro che la seconda costellazione non è stata equalizzata bene.

costellazione:

enter image description here

Ecco un esempio di un canale rumoroso dove algoritmo LMS non può compensare il suo effetto, non v'è alcun modo per migliorare le sue prestazioni in questo 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

A meno che non sia preciso ciò che "non funziona bene" significa, è molto improbabile che tu possa ottenere una risposta. Si prega di essere più precisi sulla differenza tra l'outpout e l'output desiderato, i messaggi di errore, ecc. E condividere un po 'di codice se è possibile. – Ratbert

+1

La costellazione del secondo canale (fibra ottica) mostra che il segnale ricevuto non può essere equalizzato come mostrato nel link, che il problema non è nell'algoritmo in quanto funziona bene per l'altro canale, quindi c'è qualche condizione su il canale che l'algoritmo può compensare il suo effetto? –

+0

Qual è la risposta all'impulso del canale? –

risposta

0

Forse dovresti avere più campioni. L'effetto "mediazione" dell'LMS non funziona quando lo spettro è vicino ai criteri di Nyquist.

Altro problema potrebbe essere che il rumore non è bianco (banda larga) sufficiente. Quindi i campioni di rumore sono coerenti.