+ Post New Thread
Results 1 to 17 of 17

25th July 2011, 03:46 #1
 Join Date
 Dec 2010
 Posts
 63
 Helped
 7 / 7
 Points
 695
 Level
 5
channel equalization/correct the effects of multipath in OFDM
Hi everyone!
I am trying to simulate an OFDM system with multipath channels (20 significant paths), and I do not know what are the steps taken to equalize (correct the effect of the multipath). Could anyone kindly suggest to me a good tutorial, a basic matlab code that does so , or any other form of help would be greatly appreciated. I must admit I am not very familiar with the principle either. thanx in advance!!!!
PS: my code is ready , and correct i have already tried it with AWGN channel, now i included a multipath channel using rayleighchan function in matlab but i do not know how to "correct" the errors

25th July 2011, 13:34 #2
 Join Date
 May 2011
 Location
 NY
 Posts
 192
 Helped
 48 / 48
 Points
 1,209
 Level
 7
Re: channel equalization/correct the effects of multipath in OFDM
Hi,
for multipath equalization you can try a simple "lms" equalizer in matlab. or there is trained lms versiontrained lms. Then obviously depending on the type of multipath, colored noise, the adaptive equalization, decsion feedback...etc are there.
Have fun

27th July 2011, 04:58 #3
 Join Date
 Dec 2010
 Posts
 63
 Helped
 7 / 7
 Points
 695
 Level
 5
Re: channel equalization/correct the effects of multipath in OFDM
My problem is I am stucked when i hAVE TO PASS THE DATA through the channel, I have created a rayleighchan object as follows:
%%%%%%%%%%%%%%%%%%%%%%% Channel %%%%%%%%%%%%%%%%%%%%%%%
ts=1/10000000; % ts is the sample time of the input signal, in seconds
fd=50; % fd is the maximum Doppler shift, in Hertz
delay=sort(randint(1,20,[0 511]))*ts; %tau is a vector of path delays, each specified in seconds
% pdb is a vector of average path gains, each specified in dB of average path gains, each specified in dB
pdb=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19];
H = rayleighchan(ts,fd,delay,pdb);% Create Rayleigh fading channel object
H.ResetBeforeFiltering=0;
%Insert the significant path gains and zeros in the channel
channel=zeros(1,length(tr_data)+512);
sumchannel=0;
path_index=int16(H.PathDelays/ts);
for kk=1:1:P
for nn=1:length(tr_data)
channel((path_index(kk)+nn))=H.PathGains(kk);
end
sumchannel=sumchannel+channel;
end
I am not even sure whether I have to add all teh 20 paths together to make the variable "sumchannel"
after that i need to FFT the "sumchannel" and multiply it with the data to be transmitted (That is what i think maybe i ma wrong...) well i don't know how to do the FFT, shall i do it columwise, line wise, on each subcarrier..?
Sorry but my background is not good enough and i am engaging in this simulation, i really need resulsts ASAP..
Thank you for your help!

Advertisement

28th July 2011, 02:21 #4
 Join Date
 May 2011
 Location
 NY
 Posts
 192
 Helped
 48 / 48
 Points
 1,209
 Level
 7
Re: channel equalization/correct the effects of multipath in OFDM
ts=1/10000000; % ts is the sample time of the input signal, in seconds
fd=50; % fd is the maximum Doppler shift, in Hertz
delay=sort(randint(1,20,[0 511]))*ts; %tau is a vector of path delays, each specified in seconds
% pdb is a vector of average path gains, each specified in dB of average path gains, each specified in dB
pdb=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19];
H = rayleighchan(ts,fd,delay,pdb);% Create Rayleigh fading channel object
Say you create a input signal called: "data = 1 2.*rand(10000,1); %Generates a set of random +1,1
Then you pass this data through your channel i.e. output=filter(data,H); %Your creating the channel response for the input data.
You might want to consider going through Matlab OFDM stuff ..There si matlab code for transmission and reception. thoguh it is not using a rayleigh channel, you only need to filter your tr_data with the "H".
for fft you need a very high sample rate for the ts you have specified just to speed simulations.
Have fun
1 members found this post helpful.

