DSPRelated.com
Forums

BER for QPSK in OFDM over Multipath Channel

Started by ahmed1984 April 30, 2015
Hi,
I need a help please and an answer for this:
I'm trying to do a BER simulation for QPSK in OFDM system over a Multipath
Channel in Matlab and I'm using the function (ht=rayleighchan())  for
model the multipath  channel with the following parameters:
tau=[0 1e-4 2e-4] second %Path Delay
Ts=1e-5 sec or 1e-3 sec(for another simulation)               %Sample
Period
Fd=0;                     %Maximum Doppler Frequency Shift (Assuming
Time-Invariant Channel)
PathGains=[0 -2 -5] dB
 and I transmit my modulated data by using:
tx=filter( ht,xt) where the xt is my modulated data.
Tx=tx+nt           where nt is the AWGN. 

at the receiver I don't know how to remove the effect of the (ht),i.e, the
effect of multipath channel.
So please can any one explain how remove this affect or anyone have a
matlab code to do so.
Thanks in Advance.


---------------------------------------
Posted through http://www.DSPRelated.com
On Thu, 30 Apr 2015 12:32:52 -0500, ahmed1984 wrote:

> Hi, > I need a help please and an answer for this: > I'm trying to do a BER simulation for QPSK in OFDM system over a > Multipath Channel in Matlab and I'm using the function > (ht=rayleighchan()) for model the multipath channel with the following > parameters: > tau=[0 1e-4 2e-4] second %Path Delay Ts=1e-5 sec or 1e-3 sec(for another > simulation) %Sample Period Fd=0; > %Maximum Doppler Frequency Shift (Assuming Time-Invariant Channel) > PathGains=[0 -2 -5] dB > and I transmit my modulated data by using: > tx=filter( ht,xt) where the xt is my modulated data. > Tx=tx+nt where nt is the AWGN. > > at the receiver I don't know how to remove the effect of the (ht),i.e, > the effect of multipath channel. > So please can any one explain how remove this affect or anyone have a > matlab code to do so. > Thanks in Advance.
I believe the whole point of OFDM is that the usual reception methods deal well with multipath. It is, in fact, designed so that you do not have to explicitly remove multipath effects from the signal, as you would if you used a more traditional modulation method plus an equalizer. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
>On Thu, 30 Apr 2015 12:32:52 -0500, ahmed1984 wrote: > >> Hi, >> I need a help please and an answer for this: >> I'm trying to do a BER simulation for QPSK in OFDM system over a >> Multipath Channel in Matlab and I'm using the function >> (ht=rayleighchan()) for model the multipath channel with the >following >> parameters: >> tau=[0 1e-4 2e-4] second %Path Delay Ts-5 sec or 1e-3 sec(for >another >> simulation) %Sample Period Fd=0; >> %Maximum Doppler Frequency Shift (Assuming Time-Invariant Channel) >> PathGains=[0 -2 -5] dB >> and I transmit my modulated data by using: >> tx=filter( ht,xt) where the xt is my modulated data. >> Tx=tx+nt where nt is the AWGN. >> >> at the receiver I don't know how to remove the effect of the >(ht),i.e, >> the effect of multipath channel. >> So please can any one explain how remove this affect or anyone have a >> matlab code to do so. >> Thanks in Advance. > >I believe the whole point of OFDM is that the usual reception methods >deal >well with multipath. It is, in fact, designed so that you do not have >to >explicitly remove multipath effects from the signal, as you would if you > >used a more traditional modulation method plus an equalizer. > >-- > >Tim Wescott >Wescott Design Services >http://www.wescottdesign.com
Thank you Tim for the reply, but when I just leave it I didn't get the right BER curve, I mean it is not like the theoretical curve so I believe OFDM is powerful against frequency selective channel but I think I need to do something in the receiver to remove the effect of the channel as it is considered a flat fading. --------------------------------------- Posted through http://www.DSPRelated.com
On Thu, 30 Apr 2015 12:32:52 -0500, "ahmed1984" <105515@DSPRelated>
wrote:

>Hi, >I need a help please and an answer for this: >I'm trying to do a BER simulation for QPSK in OFDM system over a Multipath >Channel in Matlab and I'm using the function (ht=rayleighchan()) for >model the multipath channel with the following parameters: >tau=[0 1e-4 2e-4] second %Path Delay >Ts=1e-5 sec or 1e-3 sec(for another simulation) %Sample >Period >Fd=0; %Maximum Doppler Frequency Shift (Assuming >Time-Invariant Channel) >PathGains=[0 -2 -5] dB > and I transmit my modulated data by using: >tx=filter( ht,xt) where the xt is my modulated data. >Tx=tx+nt where nt is the AWGN. > >at the receiver I don't know how to remove the effect of the (ht),i.e, the >effect of multipath channel. >So please can any one explain how remove this affect or anyone have a >matlab code to do so. >Thanks in Advance.
You have to estimate the channel in the receiver, which can be done using a variety of different methods, including a preamble or pilot tones or whatever best fits your system. Once you have estimated the channel you should have a single complex-valued correction coefficient for each subcarrier. Multiplying each subcarrier by this coefficient to remove the effects of the channel should get you back to having reasonable BER. In your case you know h(t) already, so you can sample the channel response in the frequency domain with the same spacing as the subcarriers and apply those coefficient to equalize the channel. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On Thu, 30 Apr 2015 18:08:28 +0000, Eric Jacobsen wrote:

> On Thu, 30 Apr 2015 12:32:52 -0500, "ahmed1984" <105515@DSPRelated> > wrote: > >>Hi, >>I need a help please and an answer for this: >>I'm trying to do a BER simulation for QPSK in OFDM system over a >>Multipath Channel in Matlab and I'm using the function >>(ht=rayleighchan()) for model the multipath channel with the following >>parameters: >>tau=[0 1e-4 2e-4] second %Path Delay Ts=1e-5 sec or 1e-3 sec(for another >>simulation) %Sample Period Fd=0; >>%Maximum Doppler Frequency Shift (Assuming Time-Invariant Channel) >>PathGains=[0 -2 -5] dB >> and I transmit my modulated data by using: >>tx=filter( ht,xt) where the xt is my modulated data. >>Tx=tx+nt where nt is the AWGN. >> >>at the receiver I don't know how to remove the effect of the (ht),i.e, >>the effect of multipath channel. >>So please can any one explain how remove this affect or anyone have a >>matlab code to do so. >>Thanks in Advance. > > You have to estimate the channel in the receiver, which can be done > using a variety of different methods, including a preamble or pilot > tones or whatever best fits your system. > > Once you have estimated the channel you should have a single > complex-valued correction coefficient for each subcarrier. Multiplying > each subcarrier by this coefficient to remove the effects of the channel > should get you back to having reasonable BER. > > In your case you know h(t) already, so you can sample the channel > response in the frequency domain with the same spacing as the > subcarriers and apply those coefficient to equalize the channel.
Hey Eric: I'm speaking as an armchair quarterback here, since I have never actually implemented an ODFM system. So this is a pure question, not a critique. Do you need more than just a rotation of the subcarriers to the correct phase? I suppose that if you're taking the results of your demodulation and applying them to some sort of an error correction algorithms then knowing that a particular subcarrier is getting attenuated more than others (with, presumably, the same noise) would give you more information in delivering soft decisions, but otherwise I don't see the utility of anything more than rotation. What am I missing? -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
>On Thu, 30 Apr 2015 12:32:52 -0500, "ahmed1984" <105515@DSPRelated> >wrote: > >>Hi, >>I need a help please and an answer for this: >>I'm trying to do a BER simulation for QPSK in OFDM system over a >Multipath >>Channel in Matlab and I'm using the function (ht=rayleighchan()) for >>model the multipath channel with the following parameters: >>tau=[0 1e-4 2e-4] second %Path Delay >>Ts-5 sec or 1e-3 sec(for another simulation) %Sample >>Period >>Fd=0; %Maximum Doppler Frequency Shift (Assuming >>Time-Invariant Channel) >>PathGains=[0 -2 -5] dB >> and I transmit my modulated data by using: >>tx=filter( ht,xt) where the xt is my modulated data. >>Tx=tx+nt where nt is the AWGN. >> >>at the receiver I don't know how to remove the effect of the (ht),i.e, >the >>effect of multipath channel. >>So please can any one explain how remove this affect or anyone have a >>matlab code to do so. >>Thanks in Advance. > >You have to estimate the channel in the receiver, which can be done >using a variety of different methods, including a preamble or pilot >tones or whatever best fits your system. > >Once you have estimated the channel you should have a single >complex-valued correction coefficient for each subcarrier. >Multiplying each subcarrier by this coefficient to remove the effects >of the channel should get you back to having reasonable BER. > >In your case you know h(t) already, so you can sample the channel >response in the frequency domain with the same spacing as the >subcarriers and apply those coefficient to equalize the channel. > > >Eric Jacobsen >Anchor Hill Communications >http://www.anchorhill.com
Thank you Eric I appreciate your reply, but I'm confused about how to do it in matlab and how can I sample the channel because the channel created as an object (not numerical) and don't know how to sample it. --------------------------------------- Posted through http://www.DSPRelated.com
On Thu, 30 Apr 2015 13:26:47 -0500, ahmed1984 wrote:

>>On Thu, 30 Apr 2015 12:32:52 -0500, "ahmed1984" <105515@DSPRelated> >>wrote: >> >>>Hi, >>>I need a help please and an answer for this: >>>I'm trying to do a BER simulation for QPSK in OFDM system over a >>Multipath >>>Channel in Matlab and I'm using the function (ht=rayleighchan()) for >>>model the multipath channel with the following parameters: >>>tau=[0 1e-4 2e-4] second %Path Delay Ts-5 sec or 1e-3 sec(for another >>>simulation) %Sample Period Fd=0; >>>%Maximum Doppler Frequency Shift (Assuming Time-Invariant Channel) >>>PathGains=[0 -2 -5] dB >>> and I transmit my modulated data by using: >>>tx=filter( ht,xt) where the xt is my modulated data. >>>Tx=tx+nt where nt is the AWGN. >>> >>>at the receiver I don't know how to remove the effect of the (ht),i.e, >>the >>>effect of multipath channel. >>>So please can any one explain how remove this affect or anyone have a >>>matlab code to do so. >>>Thanks in Advance. >> >>You have to estimate the channel in the receiver, which can be done >>using a variety of different methods, including a preamble or pilot >>tones or whatever best fits your system. >> >>Once you have estimated the channel you should have a single >>complex-valued correction coefficient for each subcarrier. Multiplying >>each subcarrier by this coefficient to remove the effects of the channel >>should get you back to having reasonable BER. >> >>In your case you know h(t) already, so you can sample the channel >>response in the frequency domain with the same spacing as the >>subcarriers and apply those coefficient to equalize the channel. >> >> >>Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com > > Thank you Eric I appreciate your reply, but I'm confused about how to do > it in matlab and how can I sample the channel because the channel > created as an object (not numerical) and don't know how to sample it.
You are forgetting that there is a real world, and that Matlab is not it. Eric is not telling you to estimate the channel model that's coded into Matlab. Eric is telling you that your receiver must use the known preamble or pilot tones or whatever your system uses for this to estimate the channel. It must do this even when it is running in the real world, and not in a Matlab simulation. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
On Thu, 30 Apr 2015 13:18:19 -0500, Tim Wescott
<seemywebsite@myfooter.really> wrote:

