1. ## 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.D ata_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 ?

•

2. ## Re: Frequency Selective fading channel

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

3. ## Re: Frequency Selective fading channel

Originally Posted by David83
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 - - -

•

4. ## Re: Frequency Selective fading channel

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.

•

5. ## Re: Frequency Selective fading channel

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.

6. ## Re: Frequency Selective fading channel

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

$3y_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:

$3\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.

1 members found this post helpful.

7. ## Re: Frequency Selective fading channel

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.

8. ## Re: Frequency Selective fading 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.

1 members found this post helpful.

9. ## Re: Frequency Selective fading channel

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;

•

10. ## Re: Frequency Selective fading channel

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.

--[[ ]]--