 Welcome to this lecture on digital communication using GNU Radio. My name is Kumar Appaya. I belong to the Department of Electrical Engineering at the Indian Institute of Technology Bombay. This lecture will be an introduction to suboptimal equalization. In the past lectures we have seen and discussed the optimal detection strategy that is the maximum likelihood sequence estimation and we also discussed the incremental strategy that is is there a way by which we can make decisions on the fly for the symbols that we have seen so far rather than try all possible combinations. That led us to a discussion on the Witterby algorithm that to an extent allowed us to make decisions based on certain conditions and there were these paths and survivors that you have to keep track of and it worked pretty well. But sometimes even these may prove too complex. Practically the Witterby algorithm requires you to do something like maintain memory and you know you have to have so many surviving paths and all those kinds of issues start arising. So therefore sometimes you may want to do something simpler or you may have let's say I have a reasonably high SNR and I don't really want to worry about these complex algorithms. Can we do that? So the question is are there more efficient meaning lower complexity suboptimal algorithms that will help our cause using which we don't have to spend all our efforts on implementing something more complicated. So our discussion here will be linear equalization. You can think of them as matrix based approaches or filtering based approaches wherein we are going to essentially construct something like an inverse filter for the channel or something like it. So for example 0 forcing minimum mean square error equalizer and so on. So in these situations you have a lower complexity equalization strategy that is our discussion for today. In today's discussion we are going to look at the 0 forcing equalizer in particular. If you recall the model with which we have been operating our y of t is bk p of t minus kt plus noise and the noise is additive white Gaussian. Be aware that this capital T is the number of sim the actually the number of seconds per symbol that is it's the duration of one symbol. Hypothetically let us suppose that the receiver we over sample or sample at a different rate that is let us say we sample at T s seconds every T s seconds potentially with an offset delta as well. Then the received samples can be expressed as y convolved with g rx of t evaluated at k T s plus delta where delta is an offset number between 0 and T s and you get samples every T s seconds apart. T s can be t it can be less than t typically it is not more than t because if it is more than t you will start missing some symbols. So that is something to keep in mind. So rk is fk plus wk where fk is the signal part which is p convolved with g rx time and evaluated evaluated at k T s plus delta and wk is the noise part that is n convolved with g rx evaluated at k T s plus delta. One key thing to remember here is that n convolved with rx evaluated at k T s plus delta this is something which is to be looked at carefully the noise after convolving with g rx need not be iid they can be correlated. So that is something to keep in mind. Now to find the statistics of the noise wk we note that n convolved with g rx t is 0 mean of course because if you take the expectation this is 0 we seen that in the context of signal space and the auto correlation function can be defined as 2 sigma square integral g rx g star rx of t minus tau dt that is 2 sigma square g rx star g r mf ok. The reason we use 2 sigma square is it is like because it is n naught n naught by 2 is sigma square. So we use 2 sigma square here it is sigma square per dimension. So for complex 2 sigma square g rx time convolution g r mf of t. Now what is g r mf the optimal match filter is g star x of minus t. So wk is n convolved with g rx evaluated at k T s plus delta and that has co auto covariance you know covariance of w n plus k w n maybe n is a wrong choice w m plus k w m is 2 sigma square integral g rx of t g rx star of t minus k T s remember that this depends on the sample spacing T s not the symbol spacing ok. If you want to just revise how we got this we directly use the signal space related concepts from the original signal space discussions that we had essentially we are filtering the noise and therefore use the filtering of the noise in order to find the discrete covariance appropriately that is all that we are doing a point that we are saying is sample spacing not symbol spacing. Let us actually now use a running example this example is actually very instructive because in this example our t is capital 2 because our g tx is 0 to 2 and our t is capital 2 we are sending one symbol every 2 seconds but in the in this case let us choose t s to be 1 that is let us sample at twice the rate at the receiver. Now hypothetically let us send you know just b0 and nothing else let us say b0 is 1. So if you send 1 right that is like delta k what you get is this at the receiver and this if you sample appropriately by choosing your g rx as the same you know some appropriate pulse let us say g rx is chosen as a rectangle with t is equal to 1 length then this value will be 1 this value will be half this value will be minus half and there is a shift here so there is a 0. So the response for your sample response for b0 is actually 0 1 half minus half that is you are essentially shifting it by one time instead and then outputting p of t that is basically the response and if you sample it using an appropriate match filter you get 1 half minus half. One more important point is here if you use the idea which I gave let us say you choose this as your minus t s by 2 t s by 2 let us say you choose this as your match filtering pulse you know before you sample then your noise is going to be 2 sigma square delta k and because of the careful choice of this particular sampling approach the noise is iid even in this case I want you that it may not be iid but it is iid because I sampled it at t s intuitively you are essentially sending t equal to 2 and the channel is essentially performing a mixing across symbols so for example the impact of symbol this symbol is seen after one second but you sample exactly at one second intervals you are not going to get the impact of the noise correlation so this particular pulse is very very good. Now let us consider a block of 5 consecutive samples if you consider a block of 5 consecutive samples with this particular approach you are going to get r k as b k minus 1 times half minus half plus b k times 0 1 ok how do we get this let's actually go to a notebook and then just check and then we'll get back so now remember our channel looks like this this is 1 this is half this is minus half ok this value is 1 ok this is at 1 2 3 4 ok this is our channel our sample response if you use this t s equal to 1 rectangle will be 0 1 half minus half ok let us say that b k minus 1 essentially sees this particular response b k is going to see this shifted by 2 because the symbol rate is 2 seconds 1 symbol every 2 seconds so for b k the let's I am going to now look use it as a superposition let us say only b k minus 1 is present in my universe this is the way I will get it if only b k is present in my universe then I will get 0 0 0 1 half minus half then if only b k plus 1 is in my universe I will get 0 0 0 you get a 1 here so I will put 0 0 1 half minus half now let us say that you take five consecutive symbols and which five consecutive symbols are you taking you are taking 1 2 3 4 5 if you take these five consecutive symbols and write them in a you know in the matrix form the output is going to be b k minus 1 times and I am taking only these symbols so I will get half minus half 0 0 0 because I have 0 0 0 here similarly sorry plus b k times and I am going to now take the same 0 1 half minus half so 0 1 half minus half 0 plus b k my k plus 1 times start here 0 0 0 1 half 0 0 0 1 half ok now you may argue why are you taking these five symbols why are you not taking those why are you not taking these and so on you are right ok you know why there is no particular reason why you should take only these and not some others but it is instructive and later we will relax this assumption also but we are taking these five symbols just to provide an example let us now go back so if you are if you just want to check my working half minus half 0 0 0 0 1 half minus half 0 0 0 0 1 minus half sorry 0 0 0 it is not minus half I made a slight error while writing it is actually half only yeah now coming back so I have written the same thing over here b k minus 1 times that plus b k times that plus b k plus 1 times that plus the noise and you can write this as u b k plus w k where u has is this matrix which you get by combining these columns ok w k are Gaussian noise samples and like we discussed just previously the w k and w k plus 1 w k plus 2 are all IID they are independent also uncorrelated but independent because of Gaussian and let us now define our vector b k is b k minus 1 b k b k plus 1 in other words we are saying that we can write this as r k where r k is r k minus 2 k k minus 1 k k plus 1 k plus 2 to be or I think I think notation wise we have to be consistent so maybe r k minus 1 r k r k plus 1 r k plus 2 r k plus 3 something like that we can write this as half minus half 0 0 0 0 1 half minus half 0 0 0 0 1 half times b k minus 1 b k b k plus 1 so we are going to infer something about b k at least from this k w k is w 0 w 1 w 2 and so on ok I am not writing that separately ok w k also has a vector form now so for five consecutive samples we have this particular form and this is our u which is exactly what we discussed we are now going to define the zero forcing equalizer in this manner let us isolate b k as b k u 0 plus summation i naught equal to 0 b k plus i u i plus w k in our case we have two columns of u i that is u 0 is our middle column the corresponding to non corresponding to b k minus 1 but one corresponding to b k plus 1 we are going to write separately now the concept is we are going to use r and we are going to force the inter symbol interference to 0 that is find a vector c such that c multiplied by u 1 and c multiplied by u minus 1 is 0 and c multiplied by u 0 is 1 that is c hermitian u 0 is 1 and c hermitian u i for all other i's is 0 this is called the zero forcing equalizer because it forces the interference to 0 that is it makes sure that the contribution of all the other terms is 0 now it can be shown that this is u times u hermitian u whole inverse times e where e is 0 0 1 0 0 ok now why is why is it exactly this form ok it turns out that there is something called a projection matrix and you want to project if you want to project a matrix may project a vector on to a particular space this can be used but I will give you a more intuitive answer if you now take u times u hermitian u whole inverse right this can be thought of as something like a partial inverse of this partial inversion of this matrix not exactly because if you multiply this particular matrix if you multiply this by u hermitian you get identity now this e allows you to essentially force or rather get that particular part of the vector which just get that particular part of u that makes only c hermitian u 0 1 that is if you now want to confirm right if you do see hermitian u 0 ok let me let me do this ok if you just let me go back there and do it so see we are saying c z f u times u hermitian u whole inverse times and we want 0 1 0 is this correct it's correct because u hermitian u is a 3 cross 3 matrix its inverse will be a 3 cross 3 matrix why this because if you do c z f hermitian times u ok notice what happens sorry u b ok this is equal to u hermitian u whole inverse whole hermitian but that will become this times u hermitian u times b and this times 0 1 0 pre multiplied this is equal to 0 1 0 multiplied by b k minus 1 b k b k plus 1 which is equal to b k that is this intuition essentially allows you to choose a vector that exactly makes u 0's column inner product with c h 1 and 0's out the others now it is true that you cannot find the 0 4 c equalizer in all situations there are some conditions on the columns of u in fact some linear independence conditions for you to be able to do it but whenever you can 0 4 c equalizer allows you to get the b k eliminating the contributions of b k minus 1 and b k plus 1 ok everything is good but if you look at the geometric picture there is a vector space span by u minus 1 and vector space span by u 1 you can think of the columns u minus 1 and u 1 as vectors you are now looking to find a projection ok such that you are orthogonal to u minus 1 and u 1 so that you can get only u 1 why because if you use that particular projection it nulls the contribution of u minus 1 and u 1 then you are essentially scaling to get u 0 to unity in other words you are saying that I want only u 0 and I want u minus 1 u plus 1's contribution to go to 0 so find a matrix that does this and after multiplying by that matrix you then scale u 0 to make it unity ok remember we want c hermitian u 0 to be 1 so you have we denote that by p perpendicular to denote that is perpendicular to the space of interference and written p 1 but p you know perpendicular so this is c is equal to alpha times p perpendicular u 0 with alpha equal to 1 upon p perpendicular u 0 square that ensures that you have unit norm that is smaller the orthogonal projection the larger the scale factor this is a problem because it can boost noise I will give a simple example let us say that you have two vectors like this you have two vectors like this or rather if you have two vectors like this which are already close to orthogonal then it is very easy you just have to slightly align this to the perpendicular part and you are done we have this right you have to find this projection onto this axis and boost it to be unity in other words the space of all vectors perpendicular to the interference you are finding the projection of u and boosting it to be 1 unfortunately when the vector spaces get mixed up like when the symbols are very very mixed up you may end up having to boost the noise significantly that is something which we will see in our GNU radio experiment as well so the noise variance per dimension when you use the zero forcing equalizer is nu square zero forcing is sigma square times the norms CZF why is that because CZF multiplies the noise so CZF square norm times sigma square is your effective noise per dimension and this is equal to sigma square alpha square p norm u square which is sigma square by norm p perpendicular u0 the corresponding noise if you did not have an inter-simple interference in which case your p did not need to be anything is sigma square by norm u0 square and the noise enhancement which you get because of the use of zero forcing equalization is given by this expression that is norm u0 square by p perpendicular norm u0 square so this p perpendicular is actually the matrix that causes some problems because if your space if your vector spaces are not separable then it can result in a lot of noise enhancement for the running example that is my u which I just constructed you can check that your CZF is 5 upon 8 5 upon 8 5 upon 8 minus upon minus 1 by 8 1 by 4 that's your CZF now you can sort of see that these are all values which are less than 1 but you know they are not really small noise as we discussed is complex normal with variance 2.5 sigma square so for BPSK only the real part matters because we took a complex model so 1.25 sigma square is the noise and EB is 1.5 why because the pulse essentially has amplitudes pulse has one half minus half so add up the energies you get 1 plus 1 4th plus 1 4th which is 3 by 2 the simpler rate if you assume that is Q of root of a EB by N0 remember Q of root of 2 EB by N0 it is for BPSK when there is no intersexual interference you can actually find a and a will turn out to be 16 upon 15 that is it's very close to 1 therefore the loss in terms of performance is 10 log I think 15 upon 8 because you have 2 here and that becomes 2.73 dB and this 2.73 dB is actually a lot because you know 2.73 dB is very close to 3B and this is the loss which you are encountering because of the noise enhancement because of the use of the zero forcing equalizer these kinds of situations do occur when you either have a low SNR or when you have a huge amount of intersexual interference that's something which you should keep in mind one problem which I mentioned was that we use the block based approach where we use the block length of 5 but the question is can we extend it to larger block lengths of course you'll have bigger and bigger matrices but can we have a more continuous filtering based approach after all our channel is a filter can we just use filtering in this particular case this example you can check that we have T is equal to 2 and TS is equal to 1 we can construct the we can represent the channels as 1 plus 1 minus half Z inverse and half and half why because if you remember our field our P of T was one half minus half since you are sampling twice the rate if you look at the one and the one off like every 2 seconds you'll get 1 and minus half then the next sample will be half so this is the effective split of the 2 filters and you end up getting H1 of Z to be 1 minus half Z inverse and H2 of Z to be half to actually end up with a proper inversion we need some age you know H1 times G1 plus H2 times G2 and so on equal to just a delay just a delay because a delay is good enough delays are acceptable to an extent you don't want any other filtering effect so if you can come up with GIs that satisfy this condition then you can build a filter based equalizer very very easily let's see whether that is possible so our CZF has this form if you remember if I take this one this one and this one and reverse it I get 2 by 8 plus 5 by 8 Z inverse plus 5 by 8 Z inverse that gives me this filter and if I take these 2 I get minus 1 by 8 plus 5 by 8 Z inverse which is this filter you can confirm you can verify that H1 times G1 plus H2 times G2 is Z inverse in fact for fractionary phase space equalizers there is a sufficient condition that HI of Z should not have common zeros if they don't have common zeros you can always find G1 and G2 that give you a nice equalization in and this is actually not going to be much better or worse than your block based equalizer because it's the same block based equalizer in disguise just with the continuous implementation but for simple space equalizers that is when your sample rate equal to is equal to the symbol rate 1 upon H of Z is the only equalizer so that is a problem so the zero forcing equalizer is one suboptimal equalizer that you can consider but a warning it will largely work well only under high SNR or when you have vector space related you know when you have vector spaces which are quite separate that is something to keep in mind one more problem is that this results in significant noise enhancement and the Gaussian noise gets boosted significantly in the next class we will discuss a minimum mean square error based approach that actually accounts for the effect of the noise and does not cause these kinds of problems so that you have a sort of balanced performance even when the is a presence of high noise thank you