<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: BER for BPSK in OFDM with Rayleigh multipath channel</title>
	<atom:link href="http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/</link>
	<description>Signal Processing for Communication</description>
	<lastBuildDate>Fri, 10 Feb 2012 01:03:15 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: vijaya</title>
		<link>http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/#comment-100716</link>
		<dc:creator>vijaya</dc:creator>
		<pubDate>Tue, 07 Feb 2012 04:37:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.dsplog.com/?p=225#comment-100716</guid>
		<description>plz do explain mimo ofdm mat lab simulation program for inverse fast fourier transform.</description>
		<content:encoded><![CDATA[<p>plz do explain mimo ofdm mat lab simulation program for inverse fast fourier transform.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Krishna Sankar</title>
		<link>http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/#comment-100473</link>
		<dc:creator>Krishna Sankar</dc:creator>
		<pubDate>Mon, 06 Feb 2012 00:16:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.dsplog.com/?p=225#comment-100473</guid>
		<description>@Fayeqa: Sorry, was unable to look deep into the code.</description>
		<content:encoded><![CDATA[<p>@Fayeqa: Sorry, was unable to look deep into the code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fayeqa</title>
		<link>http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/#comment-98841</link>
		<dc:creator>Fayeqa</dc:creator>
		<pubDate>Mon, 30 Jan 2012 08:24:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.dsplog.com/?p=225#comment-98841</guid>
		<description>Dear Kirishna, please help me withOFDM amplify and forward in relay schem mathlab codes mine is there but not ok.
%////////////////////////////////////////////////////
% MIMO OFDM BPSK MMSE/ZF Function Multipath - Simplificado
%////////////////////////////////////////////////////

clear,clc

%===================================================
% OFDM Parameters Settings
%===================================================

antennas=1;                      % Antenas 
bit=2048;%4;%2048;                        % Bit
symbol=bit;                      % Symbol 
carrier=64;%2;%64;                      % Channels
gil=16;%2;%16;                          % Guard Interval
delay=1;                         % Delay
path=16;                         % Number of Paths 
dur=0;                           % dB Rate
min_err=2000;                    % Minimum error
min_pckt = 800;                  % Minimum Packet
sym=symbol/carrier*(carrier+gil);
error=0;
skip=2.5;

%-----------------------SN Loop---------------------

for sn=0:skip:30;
    
    
%===================================================
% AWGN Setting
%===================================================

 snr=10^(sn/10);
 sd=sqrt(antennas*0.5/(snr*1*(carrier/(carrier+gil))));
 error=0;
 pckt=0;
 snrtheorical1=(erfc(sqrt(snr)))/2;                                           %BPSK AWGN Theoretical BER 
 snrtheorical2=0.5.*(1-sqrt(snr/(snr+1)))/(carrier/(carrier+gil));            %BPSK AWGN Multipath Theoretical BER
 
%----------------------------
%	packet loop
%----------------------------

while(error&lt;=min_err &amp;&amp; pckt=0)
% 	    recSD(ch,sk)=1;	  
% 	   else
% 	    recSD(ch,sk)=-1;	
%       end
%       sk=sk+1;
%      end
%     end
     %************************************************

     
 
     
     %************************************************ %************************************************ %************************************************ %************************************************ 
      %************************************************      
      %%************************************************
      %%%************************************************
      %%************************************************
      %%%************************************************
      %%%%************************************************
     
      % Source-Relay LINK
     
     
     
 
%===================================================
% Multipath Settings
%===================================================
 
for ch=1:antennas*antennas 
 gsum(ch)=0;
   for k=1:path
    pr(ch,k) = (1.0)*sqrt(-log(rand));
    prc(ch,k)=pr(ch,k)*exp((2*pi*rand*j));
    ga(ch,k)=10^(-dur*(k-1)/20.0);
    gsum(ch) = gsum(ch) + abs(ga(ch,k))^2;
   end
    for k=1:path
       ga(ch,k) = ga(ch,k)/sqrt(gsum(ch))*prc(ch,k);
    end
end
 

%===================================================
% Channel Loop
%===================================================
 r1=1/sqrt(2);
 fsle=0;

for ch=1:antennas*antennas     

   eqa(ch,1:carrier) = 1;
   eqaT=ifft(eqa(ch,:),carrier);
   eqaf=eqaT(1);
   for k=1:path
    eqaT((k-1)*delay+1) = ga(ch,k) * eqaf;
   end
    eqaF(ch,1:carrier)=fft(eqaT,carrier);
  
end  

hsr=eqaF;

 
%===================================================
% ZF, MMSE  Settings
%===================================================
H1=zeros(antennas,antennas);
sig=1e-6;
   for k=1:carrier
       for l=1:antennas
           H1(l,1:antennas)=eqaF(1+antennas*(l-1):antennas+antennas*(l-1),k);
       end
        H1T=H1&#039;;      
        %ZF criteria
         %G1=H1T/(H1*H1T+eye(antennas)*sig);
        %MMSE criteria
         G1=H1T/(H1*H1T+antennas*sd^2*eye(antennas));
       
        for l=1:antennas
            for m=1:antennas
              G(antennas*(l-1)+m,k)=G1(l,m);
            end
        end

   end
   
%----------------------------
%	Transmitter
%----------------------------


   
    
   %*************************
   %	IFFT - Guard interval
   %*************************
    
%     for ch=1:antennas
%       for k=1:symbol/carrier
%         
%         fftmp=map(ch,(k-1)*carrier+1:(k-1)*carrier+carrier);
%      
%             fftmpT=ifft(fftmp,carrier)*sqrt(carrier);
%        
%              ggi=fftmpT(:,carrier-gil+1:carrier);
%             
%              mc=[ggi,fftmpT];
%             
%              map2(ch,1+(k-1)*(carrier+gil):carrier+gil+(k-1)*(carrier+gil))= mc;              
%       end      
%     end

   %**************************
%-----------------------------

   
%----------------------------
%	Channel
%----------------------------
      
   
  %**************************
  %	Multipath
  %**************************
    smp=zeros(antennas,sym);
    
    for k=1:path
        for m=1:antennas
            HH(m,1:antennas)=ga(1+antennas*(m-1):antennas+antennas*(m-1),k);
        end 
        for l=1: sym-(k-1)*delay
            smp(1:antennas,(k-1)*delay+l)=smp(1:antennas,(k-1)*delay+l)+HH*map2(:,l);
        end
     end
   %***************************

      
   %**************************
   %	AWGN
   %**************************
    
   for ch=1:antennas
     for k=1:sym
         smp(ch,k)=smp(ch,k)+sd*(randn+j*randn);
     end 
   end
   
   recSR=smp;

   %***************************
%-----------------------------

   
%------------------------------
%	Receiver
%------------------------------

   %*************************
   % FFT - Guard interval
   %*************************
  %for ch=1:antennas
   %for k=1:symbol/carrier
    %  fftmp=smp(ch,(k-1)*(carrier+gil)+(gil+1):(k-1)*(carrier+gil)+carrier+gil);
     % fftmpF=fft(fftmp,carrier)/(sqrt(carrier));
      %map3(ch,1+(k-1)*(carrier):k*(carrier))=fftmpF;
   %end
  %end
   
  %***************************
 
  
 
   %*************************
   % FDE
   %*************************
  %map6=zeros(antennas,symbol);
   
   %for k=1:symbol/carrier
	% for l=1:carrier   
     % for m=1:antennas
      %     GG(m,1:antennas)=G(1+antennas*(m-1):antennas+antennas*(m-1),l);
      %end
      %     map6(1:antennas,(k-1)*carrier+l)=GG*map3(:,(k-1)*carrier+l); 
        
     %end
   %end
    
    %***************************
    

   %*************************
   %	BPSK demodulation
   %*************************
     
%     for ch=1:antennas
%      sk=1;
%      for k=1:bit
% 	  if(real(map6(ch,k))&gt;=0)
% 	    recSR(ch,sk)=1;	  
% 	   else
% 	    recSR(ch,sk)=-1;	
%       end
%       sk=sk+1;
%      end
%     end
     %************************************************

      
     
      %************************************************
      %%************************************************
      %%%************************************************
      %%%%************************************************
      %%%%%************************************************
      %%%%%%************************************************
      %%%%%%%************************************************
      %%%%%%%%************************************************
     
     
%       Relay-Destination LINK
      
      
      
      %===================================================
% Multipath Settings
%===================================================
 
for ch=1:antennas*antennas 
 gsum(ch)=0;
   for k=1:path
    pr(ch,k) = (1.0)*sqrt(-log(rand));
    prc(ch,k)=pr(ch,k)*exp((2*pi*rand*j));
    ga(ch,k)=10^(-dur*(k-1)/20.0);
    gsum(ch) = gsum(ch) + abs(ga(ch,k))^2;
   end
    for k=1:path
       ga(ch,k) = ga(ch,k)/sqrt(gsum(ch))*prc(ch,k);
    end
end
 

%===================================================
% Channel Loop
%===================================================
 r1=1/sqrt(2);
 fsle=0;

for ch=1:antennas*antennas     

   eqa(ch,1:carrier) = 1;
   eqaT=ifft(eqa(ch,:),carrier);
   eqaf=eqaT(1);
   for k=1:path
    eqaT((k-1)*delay+1) = ga(ch,k) * eqaf;
   end
    eqaF(ch,1:carrier)=fft(eqaT,carrier);
  
end  

hrd=eqaF;

 
%===================================================
% ZF, MMSE  Settings
%===================================================
H1=zeros(antennas,antennas);
sig=1e-6;
   for k=1:carrier
       for l=1:antennas
           H1(l,1:antennas)=eqaF(1+antennas*(l-1):antennas+antennas*(l-1),k);
       end
        H1T=H1&#039;;      
        %ZF criteria
         %G1=H1T/(H1*H1T+eye(antennas)*sig);
        %MMSE criteria
         G1=H1T/(H1*H1T+antennas*sd^2*eye(antennas));
       
        for l=1:antennas
            for m=1:antennas
              G(antennas*(l-1)+m,k)=G1(l,m);
            end
        end

   end
   
%----------------------------
%	Transmitter
%----------------------------


   
   map=recSR;
   
for ch=1:antennas*antennas     
   beta(ch) = sqrt(1./sum((abs(hsr(ch,1:subcarrier)).^2) +N0));
   
   map2(ch)=beta(ch)*map(ch);
end

      
   %*************************
    
   %*************************
   %	IFFT - Guard interval
   %*************************
    
   %for ch=1:antennas
     %for k=1:symbol/carrier
        
     %  fftmp=map(ch,(k-1)*carrier+1:(k-1)*carrier+carrier);
     
          % fftmpT=ifft(fftmp,carrier)*sqrt(carrier);
       
           % ggi=fftmpT(:,carrier-gil+1:carrier);
            
          %  mc=[ggi,fftmpT];
            
           % map2(ch,1+(k-1)*(carrier+gil):carrier+gil+(k-1)*(carrier+gil))= mc;              
      %end      
    %end

   %**************************
%-----------------------------

   
%----------------------------
%	Channel
%----------------------------
      
   
  %**************************
  %	Multipath
  %**************************
    smp=zeros(antennas,sym);
    
    for k=1:path
        for m=1:antennas
            HH(m,1:antennas)=ga(1+antennas*(m-1):antennas+antennas*(m-1),k);
        end 
        for l=1: sym-(k-1)*delay
            smp(1:antennas,(k-1)*delay+l)=smp(1:antennas,(k-1)*delay+l)+HH*map2(:,l);
        end
     end
   %***************************

      
   %**************************
   %	AWGN
   %**************************
    
   for ch=1:antennas
     for k=1:sym
         smp(ch,k)=smp(ch,k)+sd*(randn+j*randn);
     end 
   end
   

   %***************************
%-----------------------------

   
%------------------------------
%	Receiver
%------------------------------

   %*************************
   % FFT - Guard interval
   %*************************
   for ch=1:antennas
    for k=1:symbol/carrier
       fftmp=smp(ch,(k-1)*(carrier+gil)+(gil+1):(k-1)*(carrier+gil)+carrier+gil);
       fftmpF=fft(fftmp,carrier)/(sqrt(carrier));
       map3(ch,1+(k-1)*(carrier):k*(carrier))=fftmpF;
    end
   end
   
  %***************************
 
  
 
   %*************************
   % FDE
   %*************************
   map6=zeros(antennas,symbol);
   
    for k=1:symbol/carrier
	  for l=1:carrier   
       for m=1:antennas
            GG(m,1:antennas)=G(1+antennas*(m-1):antennas+antennas*(m-1),l);
       end

       map6(1:antennas,(k-1)*carrier+l)=GG*map3(:,(k-1)*carrier+l);
        
      end
    end
  
    recRD=map6;
    combRD=recSD+recRD;
    
    %***************************
    

   %*************************
   %	BPSK demodulation
   %*************************
     
%     for ch=1:antennas
%      sk=1;
%      for k=1:bit
% 	  if(real(map6(ch,k))&gt;=0)
% 	    recRD(ch,sk)=1;	  
% 	   else
% 	    recRD(ch,sk)=-1;	
%       end
%       sk=sk+1;
%      end
%     end
     %************************************************
      
      
            
      
      %************************************************
      %%************************************************
      %%%************************************************
      %%%%************************************************
      %%%%%************************************************
      %%%%%%************************************************
      %%%%%%%************************************************
      %%%%%%%%************************************************
     
      
   %*************************
   %	Combining demodulation
   %*************************
     
    for ch=1:antennas
     sk=1;
     for k=1:bit
	  if(real(combRD(ch,k)+combSD(ch,k))&gt;=0)
	    final(ch,sk)=1;	  
	   else
	    final(ch,sk)=-1;	
      end
      sk=sk+1;
     end
    end
     %************************************************
      
     
     
     
%=====================================================================
%     ERROR COUNT                            
%=====================================================================
   for ch=1:antennas
     for k=1:bit
        if(final(ch,k)~=tx(ch,k))
          error=error+1;
        end
     end
   end
   
end

%-----------------------------End packet loop

%=====================================================================
%     BER                           
%=====================================================================
 
  BER(sn/skip+1,1)=error/(antennas*bit*pckt);
      sn,BER
      %error,pckt
      sn1(sn/skip+1)=sn; 
      sn2(sn/skip+1)=snrtheorical2;

      if(BER(sn/skip+1,1)&lt;=1.e-6)
        break;
      end
end

%=====================================================================
%     Graphic                         
%=====================================================================

 semilogy(sn1,BER,&#039;*b-&#039;,sn1,sn2,&#039;r-&#039;); title(&#039;OFDM BPSK Multipath&#039;); xlabel(&#039;Eb/N0 (dB)&#039;); ylabel(&#039;BER&#039;); grid;
 AXIS([0 30 1e-6 1]);legend(&#039;Simulated Result&#039;,&#039;Theoretical Result&#039;,1);

%       
%</description>
		<content:encoded><![CDATA[<p>Dear Kirishna, please help me withOFDM amplify and forward in relay schem mathlab codes mine is there but not ok.<br />
%////////////////////////////////////////////////////<br />
% MIMO OFDM BPSK MMSE/ZF Function Multipath &#8211; Simplificado<br />
%////////////////////////////////////////////////////</p>
<p>clear,clc</p>
<p>%===================================================<br />
% OFDM Parameters Settings<br />
%===================================================</p>
<p>antennas=1;                      % Antenas<br />
bit=2048;%4;%2048;                        % Bit<br />
symbol=bit;                      % Symbol<br />
carrier=64;%2;%64;                      % Channels<br />
gil=16;%2;%16;                          % Guard Interval<br />
delay=1;                         % Delay<br />
path=16;                         % Number of Paths<br />
dur=0;                           % dB Rate<br />
min_err=2000;                    % Minimum error<br />
min_pckt = 800;                  % Minimum Packet<br />
sym=symbol/carrier*(carrier+gil);<br />
error=0;<br />
skip=2.5;</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;SN Loop&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>for sn=0:skip:30;</p>
<p>%===================================================<br />
% AWGN Setting<br />
%===================================================</p>
<p> snr=10^(sn/10);<br />
 sd=sqrt(antennas*0.5/(snr*1*(carrier/(carrier+gil))));<br />
 error=0;<br />
 pckt=0;<br />
 snrtheorical1=(erfc(sqrt(snr)))/2;                                           %BPSK AWGN Theoretical BER<br />
 snrtheorical2=0.5.*(1-sqrt(snr/(snr+1)))/(carrier/(carrier+gil));            %BPSK AWGN Multipath Theoretical BER</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
%	packet loop<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>while(error&lt;=min_err &amp;&amp; pckt=0)<br />
% 	    recSD(ch,sk)=1;<br />
% 	   else<br />
% 	    recSD(ch,sk)=-1;<br />
%       end<br />
%       sk=sk+1;<br />
%      end<br />
%     end<br />
     %************************************************</p>
<p>     %************************************************ %************************************************ %************************************************ %************************************************<br />
      %************************************************<br />
      %%************************************************<br />
      %%%************************************************<br />
      %%************************************************<br />
      %%%************************************************<br />
      %%%%************************************************</p>
<p>      % Source-Relay LINK</p>
<p>%===================================================<br />
% Multipath Settings<br />
%===================================================</p>
<p>for ch=1:antennas*antennas<br />
 gsum(ch)=0;<br />
   for k=1:path<br />
    pr(ch,k) = (1.0)*sqrt(-log(rand));<br />
    prc(ch,k)=pr(ch,k)*exp((2*pi*rand*j));<br />
    ga(ch,k)=10^(-dur*(k-1)/20.0);<br />
    gsum(ch) = gsum(ch) + abs(ga(ch,k))^2;<br />
   end<br />
    for k=1:path<br />
       ga(ch,k) = ga(ch,k)/sqrt(gsum(ch))*prc(ch,k);<br />
    end<br />
end</p>
<p>%===================================================<br />
% Channel Loop<br />
%===================================================<br />
 r1=1/sqrt(2);<br />
 fsle=0;</p>
<p>for ch=1:antennas*antennas     </p>
<p>   eqa(ch,1:carrier) = 1;<br />
   eqaT=ifft(eqa(ch,:),carrier);<br />
   eqaf=eqaT(1);<br />
   for k=1:path<br />
    eqaT((k-1)*delay+1) = ga(ch,k) * eqaf;<br />
   end<br />
    eqaF(ch,1:carrier)=fft(eqaT,carrier);</p>
<p>end  </p>
<p>hsr=eqaF;</p>
<p>%===================================================<br />
% ZF, MMSE  Settings<br />
%===================================================<br />
H1=zeros(antennas,antennas);<br />
sig=1e-6;<br />
   for k=1:carrier<br />
       for l=1:antennas<br />
           H1(l,1:antennas)=eqaF(1+antennas*(l-1):antennas+antennas*(l-1),k);<br />
       end<br />
        H1T=H1&#8242;;<br />
        %ZF criteria<br />
         %G1=H1T/(H1*H1T+eye(antennas)*sig);<br />
        %MMSE criteria<br />
         G1=H1T/(H1*H1T+antennas*sd^2*eye(antennas));</p>
<p>        for l=1:antennas<br />
            for m=1:antennas<br />
              G(antennas*(l-1)+m,k)=G1(l,m);<br />
            end<br />
        end</p>
<p>   end</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
%	Transmitter<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>   %*************************<br />
   %	IFFT &#8211; Guard interval<br />
   %*************************</p>
<p>%     for ch=1:antennas<br />
%       for k=1:symbol/carrier<br />
%<br />
%         fftmp=map(ch,(k-1)*carrier+1:(k-1)*carrier+carrier);<br />
%<br />
%             fftmpT=ifft(fftmp,carrier)*sqrt(carrier);<br />
%<br />
%              ggi=fftmpT(:,carrier-gil+1:carrier);<br />
%<br />
%              mc=[ggi,fftmpT];<br />
%<br />
%              map2(ch,1+(k-1)*(carrier+gil):carrier+gil+(k-1)*(carrier+gil))= mc;<br />
%       end<br />
%     end</p>
<p>   %**************************<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
%	Channel<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>  %**************************<br />
  %	Multipath<br />
  %**************************<br />
    smp=zeros(antennas,sym);</p>
<p>    for k=1:path<br />
        for m=1:antennas<br />
            HH(m,1:antennas)=ga(1+antennas*(m-1):antennas+antennas*(m-1),k);<br />
        end<br />
        for l=1: sym-(k-1)*delay<br />
            smp(1:antennas,(k-1)*delay+l)=smp(1:antennas,(k-1)*delay+l)+HH*map2(:,l);<br />
        end<br />
     end<br />
   %***************************</p>
<p>   %**************************<br />
   %	AWGN<br />
   %**************************</p>
<p>   for ch=1:antennas<br />
     for k=1:sym<br />
         smp(ch,k)=smp(ch,k)+sd*(randn+j*randn);<br />
     end<br />
   end</p>
<p>   recSR=smp;</p>
<p>   %***************************<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
%	Receiver<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>   %*************************<br />
   % FFT &#8211; Guard interval<br />
   %*************************<br />
  %for ch=1:antennas<br />
   %for k=1:symbol/carrier<br />
    %  fftmp=smp(ch,(k-1)*(carrier+gil)+(gil+1):(k-1)*(carrier+gil)+carrier+gil);<br />
     % fftmpF=fft(fftmp,carrier)/(sqrt(carrier));<br />
      %map3(ch,1+(k-1)*(carrier):k*(carrier))=fftmpF;<br />
   %end<br />
  %end</p>
<p>  %***************************</p>
<p>   %*************************<br />
   % FDE<br />
   %*************************<br />
  %map6=zeros(antennas,symbol);</p>
<p>   %for k=1:symbol/carrier<br />
	% for l=1:carrier<br />
     % for m=1:antennas<br />
      %     GG(m,1:antennas)=G(1+antennas*(m-1):antennas+antennas*(m-1),l);<br />
      %end<br />
      %     map6(1:antennas,(k-1)*carrier+l)=GG*map3(:,(k-1)*carrier+l); </p>
<p>     %end<br />
   %end</p>
<p>    %***************************</p>
<p>   %*************************<br />
   %	BPSK demodulation<br />
   %*************************</p>
<p>%     for ch=1:antennas<br />
%      sk=1;<br />
%      for k=1:bit<br />
% 	  if(real(map6(ch,k))&gt;=0)<br />
% 	    recSR(ch,sk)=1;<br />
% 	   else<br />
% 	    recSR(ch,sk)=-1;<br />
%       end<br />
%       sk=sk+1;<br />
%      end<br />
%     end<br />
     %************************************************</p>
<p>      %************************************************<br />
      %%************************************************<br />
      %%%************************************************<br />
      %%%%************************************************<br />
      %%%%%************************************************<br />
      %%%%%%************************************************<br />
      %%%%%%%************************************************<br />
      %%%%%%%%************************************************</p>
<p>%       Relay-Destination LINK</p>
<p>      %===================================================<br />
% Multipath Settings<br />
%===================================================</p>
<p>for ch=1:antennas*antennas<br />
 gsum(ch)=0;<br />
   for k=1:path<br />
    pr(ch,k) = (1.0)*sqrt(-log(rand));<br />
    prc(ch,k)=pr(ch,k)*exp((2*pi*rand*j));<br />
    ga(ch,k)=10^(-dur*(k-1)/20.0);<br />
    gsum(ch) = gsum(ch) + abs(ga(ch,k))^2;<br />
   end<br />
    for k=1:path<br />
       ga(ch,k) = ga(ch,k)/sqrt(gsum(ch))*prc(ch,k);<br />
    end<br />
end</p>
<p>%===================================================<br />
% Channel Loop<br />
%===================================================<br />
 r1=1/sqrt(2);<br />
 fsle=0;</p>
<p>for ch=1:antennas*antennas     </p>
<p>   eqa(ch,1:carrier) = 1;<br />
   eqaT=ifft(eqa(ch,:),carrier);<br />
   eqaf=eqaT(1);<br />
   for k=1:path<br />
    eqaT((k-1)*delay+1) = ga(ch,k) * eqaf;<br />
   end<br />
    eqaF(ch,1:carrier)=fft(eqaT,carrier);</p>
<p>end  </p>
<p>hrd=eqaF;</p>
<p>%===================================================<br />
% ZF, MMSE  Settings<br />
%===================================================<br />
H1=zeros(antennas,antennas);<br />
sig=1e-6;<br />
   for k=1:carrier<br />
       for l=1:antennas<br />
           H1(l,1:antennas)=eqaF(1+antennas*(l-1):antennas+antennas*(l-1),k);<br />
       end<br />
        H1T=H1&#8242;;<br />
        %ZF criteria<br />
         %G1=H1T/(H1*H1T+eye(antennas)*sig);<br />
        %MMSE criteria<br />
         G1=H1T/(H1*H1T+antennas*sd^2*eye(antennas));</p>
<p>        for l=1:antennas<br />
            for m=1:antennas<br />
              G(antennas*(l-1)+m,k)=G1(l,m);<br />
            end<br />
        end</p>
<p>   end</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
%	Transmitter<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>   map=recSR;</p>
<p>for ch=1:antennas*antennas<br />
   beta(ch) = sqrt(1./sum((abs(hsr(ch,1:subcarrier)).^2) +N0));</p>
<p>   map2(ch)=beta(ch)*map(ch);<br />
end</p>
<p>   %*************************</p>
<p>   %*************************<br />
   %	IFFT &#8211; Guard interval<br />
   %*************************</p>
<p>   %for ch=1:antennas<br />
     %for k=1:symbol/carrier</p>
<p>     %  fftmp=map(ch,(k-1)*carrier+1:(k-1)*carrier+carrier);</p>
<p>          % fftmpT=ifft(fftmp,carrier)*sqrt(carrier);</p>
<p>           % ggi=fftmpT(:,carrier-gil+1:carrier);</p>
<p>          %  mc=[ggi,fftmpT];</p>
<p>           % map2(ch,1+(k-1)*(carrier+gil):carrier+gil+(k-1)*(carrier+gil))= mc;<br />
      %end<br />
    %end</p>
<p>   %**************************<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
%	Channel<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>  %**************************<br />
  %	Multipath<br />
  %**************************<br />
    smp=zeros(antennas,sym);</p>
<p>    for k=1:path<br />
        for m=1:antennas<br />
            HH(m,1:antennas)=ga(1+antennas*(m-1):antennas+antennas*(m-1),k);<br />
        end<br />
        for l=1: sym-(k-1)*delay<br />
            smp(1:antennas,(k-1)*delay+l)=smp(1:antennas,(k-1)*delay+l)+HH*map2(:,l);<br />
        end<br />
     end<br />
   %***************************</p>
<p>   %**************************<br />
   %	AWGN<br />
   %**************************</p>
<p>   for ch=1:antennas<br />
     for k=1:sym<br />
         smp(ch,k)=smp(ch,k)+sd*(randn+j*randn);<br />
     end<br />
   end</p>
<p>   %***************************<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
%	Receiver<br />
%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>   %*************************<br />
   % FFT &#8211; Guard interval<br />
   %*************************<br />
   for ch=1:antennas<br />
    for k=1:symbol/carrier<br />
       fftmp=smp(ch,(k-1)*(carrier+gil)+(gil+1):(k-1)*(carrier+gil)+carrier+gil);<br />
       fftmpF=fft(fftmp,carrier)/(sqrt(carrier));<br />
       map3(ch,1+(k-1)*(carrier):k*(carrier))=fftmpF;<br />
    end<br />
   end</p>
<p>  %***************************</p>
<p>   %*************************<br />
   % FDE<br />
   %*************************<br />
   map6=zeros(antennas,symbol);</p>
<p>    for k=1:symbol/carrier<br />
	  for l=1:carrier<br />
       for m=1:antennas<br />
            GG(m,1:antennas)=G(1+antennas*(m-1):antennas+antennas*(m-1),l);<br />
       end</p>
<p>       map6(1:antennas,(k-1)*carrier+l)=GG*map3(:,(k-1)*carrier+l);</p>
<p>      end<br />
    end</p>
<p>    recRD=map6;<br />
    combRD=recSD+recRD;</p>
<p>    %***************************</p>
<p>   %*************************<br />
   %	BPSK demodulation<br />
   %*************************</p>
<p>%     for ch=1:antennas<br />
%      sk=1;<br />
%      for k=1:bit<br />
% 	  if(real(map6(ch,k))&gt;=0)<br />
% 	    recRD(ch,sk)=1;<br />
% 	   else<br />
% 	    recRD(ch,sk)=-1;<br />
%       end<br />
%       sk=sk+1;<br />
%      end<br />
%     end<br />
     %************************************************</p>
<p>      %************************************************<br />
      %%************************************************<br />
      %%%************************************************<br />
      %%%%************************************************<br />
      %%%%%************************************************<br />
      %%%%%%************************************************<br />
      %%%%%%%************************************************<br />
      %%%%%%%%************************************************</p>
<p>   %*************************<br />
   %	Combining demodulation<br />
   %*************************</p>
<p>    for ch=1:antennas<br />
     sk=1;<br />
     for k=1:bit<br />
	  if(real(combRD(ch,k)+combSD(ch,k))&gt;=0)<br />
	    final(ch,sk)=1;<br />
	   else<br />
	    final(ch,sk)=-1;<br />
      end<br />
      sk=sk+1;<br />
     end<br />
    end<br />
     %************************************************</p>
<p>%=====================================================================<br />
%     ERROR COUNT<br />
%=====================================================================<br />
   for ch=1:antennas<br />
     for k=1:bit<br />
        if(final(ch,k)~=tx(ch,k))<br />
          error=error+1;<br />
        end<br />
     end<br />
   end</p>
<p>end</p>
<p>%&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;End packet loop</p>
<p>%=====================================================================<br />
%     BER<br />
%=====================================================================</p>
<p>  BER(sn/skip+1,1)=error/(antennas*bit*pckt);<br />
      sn,BER<br />
      %error,pckt<br />
      sn1(sn/skip+1)=sn;<br />
      sn2(sn/skip+1)=snrtheorical2;</p>
<p>      if(BER(sn/skip+1,1)&lt;=1.e-6)<br />
        break;<br />
      end<br />
end</p>
<p>%=====================================================================<br />
%     Graphic<br />
%=====================================================================</p>
<p> semilogy(sn1,BER,&#039;*b-&#039;,sn1,sn2,&#039;r-&#039;); title(&#039;OFDM BPSK Multipath&#039;); xlabel(&#039;Eb/N0 (dB)&#039;); ylabel(&#039;BER&#039;); grid;<br />
 AXIS([0 30 1e-6 1]);legend(&#039;Simulated Result&#039;,&#039;Theoretical Result&#039;,1);</p>
<p>%<br />
%</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Researcher</title>
		<link>http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/#comment-65448</link>
		<dc:creator>Researcher</dc:creator>
		<pubDate>Sun, 21 Aug 2011 08:00:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.dsplog.com/?p=225#comment-65448</guid>
		<description>One who is interested in including his/her name in 3 research conferences in international IEEE conference should reply on email address me_researcher@yahoo.com. Both papers are related to mobile communication.  Total of 3 authors list will be included in each Paper. 2 author names have already been included. Interested candidates who want to include his/her name at 3rd position will be required to pay for the registration fee.
 Matlab Code as well as the full paper will be sent to the individual after acceptance of paper from the conference.
Fee submission will be through Freelancer and elance. Candidate name will be included in Paper after milestone payment is released by him/her. Milestone payment is one which is in the custody of broker (Freelancer or Elance authority) and not in the custody of either party. After the paper is accepted and the client is conformed about the acheivement, only then he will be allowed to pay. Time is short so the policy of 1st come 1st serve will be entertained.</description>
		<content:encoded><![CDATA[<p>One who is interested in including his/her name in 3 research conferences in international IEEE conference should reply on email address <a href="mailto:me_researcher@yahoo.com">me_researcher@yahoo.com</a>. Both papers are related to mobile communication.  Total of 3 authors list will be included in each Paper. 2 author names have already been included. Interested candidates who want to include his/her name at 3rd position will be required to pay for the registration fee.<br />
 Matlab Code as well as the full paper will be sent to the individual after acceptance of paper from the conference.<br />
Fee submission will be through Freelancer and elance. Candidate name will be included in Paper after milestone payment is released by him/her. Milestone payment is one which is in the custody of broker (Freelancer or Elance authority) and not in the custody of either party. After the paper is accepted and the client is conformed about the acheivement, only then he will be allowed to pay. Time is short so the policy of 1st come 1st serve will be entertained.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Krishna Sankar</title>
		<link>http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/#comment-56464</link>
		<dc:creator>Krishna Sankar</dc:creator>
		<pubDate>Thu, 26 May 2011 00:55:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.dsplog.com/?p=225#comment-56464</guid>
		<description>@MIKA: The BPSK in Rayleigh simulation does not have multipath. And in OFDM case though it has multipath, as long as it&#039;s contained within cyclic prefix, there is no performance impact</description>
		<content:encoded><![CDATA[<p>@MIKA: The BPSK in Rayleigh simulation does not have multipath. And in OFDM case though it has multipath, as long as it&#8217;s contained within cyclic prefix, there is no performance impact</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Krishna Sankar</title>
		<link>http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/#comment-56101</link>
		<dc:creator>Krishna Sankar</dc:creator>
		<pubDate>Sun, 22 May 2011 21:40:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.dsplog.com/?p=225#comment-56101</guid>
		<description>@vasanth: What was your intent - to normalize the variance to unity?</description>
		<content:encoded><![CDATA[<p>@vasanth: What was your intent &#8211; to normalize the variance to unity?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: vasanth</title>
		<link>http://www.dsplog.com/2008/08/26/ofdm-rayleigh-channel-ber-bpsk/#comment-55607</link>
		<dc:creator>vasanth</dc:creator>
		<pubDate>Wed, 18 May 2011 10:37:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.dsplog.com/?p=225#comment-55607</guid>
		<description>can u pls tel me the equation for taps representation in ofdm...
is dis d correct eqn
h=(1/sqrt(2^taps))*(randn+i*randn)???
or 
h=(1/sqrt(2*taps))*(randn+i*randn)???</description>
		<content:encoded><![CDATA[<p>can u pls tel me the equation for taps representation in ofdm&#8230;<br />
is dis d correct eqn<br />
h=(1/sqrt(2^taps))*(randn+i*randn)???<br />
or<br />
h=(1/sqrt(2*taps))*(randn+i*randn)???</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.dsplog.com @ 2012-02-11 00:37:18 -->
