Soliton coding based on shape invariant interacting soliton packets: the three soliton case