31st July 2011, 05:55 #5
 Join Date
 Dec 2010
 Posts
 63
 Helped
 7 / 7
 Points
 695
 Level
 5
Re: channel equalization/correct the effects of multipath in OFDM
Hi kalyanasv ,
Thank you for your reply,
concerning passing the data through teh channel, i have used 4QAM to modulate the data, and i know after this step comes pilot insertionIFFT CP then transmission through channel afterwards the reverse process (remove CPFFT remove pilots ), only i have read somewhere, i dunnot remember where tough taht, the teh result of "outputdata=filter(data,chan)" is in the time domain, and i actually need a channel in the frequency domain. that is what in that reference i read, tehy said i should do <data multiplied by FFT of the channel> , so i should not do the IIFT and FFT as described in the procss above...
do you think that is correct?
Also, about the concepts of multiple path, i have 20 signiicant path in my channel, does the channel assign each power and delay to the paths as specified by H.PathDelays and H.PathGains or do you I have to include it myself after creatngthe channel (as i did in the code above?)
THANK YOU VERY MUCH IN ADVANCE!!

Advertisement

3rd August 2011, 19:43 #6
 Join Date
 May 2011
 Location
 NY
 Posts
 192
 Helped
 48 / 48
 Points
 1,209
 Level
 7
Re: channel equalization/correct the effects of multipath in OFDM
Hi,
yes the output of filtering with the above is in time domain. This you can do just to verify the correctness of the channel.
In the case of OFDM you have modulated and are using an IFFT. since your in the freq domain you can multiply data with the frequency response of the channel.
The tutorial MATLAB attached should do pretty much that.
Matlab for the versions I know of automatically should assign the 20 variables to the other channel parameters given 20 H.pathdelays if that is your question.

4th August 2011, 07:53 #7
 Join Date
 Dec 2010
 Posts
 63
 Helped
 7 / 7
 Points
 695
 Level
 5
Re: channel equalization/correct the effects of multipath in OFDM
Hi thank you kalyanasv,
Do you happen to know how can visualize the channel is frequency domain, i have 2048 sucarriers , 20 sugnificant path, i would just like an image to probably better understand, i tried what matlab help asked to do for channel visualization but i think because my channel has a huge number of subcarriers i cant view it properly..
thx in advance

Advertisement

5th August 2011, 03:22 #8
 Join Date
 May 2011
 Location
 NY
 Posts
 192
 Helped
 48 / 48
 Points
 1,209
 Level
 7
Re: channel equalization/correct the effects of multipath in OFDM
try and reduce the number of subcarriers or you can zoom in the freqencey axis in matlab or use xlim() to visualize it better.
1 members found this post helpful.

7th August 2011, 17:17 #9
 Join Date
 Jun 2010
 Location
 Egypt
 Posts
 50
 Helped
 6 / 6
 Points
 834
 Level
 6
Re: channel equalization/correct the effects of multipath in OFDM
Al salam alikom
i had my graduation project and i studied OFDM and did matlab simulation, i can tell u what i have done
after IFFT and CP insertion, the rayleighchan matlab command, as i think, acts as a multipath propagation channel since u enter in this command the 20 delay and relative power of each path (remember that the paths power must be in dB)
then after specifying my channel model, i use filter command to get the channel output as follows (y_op= filter(chan,x_ip))
at the receiver, CP removal and FFT is done, but in my system, we used pilots which are subcarriers having their position and values known at both TX and RX.
by using these pilots, i can know their channel response and thus by using interpolation, i can nearly estimate the channel frequency response at each subcarrier.
for estimation the sent data x_estimated= received signal after FFT / channel estimated
this step is called equalization and it is a very simple method i used here
if u want to add AWGN ,then after the filter command, u can use whether:
1 signal_with_noise=signal_without_noise + wgn(.....) see matlab help for wgn command
2signal_with_noise=awgn(signal_without_noise,snr,'measured') see matlab help for awgn command
in my simulation , i used wgn command as it was recommended for my work
if u need any help please tell me
Alsalam alikomLast edited by ahmeddeia; 7th August 2011 at 17:23.
1 members found this post helpful.

