From: Robert Orzechowski on
Idin Motedayen-Aval <run.signature(a)MATLAB.for.email> wrote in message <hkcn1l$r42$1(a)fred.mathworks.com>...
> Robert Orzechowski wrote:
> > Hi, I have a SOVA decoder, which needs CSI to works fine.
> > I am using rayleighchan built-in function :
> >
> > tau=0:5e-8:5e-7;
> > %path gain dB pdb=[0.6286 0.4895 0.3813 0.2969 0.2312 0.1201 0.1403
> > 0.1092 0.085 0.0662 0.0515];
> > chan = rayleighchan(4e-6, 200, tau, pdb);
> > chan.ResetBeforeFiltering = false;
> > chan.StoreHistory = true; %since matlab 2006a
> >
> > y = filter(chan,trans);
> > h=chan.PathGains;
> >
> > In this case I have 11 taps. So matrix h (in time domain) has a size FFT
> > x 11.
> > How to get CSI ? doing simple fft(h) is not a good idea, since i got
> > also 11 samples for the symbol given.
> > How to get channel state information if I have 11 path's gains
> > Please help me.
> > Robert
>
> Hi Robert,
> You already have your CSI. If you have the gain of each path, that's
> your channel's state. Now it's up to you to figure out how you want to
> use that information. If you're stuck on this point, do some reading on
> equalization.
> One idea might be to use a static filter first. Forget the fading
> channel for now; just use a randomly generated 11-tap filter, and see if
> you can deal with the signal after that filter (can you undo the effect
> of the filter). Then you can worry about the time-varying nature of the
> channel.
>
> HTH,
> Idin
>
> --
> Idin Motedayen-Aval
> The MathWorks, Inc.
> zq=[4 2 5 -15 -1 -3 24 -57 45 -12 19 -12 15 -8 3 -7 8 -69 53 12 -2];
> char(filter(1,[1,-1],[105 zq])), clear zq


I would like to ask you for some more hints, please... I still cannot deal with it.
Thank you in advance,
Robert
From: Robert Orzechowski on
"Robert Orzechowski" <orzechowskirobert(a)yahoo.com> wrote in message <hlhkm5$5f8$1(a)fred.mathworks.com>...
> Idin Motedayen-Aval <run.signature(a)MATLAB.for.email> wrote in message <hkcn1l$r42$1(a)fred.mathworks.com>...
> > Robert Orzechowski wrote:
> > > Hi, I have a SOVA decoder, which needs CSI to works fine.
> > > I am using rayleighchan built-in function :
> > >
> > > tau=0:5e-8:5e-7;
> > > %path gain dB pdb=[0.6286 0.4895 0.3813 0.2969 0.2312 0.1201 0.1403
> > > 0.1092 0.085 0.0662 0.0515];
> > > chan = rayleighchan(4e-6, 200, tau, pdb);
> > > chan.ResetBeforeFiltering = false;
> > > chan.StoreHistory = true; %since matlab 2006a
> > >
> > > y = filter(chan,trans);
> > > h=chan.PathGains;
> > >
> > > In this case I have 11 taps. So matrix h (in time domain) has a size FFT
> > > x 11.
> > > How to get CSI ? doing simple fft(h) is not a good idea, since i got
> > > also 11 samples for the symbol given.
> > > How to get channel state information if I have 11 path's gains
> > > Please help me.
> > > Robert
> >
> > Hi Robert,
> > You already have your CSI. If you have the gain of each path, that's
> > your channel's state. Now it's up to you to figure out how you want to
> > use that information. If you're stuck on this point, do some reading on
> > equalization.
> > One idea might be to use a static filter first. Forget the fading
> > channel for now; just use a randomly generated 11-tap filter, and see if
> > you can deal with the signal after that filter (can you undo the effect
> > of the filter). Then you can worry about the time-varying nature of the
> > channel.
> >
> > HTH,
> > Idin
> >
> > --
> > Idin Motedayen-Aval
> > The MathWorks, Inc.
> > zq=[4 2 5 -15 -1 -3 24 -57 45 -12 19 -12 15 -8 3 -7 8 -69 53 12 -2];
> > char(filter(1,[1,-1],[105 zq])), clear zq
>
>
> I would like to ask you for some more hints, please... I still cannot deal with it.
> Thank you in advance,
> Robert

