Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Frequency Selective fading channel

Status
Not open for further replies.

Awais88088

Newbie level 5
Joined
Dec 12, 2016
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
65
Frequency Selective fading channel (Channel Taps)

What is the physical significance of "channel tap" in a Raleigh fading channel ? Is it related to number of paths and how to determine the number of taps?
As the single tap flat fading channel is implemented as

Data_length=length(Data); %% Data is any signal
ray = sqrt(0.5*((randn(1,Data_length)).^2+(randn(1,PAR.Data_length)).^2));
Data_sent = Data.*ray;

Now, If I want to model a 6 tap frequency selective channel, how can I modify the above MATLAB code ?
 
Last edited:

The MATLAB codes isn't clear. What are you trying to do?
 

The MATLAB codes isn't clear. What are you trying to do?


I have the following code for single tap flat fading channel.

x= rand([0 1],1,100)
L=length(X); %Signal length
h= sqrt(0.5*((randn(1,L)).^2+(randn(1,L)).^2));
Data_sent = x.*h;

Now, I want to model a 6 tap FREQUENCY SELECTIVE channel, how can I modify the above MATLAB code ?

- - - Updated - - -
 

In frequency flat channel, the effect of the channel is multiplicative. In frequency selective channels, the output of the channel will be the convolution of the input and the channel. If you assume block fading, then for each block of N data symbols, the channel taps will be constant. Usually, a cyclic prefix is used at the end of each block to prevent interblock interference. Search for OFDM codes, because OFDM is used to convert the frequency selective channels into a number of frequency flat channels.
 

Thank you
Can you please refer me any such code . I am new in Matlab. If you have any sample code or any tutorial regarding 'Frequency selective modeling' please refer me. I know the theory behind the flat fading and frequency selective fading but feeling difficulty in implementation.
 

You can do it yourself. The received signal in frequency selective channels is:

\[y_n=\sum_{l=0}^Lh_lx_{n-l}+z_n\]

where h, x and z are the channel coefficients, transmitted signal and AWGN. If you write this for n=1, ..., N, you will get the recived signal:

\[\mathbf{y}=\mathbf{H}\mathbf{x}+\mathbf{z}\]

where y, x, and z here are N-by-1 vectors, and H is an N-by-N matrix. If you know this, you can construct H, multiply it with x, and add to it z, and then you get y.
 
Thanks. Is there any equation to get the channel coefficients (H). As in flat fading the coefficients are Raleigh distributed. But in freq selective we also have to include the delays e.g in 4 tap channel.
 

I gave you the equation above. If you have the number of taps equals to 6, then you set L=5. The delay is converted into a number of taps, where the number of taps equals the maximum delay divided by the symbol time, i.e., the delay is rounded into symbol times. You can consider each coefficient as Rayleigh as in frequency flat channels.
 
I have implemented the frequency selective channel. Can you please have a look if its correct ?

%% implementation of Freq selective channel
x=randi([0 1],100,1); % signal
n=length(x);
taps=6;

temp = (randn(taps,1) + 1i*randn(taps,1))./sqrt(2);
temp = [temp ; zeros(n-taps,1)];
Channelcoeff = circulant(temp,1); %% Returns a cricular matrix(nxn).1st column is temp and others are cyclically shifting temp.
y=Channelcoeff*x;

Is this code correct?


secondly If I want to include the pathloss e.g exponentially decaying pathloss. Is the following code right?. I am confused about the distance between transmitter and receiver for 6 taps.
Is this right?

datarrate=2000; %% bits/sec
PathLossExp=2;
T= 1/datarate; %% sec/symbol
TapDist = 3e8*T.*[1:taps];

pathloss = 10*PathLossExp*log10(TapDist);
temp=temp.*10.^(-pathloss./20);
temp = [temp ; zeros(n-taps,1)];
Channelcoeff = circulant(temp,1); %% Returns a cricular matrix(nxn).1st column is temp and others are cyclically shifting temp.
y=Channelcoeff*x;
 

The output of the frequency selective channel seems fine to me. I'm not sure for the path loss though. Do you have the equations to what you are doing? Add noise to the received signal and deploy a linear equalizer like MMSE equalizer to detect the signal.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top