OFDM transceiver with rayleigh channel using Standard PDP in matlab

731 Views Asked by At

I have built an OFDM transceiver with rayleigh channel using standard PDP's Like EPA,EVA and ETU.The problem is I am getting very high BER even for BPSK i.e 50-60 % or higher bits in error.Scatterplotting confirms it.My OFDM transceiver blocks include:
---- Random Data -- Modulation(BPSK,QPSK,QAM) -- Serial2Parallel -- IFFT -- CyclicPrefix >>> Rayleigh Ch >>> Remove CP Data---FFT --- Par2Ser ---DeMod --- Sink Data.

I have used builtin matlab function to create Rayleigh channel passing standard PDP as parameter.

channelObj = rayleighchan(tSampling,fDoppler,tau_in_sec,pdb_in_dB);   
channelObj.ResetBeforeFiltering=0; % channel remains static before filtering

Filtering for n-OFDM symbols & calculating CIR

for symb=1:OFDMSymb

   ofdm_td_rx_signal(:,symb) = filter(channelObj, ofdm_td_TXdata(:,symb));

   channel_cir(tapIndices,symb)= (channelObj.PathGains).';

 end

channel_cfr = fft(channel_cir,nCarrier);  % freq. response from CIR

Similarly at receiver,after FFT block,I just tried to use this CFR by dividing received symbol by CFR as

fft_RXdata=fft_data./channel_cfr;

What I am getting is very high SNR and scattered constellation symbols.Rest of transceiver blocks are simple and all verified as bug free...Do let me how to improve it. How I could get improve BER? Any need of equalizer?Should a match filter would help?Thanks in advance.

NOTE:ONLY RAYLEIGH CHANNEL IS USED AWGN NOISE IS NOT ADDED AT ALL ...

1

There are 1 best solutions below

0
On

One possible solution that have helped me is use of block based pilots(reference dummy data) transmission with OFDM symbols.Least square channel estimation is performed at RX using received pilots data which inherently captured the channel behavior.