0
$\begingroup$

Assume we have a received signal $r$ explained as below:

$r = h * x + n$

where $h, x ,*, n$ denote to the multi-path channel, transmitted signal, convolution operation and AWGN, respectively.

My question, with assumption the perfect knowledge of channel $h$ at receiver side, Is implementing MMSE equalizer in time domain and frequency domain should give the same results?

to clarify the question more, I present below the way of MMSE equalization in time domain and in frequency domain using the above equation based on matlab:

1- MMSE equalizer in frequency domain :

r_fft = fft(r(1:length(x))); %FFT for received signal r; 
chan_fft = fft(h,length(x));   %FFT of channel with same length of x 
Gz = Gz = conj(chan_fft )./(chan_fft .*conj(chan_fft ) + 1./EbNo_lin); %equalizer
x_eq_f = ifft(r(1:len).*Gz);  %received equalized data

2- MMSE equalizer in time domain domain

    Lc = length(h);          %length of impulse response 
    La = Lc + 1;             %order of equalizer 
    L = Lc + La;   

    b = [h(1) zeros(1,La)];
    a = [h  zeros(1,La)];
    Clow = toeplitz(a,b); 
    DEN = ctranspose(Clow)*Clow + sigma_sq*eye(La+1);  %sigma_sq = var(noise)
    req = [zeros(1,(L-1)/2) 1 zeros(1,(L-1)/2)];   %required response looks like delta function 

    NUM = ctranspose(Clow)*req'; 
    coeff_mmse = inv(DEN)*NUM;   %MMSE equaliser coefficients 

    eq_sig_mmse = conv(r,coeff_mmse); %equalized receive signal         

    ov_all_ch = conv(h,coeff_mmse); 
    [C,I] = max(ov_all_ch);  %to obtain synchronization with strong multipath 

    x_eq_t= eq_sig_mmse(I:end)/C;  %to compensate the delay introduced by channel and equalizer

So, should the output of first case x_eq_f be equivalent into the output of second case x_eq_t ? what's the differences between two above cases? which one is better in performance?

thank you

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.