Soft Decoding Of Linear Block Codes