10th August 2011, 20:25 #10
 Join Date
 Jul 2009
 Location
 Egypt
 Posts
 317
 Helped
 68 / 68
 Points
 3,373
 Level
 13
Re: channel equalization/correct the effects of multipath in OFDM
The simplest equalizer is a frequency domain, pilot assisted equalizer. Here you have many known subcarriers in the frequency domain called "pilots", these pilots are received after being affected by the channel transfer function, so we deduce the transfer function at these pilots' locations and interpolate them to obtain the complete transfer function, then divide the received signal by it. This is called a ZeroForcing equalizer.

15th August 2011, 14:39 #11
 Join Date
 Dec 2010
 Posts
 63
 Helped
 7 / 7
 Points
 695
 Level
 5
Re: channel equalization/correct the effects of multipath in OFDM
Thx, I just forgot to "H.StoreHistory = 1; " store the states, afterwards i just used plot(H) since i am dealing with a sparse multipath channel
 Post added at 21:37  Previous post was at 21:32 
Hi ahmeddeia, thx for your input, i have already done taht, now my pb is to know whether tehre is any relationship between path_gain and path_power also how do you choose the path gain? What are the criteria used in choosing path gains? is it random?
 Post added at 21:39  Previous post was at 21:37 
Hi Ahmed Alaa, shall i understand that the Zeroforcing equalizer is just the same as 1D linear interpolation with LS CE???? Is equalization just another term for channel estimation?

15th August 2011, 21:06 #12
 Join Date
 Jul 2009
 Location
 Egypt
 Posts
 317
 Helped
 68 / 68
 Points
 3,373
 Level
 13
Re: channel equalization/correct the effects of multipath in OFDM
I don't know what is the "path power", it may mean the same as path gain or its square. You don't choose the path gain it is random and usually follows a Rayleigh distribution, besides, it is time variant. Equalization and channel estimation are different; Channel estimation is calculating the channel and deducing the path gains and delays, while channel equalization is removing its effect which may be done by simple Zero Forcing Equalizers. Zero Forcing is an equalization technique, and LS is a channel estimation technique.

16th August 2011, 07:46 #13
 Join Date
 Dec 2010
 Posts
 63
 Helped
 7 / 7
 Points
 695
 Level
 5
Re: channel equalization/correct the effects of multipath in OFDM
Hi Ahmed, thank you for your clarifications. Concerning the path gains, i have to input it , when using "H = rayleighchan(ts,fd,delay,pdb)" ; pdb is a vector of average path gains, each specified in dB of average path gains, and my chosen vector for pdb is : pdb=[0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]; since i have 20 significant paths. do you think there is anything wrongwith my pdb vector?
Thx in advance

Advertisement

17th August 2011, 12:05 #14
 Join Date
 Jul 2009
 Location
 Egypt
 Posts
 317
 Helped
 68 / 68
 Points
 3,373
 Level
 13
Re: channel equalization/correct the effects of multipath in OFDM
No problem, this is a valid channel model.

22nd January 2012, 06:04 #15
 Join Date
 Dec 2011
 Posts
 28
 Helped
 0 / 0
 Points
 327
 Level
 3

3rd February 2012, 09:52 #16
 Join Date
 Dec 2010
 Posts
 63
 Helped
 7 / 7
 Points
 695
 Level
 5
Re: channel equalization/correct the effects of multipath in OFDM
I hope this very good blog can help you!
it did help me
PS: all matlab codes are explained
1 members found this post helpful.

20th February 2012, 15:35 #17
 Join Date
 Dec 2010
 Posts
 63
 Helped
 7 / 7
 Points
 695
 Level
 5
Re: channel equalization/correct the effects of multipath in OFDM
HI Ramza
I forgot to include the link here it is: Bit Error Rate (BER) for BPSK modulation
+ Post New Thread
Please login