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.

How to design an ISI channel in MATLAB?

Status
Not open for further replies.

David83

Advanced Member level 1
Joined
Jan 21, 2011
Messages
410
Helped
45
Reputation
92
Reaction score
45
Trophy points
1,308
Activity points
3,639
Hello,

I am trying to pass a sequence of BPSK symbols over an ISI channel with length L=16 symbol time. How can I do that?

Thanks
 

Convolve the signal with a vector of 16 bins, every bin has a value of a specific multipath gain
 
How to know these bin values?
 
They are usually random for wireless channels and follows a known pdf. You can directly use MATLAB's Rayleighchan function or search the web for some famous channel profiles (fixed value bins)
 
How to do the convolution then? I wrote:

conv(h,x) where

h=1/sqrt(2).*(randn(1,16)+j.*rand(1,16));
x=rand(1,1000)>0.5;

but it does not work.

---------- Post added at 22:08 ---------- Previous post was at 21:47 ----------

I see some papers specify the rms delay spread and the symbol time. How is this related to ISI channel?
 

your code is not wrong in syntax but the channel you generate is not practical. do you have any syntax errors in this code ? The delay spread is the length of the channel (16 * sampling period) and the symbol time is the length of the symbol (usually = sampling period), the degree of ISI can be quantified as delay spread/ Symbol duration = it means that every symbol will interfere with how many adjacent symbols (in your case 16).
 

hi ahmed,how are you?

i am doning a cdma system, and i have a good matlab code to do that, but the code does not contain an ISI effect in the channel which is rayleigh

so, how can i add it effect?

thank you very much
 

Use Rayleighchan function in MATLAB, it specifies the channel taps, the time delays, the doppler shift and the sampling frequency. Check rayleighchan in MATLAB help for further information :)
 

your code is not wrong in syntax but the channel you generate is not practical. do you have any syntax errors in this code ? The delay spread is the length of the channel (16 * sampling period) and the symbol time is the length of the symbol (usually = sampling period), the degree of ISI can be quantified as delay spread/ Symbol duration = it means that every symbol will interfere with how many adjacent symbols (in your case 16).

The channel length is measured in symbol time, and I believe there is a difference between sampling period and symbol time. Suppose that the sampling frequency is 8 Khz, i.e.: we have 8 ksamples/s, i.e.: sample period is 0.125 ms, and each sample is represented by 8 bits, then we have 64 kbps, i.e.: the bit duration is 15.625 microsec. Now suppose we use 8 PSK, i.e.: 3 bits/symbol, then the symbol time will be 46.875 microsec. So, the symbol time is not the same as the sampling time.

There was a syntax error, but I fixed it when write:

d=2.*x-1;
conv(d,h);

Again, why is my code not practical? and how to make it so?

Thanks
 

Of course symbol time and sampling period are not always equal, I meant that usually we use Nyquist pulses so we need only one sample per symbol to describe it. As for your channel, you can simply use the built in rayleighchan function. The channel you're using have random path gains that are gaussian and this is not encountered in nature.
 

But you know that a Rayleigh fading channel describes only the amplitude of the channel. But the channel coefficient itself is Gaussian with zero mean.
 

Yes you're right I thought that the gaussian variable is the amplitude :)
 

[/COLOR]Use Rayleighchan function in MATLAB, it specifies the channel taps, the time delays, the doppler shift and the sampling frequency. Check rayleighchan in MATLAB help for further information




well, i used "rayleighchan" before but because i depend on simulation from the book "simulation and software for radio channel" it did not work, because the aurthor generate a rayleigh channel with different way. so it didnot work. and he didi not explain his way.

so, what is your advise for me?
 

I recommend rayleighchan but if you can't use it for any reason follow the book author.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top