>On Thu, 30 Apr 2015 18:08:28 +0000, Eric Jacobsen wrote: > >> On Thu, 30 Apr 2015 12:32:52 -0500, "ahmed1984" <105515@DSPRelated> >> wrote: >> >>>Hi, >>>I need a help please and an answer for this: >>>I'm trying to do a BER simulation for QPSK in OFDM system over a >>>Multipath Channel in Matlab and I'm using the function >>>(ht=rayleighchan()) for model the multipath channel with the following >>>parameters: >>>tau=[0 1e-4 2e-4] second %Path Delay Ts=1e-5 sec or 1e-3 sec(for another >>>simulation) %Sample Period Fd=0; >>>%Maximum Doppler Frequency Shift (Assuming Time-Invariant Channel) >>>PathGains=[0 -2 -5] dB >>> and I transmit my modulated data by using: >>>tx=filter( ht,xt) where the xt is my modulated data. >>>Tx=tx+nt where nt is the AWGN. >>> >>>at the receiver I don't know how to remove the effect of the (ht),i.e, >>>the effect of multipath channel. >>>So please can any one explain how remove this affect or anyone have a >>>matlab code to do so. >>>Thanks in Advance. >> >> You have to estimate the channel in the receiver, which can be done >> using a variety of different methods, including a preamble or pilot >> tones or whatever best fits your system. >> >> Once you have estimated the channel you should have a single >> complex-valued correction coefficient for each subcarrier. Multiplying >> each subcarrier by this coefficient to remove the effects of the channel >> should get you back to having reasonable BER. >> >> In your case you know h(t) already, so you can sample the channel >> response in the frequency domain with the same spacing as the >> subcarriers and apply those coefficient to equalize the channel. > >Hey Eric: > >I'm speaking as an armchair quarterback here, since I have never actually >implemented an ODFM system. So this is a pure question, not a critique. > >Do you need more than just a rotation of the subcarriers to the correct >phase? I suppose that if you're taking the results of your demodulation >and applying them to some sort of an error correction algorithms then >knowing that a particular subcarrier is getting attenuated more than >others (with, presumably, the same noise) would give you more information >in delivering soft decisions, but otherwise I don't see the utility of >anything more than rotation. > >What am I missing?
Multipath channels are frequency selective, so subcarriers can be faded fairly independently, and drastically so in spectral nulls. The advantage of OFDM is that each subcarrier requires only a single-tap equalizer, but it is an independent equalizer for each subcarrier. Soft-decision FEC needs a reliability metric for each bit, which generally requires amplitude information even for PSK. If you don't mind taking the margin hit for not using soft-decision than you don't need to recover the amplitude for each subcarrier for PSK. You would still need to equaliize the phase for each subcarrier, and they will still be faded (and therefore rotated) fairly independently. By "fairly independently" I mean that you need good channel sampling and correction across the subcarriers. Applying one phase correction term to the entire array will not work if the multipath is even a little bit aggressive. Fading across adjacent subcarriers will be correlated, but not equal if the system is well designed. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
>Hi, >I need a help please and an answer for this: >I'm trying to do a BER simulation for QPSK in OFDM system over a >Multipath >Channel in Matlab and I'm using the function (ht=rayleighchan()) for >model the multipath channel with the following parameters: >tau=[0 1e-4 2e-4] second %Path Delay >Ts-5 sec or 1e-3 sec(for another simulation) %Sample >Period >Fd=0; %Maximum Doppler Frequency Shift (Assuming >Time-Invariant Channel) >PathGains=[0 -2 -5] dB > and I transmit my modulated data by using: >tx=filter( ht,xt) where the xt is my modulated data. >Tx=tx+nt where nt is the AWGN. > >at the receiver I don't know how to remove the effect of the (ht),i.e, >the >effect of multipath channel. >So please can any one explain how remove this affect or anyone have a >matlab code to do so. >Thanks in Advance. > > >--------------------------------------- >Posted through http://www.DSPRelated.com
You need to get few points right. Forget about matlab for now. use pen and paper. The system model is as below in time domain y = h*x (ignore noise for now, where * is convolution) Now, if you were to take FFT on both sides, then in the Freq domain, it becomes Y = H.X (where . is now multiplication) Assuming that you know H at receiver, you can estimate X_est = Y/H Now, you need to ask yourself, in the absence of noise and under the assumption that you know H at receiver, what should be the BER? I will tell you more, once you tell me the answer of above question. (Multipath channels are not easy to understand, certainly not by using inbuilt function of Matlab. This further annoys me that most of the people think by using OFDM they can get away with multipath, but what you need to keep in mind that the channel always works in time domain and it does not know whether your data is in frequency domain or time domain). Take your time and study this topic properly, there is not short cut. Best Regards Chintan --------------------------------------- Posted through http://www.DSPRelated.com
>>Hi, >>I need a help please and an answer for this: >>I'm trying to do a BER simulation for QPSK in OFDM system over a >>Multipath >>Channel in Matlab and I'm using the function (ht=rayleighchan()) for >>model the multipath channel with the following parameters: >>tau=[0 1e-4 2e-4] second %Path Delay >>Ts-5 sec or 1e-3 sec(for another simulation) %Sample >>Period >>Fd=0; %Maximum Doppler Frequency Shift (Assuming >>Time-Invariant Channel) >>PathGains=[0 -2 -5] dB >> and I transmit my modulated data by using: >>tx=filter( ht,xt) where the xt is my modulated data. >>Tx=tx+nt where nt is the AWGN. >> >>at the receiver I don't know how to remove the effect of the (ht),i.e, >>the >>effect of multipath channel. >>So please can any one explain how remove this affect or anyone have a >>matlab code to do so. >>Thanks in Advance. >> >> >>--------------------------------------- >>Posted through http://www.DSPRelated.com > >You need to get few points right. Forget about matlab for now. > >use pen and paper. > >The system model is as below in time domain > >y = h*x (ignore noise for now, where * is convolution) > >Now, if you were to take FFT on both sides, then in the Freq domain, it >becomes > >Y = H.X (where . is now multiplication) > >Assuming that you know H at receiver, you can estimate X_est = Y/H > >Now, you need to ask yourself, in the absence of noise and under the >assumption that you know H at receiver, what should be the BER? > >I will tell you more, once you tell me the answer of above question. > >(Multipath channels are not easy to understand, certainly not by using >inbuilt function of Matlab. This further annoys me that most of the >people >think by using OFDM they can get away with multipath, but what you need >to >keep in mind that the channel always works in time domain and it does >not >know whether your data is in frequency domain or time domain). > >Take your time and study this topic properly, there is not short cut. > >Best Regards > >Chintan > > > >--------------------------------------- >Posted through http://www.DSPRelated.com
Hi Chintan, Thank you for your reply. I think in case we already know the channel impulse response then the BER will be 0 no errors in the absence of the AWGN. --------------------------------------- Posted through http://www.DSPRelated.com