Forums

How to tell which channel the signal is transmitting

Started by Helen February 19, 2004
Hi Suppose I have a signal S=[s0 s1]^T both s0 and s1 are from
the set of signal constellation C, the constellation C is known
however S is not known.

Now send the signal through some channel, we only know the channel
model can be either H0 or H1

The receive signal could be expressed as 
Y=HS+N

N is gaussian noise

We get the receive signals R=[r0 r1]^T
Is there an easy way that I can tell which channel the signals are transmitted?

Thanks a lot
On 18 Feb 2004 21:23:11 -0800, junciu@yahoo.com (Helen) wrote:

>Hi Suppose I have a signal S=[s0 s1]^T both s0 and s1 are from >the set of signal constellation C, the constellation C is known >however S is not known. > >Now send the signal through some channel, we only know the channel >model can be either H0 or H1 > >The receive signal could be expressed as >Y=HS+N > >N is gaussian noise > >We get the receive signals R=[r0 r1]^T >Is there an easy way that I can tell which channel the signals are transmitted?
This sounds easy if H0 and H1 are invertible. Calculate S0 = H0^-1 R S1 = H1^-1 R (Since R = H S + N, S0 = S + H0^-1 N, etc.) Now eliminate the noise: Estimate two versions of the original S from S0 and S1, by taking the closest points from C. Call these estimates S0' and S1'. (By this, I mean that S0' will contain elements from C, and each of these will be the closest element of C to the calculated value of the corresponding element of S0, etc.) (At least) for the correct H, S' will be an exact copy of the original S, assuming the noise wasn't so bad that we chose the wrong element of C in the above step. (This is a problem that real-life decision feedback equalisers have to face.) Calculate the error vectors E0 = R - S0' H0 E1 = R - S1' H0 One of the channels should have a much lower error than the other. The error on the correct channel should be exactly N if your knowledge of H was perfect (and the noise wasn't too high), but I can't see this happening in anything other than a homework assignment. Define some vector norm, e.g. the sum of the squares of the elements, and use that to compare the Es. |E0| < |E1| implies that H0 was the channel used, etc. BTW, Google for decision feedback equalizer. Regards, Allan.
Helen,

You might have to consider more then two channels (4 actually i think)
since there might be some coupling between H0 and H1.

The signals are going to go thru all the channels.  The best way
you can do is to recover the signal at the receiver (equalization)
or find out what the channel is (estimation).  Since you don't
know what S is, this is a blind identification or equalization
problem.  Also, since you have no knowledge about the channel
coefficients and order, it's a pretty tough problem.  You usu.
have to assume that the channels is of a certain order (usu. they
all have the same order) and of a certain model (FIR/IIR, minimum
phase, nonminmum phase, ...), before you can think about the possible
solutions.

Assume you know the order of your channels and its impulse response
can be modelled as a FIR filter, one "easy" way is to estimate/
equalize the channel is to use second order statistics of R assuming
that S exhibits cyclostationarity (its autocorrelation is
periodic).  If not, you can use higher order statistics, i.e. cumulants,
but the math is a little bit more complicated and it requires more
samples of R to obtain an accurate cumulant.  Since there are numerous
algorithms related to these two methods, I suggest you do a little
search in the IEEE database to find out more about the solutions.
The problem posted is usually more general involving s0...sN and
r0..rM, with M > N and M,N >= 2.

hth,

cf

Helen wrote:
> > Hi Suppose I have a signal S=[s0 s1]^T both s0 and s1 are from > the set of signal constellation C, the constellation C is known > however S is not known. > > Now send the signal through some channel, we only know the channel > model can be either H0 or H1 > > The receive signal could be expressed as > Y=HS+N > > N is gaussian noise > > We get the receive signals R=[r0 r1]^T > Is there an easy way that I can tell which channel the signals are transmitted? > > Thanks a lot
Thank you very much for this!
But I suppose I have used equalization to get the parameters h0 and h1,
the question is that I don't know which format they are using
H0 or H1.

In my mind I'd like to use maximum likelihood 
argmin_{H,s}|y-Hs|

but I am not sure whether there are better ways.