Rules | Recent posts | topic RSS | Search | Register  | Log in

Frequency Selective Fading Channel

 
Post new topic  Reply to topic    EDAboard.com Forum Index -> Digital communication
Author Message
cwjcwjcwj



Joined: 08 Nov 2004
Posts: 207
Helped: 2


Post01 Aug 2006 10:48   Frequency Selective Fading Channel

I have a OFDM system in AWGN channel. However, I currently wanna run it thru frequency selective fading channel which is more realistic. Is there anyone can explain to me how and what I have to do?Or maybe any relevant tutorial about that?Thanks
Back to top
hamdard



Joined: 09 Jun 2006
Posts: 184
Helped: 10


Post03 Aug 2006 12:03   Re: Frequency Selective Fading Channel

During simualtion, you have to consider multiple path.
for single path, the received signal is
r(j)=Σ(h.x(j))+n(j)
where h is channel coefficient for a particular user amd x(j) is the data . n(j ) is the noise. j=1,2,3,........,J where J is frame length in CDMA.

In multiple path
r(j)=ΣΣ(h.x(j-l))+n(j)
where l is multiple path number. So, the channel must have multipath fading channel with memory lenghth L-1. Anad j=1,2,....,J+L-1.
Back to top
ahmedseu



Joined: 31 Jul 2006
Posts: 231
Helped: 20


Post11 Aug 2006 6:54   Re: Frequency Selective Fading Channel

The following is a part of OFDM-MIMO simulating the 'ITU Vehicular A' channel.

% Define the channel profile
Path_Gain = [0.6964 0.6207 0.2471 0.2202 0.1238 0.0696];
Path_Delay = [0 1 2 3 4 5] + 1;
ChannelProfile = 'ITU Vehicular A';

Num_Path = length( Path_Gain );
Max_Delay = max( Path_Delay );
Fc = 3e9;
V = 3;
Fd = V * Fc / 3e8 * 1000 / 3600;
Phase = 2 * pi * rand( 1,Num_Path*Num_RxAnt*Num_TxAnt );
%---------------------------------------------------------


% Channel
ChannelCoeff = MultiPathChannel( repmat( Path_Gain,1,Num_RxAnt*Num_TxAnt ),Fd,Ts,Num_Block,StartPoint,Phase ); StartPoint = StartPoint + Num_Block;
% ChannelCoeff = diag( repmat( Path_Gain,1,Num_RxAnt*Num_TxAnt ) ) * ( randn( Num_Path*Num_RxAnt*Num_TxAnt,Num_Block ) + sqrt( -1 ) * randn( Num_Path*Num_RxAnt*Num_TxAnt,Num_Block ) ) / sqrt( 2 );
ChannelOut = zeros( Num_RxAnt,Ns*Num_Block+Max_Delay-1 );
for RxAnt = 1 : Num_RxAnt
for TxAnt = 1 : Num_TxAnt
h( Path_Delay,1:Num_Block ) = ChannelCoeff( (RxAnt-1)*Num_Path*Num_TxAnt + (TxAnt-1)*Num_Path + (1:Num_Path) ,Smile;
H( RxAnt,TxAnt,: ) = reshape( fft( h,Nc,1 ),1,Nc*Num_Block );
for i = 1 : Num_Block
Temp = ChannelOut( RxAnt, (i-1)*Ns + (1:Ns+Max_Delay-1) );
ChannelOut( RxAnt,(i-1)*Ns + (1:Ns+Max_Delay-1) ) = Temp + conv( h(:,i),TransSig( TxAnt,(i-1)*Ns + (1:Ns) ) );
end
end
end
RecSig = ChannelOut + sqrt( Var ) * ( randn( size( ChannelOut ) ) + sqrt( -1 ) * randn( size( ChannelOut ) ) ) / sqrt( 2 );
clear ChannelCoeff h ChannelOut;
Back to top
Post new topic  Reply to topic    EDAboard.com Forum Index -> Digital communication
Page 1 of 1 All times are GMT + 1 Hour


Abuse
Administrator
Moderators
topic RSS 
sitemap