I wanted to add, that I need ideal CSI ( I just would like to run some simple SOVA simulation).
As far as I read about equalization it is estimating the channel, right ?
From: Idin Motedayen-Aval on
Robert Orzechowski wrote:
> "Robert Orzechowski" <orzechowskirobert(a)yahoo.com> wrote in message
> <hlhkm5$5f8$1(a)fred.mathworks.com>...
>> Idin Motedayen-Aval <run.signature(a)MATLAB.for.email> wrote in message
>> <hkcn1l$r42$1(a)fred.mathworks.com>...
>> > Robert Orzechowski wrote:
>> > > Hi, I have a SOVA decoder, which needs CSI to works fine.
>> > > I am using rayleighchan built-in function :
>> > > > > tau=0:5e-8:5e-7;
>> > > %path gain dB pdb=[0.6286 0.4895 0.3813 0.2969 0.2312 0.1201
>> 0.1403 > > 0.1092 0.085 0.0662 0.0515];
>> > > chan = rayleighchan(4e-6, 200, tau, pdb);
>> > > chan.ResetBeforeFiltering = false;
>> > > chan.StoreHistory = true; %since matlab 2006a
>> > > > > y = filter(chan,trans);
>> > > h=chan.PathGains;
>> > > > > In this case I have 11 taps. So matrix h (in time domain) has
>> a size FFT > > x 11.
>> > > How to get CSI ? doing simple fft(h) is not a good idea, since i
>> got > > also 11 samples for the symbol given.
>> > > How to get channel state information if I have 11 path's gains
>> > > Please help me.
>> > > Robert
>> > > Hi Robert,
>> > You already have your CSI. If you have the gain of each path,
>> that's > your channel's state. Now it's up to you to figure out how
>> you want to > use that information. If you're stuck on this point, do
>> some reading on > equalization.
>> > One idea might be to use a static filter first. Forget the fading >
>> channel for now; just use a randomly generated 11-tap filter, and see
>> if > you can deal with the signal after that filter (can you undo the
>> effect > of the filter). Then you can worry about the time-varying
>> nature of the > channel.
>> > > HTH,
>> > Idin
>> > > -- > Idin Motedayen-Aval
>> > The MathWorks, Inc.
>> > zq=[4 2 5 -15 -1 -3 24 -57 45 -12 19 -12 15 -8 3 -7 8 -69 53 12 -2];
>> > char(filter(1,[1,-1],[105 zq])), clear zq
>>
>>
>> I would like to ask you for some more hints, please... I still cannot
>> deal with it.
>> Thank you in advance,
>> Robert
>
> I wanted to add, that I need ideal CSI ( I just would like to run some
> simple SOVA simulation). As far as I read about equalization it is
> estimating the channel, right ?

Hi Robert,
Equalization usually does refer to estimating the channel, but its
concepts apply equally well here. In this case you know the channel
exactly. A fading channel is nothing but a time-varying filter. Some
genie told you what that filter is. So if you could invert that filter,
you would be done.
If your channel had a single tap, this would be easy: the channel
multiplies your signal with a complex gain, and if you know that gain,
you can simply divide by it at the receiver.
It's more complicated for multiple taps, but it's the same idea. You
basically need to run the received signal through the inverse of the
channel filter.

--
Idin Motedayen-Aval
The MathWorks, Inc.
zq=[4 2 5 -15 -1 -3 24 -57 45 -12 19 -12 15 -8 3 -7 8 -69 53 12 -2];
char(filter(1,[1,-1],[105 zq])), clear zq
From: mahmud_dbm on
Dear Sir,

Question is about getting CSI from the channel, well, i'm using reyleighchan, say for 1000 bits of 100 parallel streams. now i set my channel with chan=rayleighchan and some required parameters, then coeff=chan.PathGain; wud give me the channel status and at the receiver i simply divide received streams by coeff; and i'm getting exact performance.

Now my question is
What kind of Equalization is this, i think it is somewhat more than adaptive equalization, because i'm getting 100 different Coeffs for 100 different streams and i'm simply dividing by the status very easily, now in practice "which kind of Equalization" wud give me this Performance..????

Practically how would i get this status directly like this. ? or is it possible at all.?
Note: My System doesn't have pilot or anything to get CSI from the channel.

Thank You

Mahmud
From: Robert Orzechowski on
"mahmud_dbm " <mahmud_dbm(a)yahoo.com> wrote in message <hlndc8$5h1$1(a)fred.mathworks.com>...
> Dear Sir,
>
> Question is about getting CSI from the channel, well, i'm using reyleighchan, say for 1000 bits of 100 parallel streams. now i set my channel with chan=rayleighchan and some required parameters, then coeff=chan.PathGain; wud give me the channel status and at the receiver i simply divide received streams by coeff; and i'm getting exact performance.
>
> Now my question is
> What kind of Equalization is this, i think it is somewhat more than adaptive equalization, because i'm getting 100 different Coeffs for 100 different streams and i'm simply dividing by the status very easily, now in practice "which kind of Equalization" wud give me this Performance..????
>
> Practically how would i get this status directly like this. ? or is it possible at all.?
> Note: My System doesn't have pilot or anything to get CSI from the channel.
>
> Thank You
>
> Mahmud

Hello,

Do you use multipath propagation ? Like let say 11 taps :
pdb=[0.6286 0.4895 0.3813 0.2969 0.2312 0.1201 0.1403 0.1092 0.085 0.0662 0.0515];
chan = rayleighchan(4e-6, 200, tau, pdb);
y = filter(chan,trans);
coeff=chan.PathGains;

Then your coeff will be a matrix with size : length(trans) per 11 (no of paths/taps).
How do you compute the CSI now ?

One more question : what happens if there is ofdm transmission -> then you need to perform fft...

Thanks,
Robert