  Bit-flipping (BF) decoding of low-density parity-check codes is of low
complexity but gives inferior performance in general. To improve performance
and provide new BF decoder options for complexity-performance tradeoffs, we
propose new designs for the flipping function (FF), the flipped bit selection
(FBS) rule and the checksum weight updating schedule. The new FF adjusts the
checksum weights in every iteration while our FBS rules take more information
into account. These two modifications represent efforts to track more closely
the evolutions of both check and variable nodes' reliabilities. Two selective
update schedules are proposed to offer more performance and complexity
tradeoffs.
  The combinations of the new FBS rule and known FFs result in new BF decoders
with improved performance and a modest complexity increase. On the other hand,
combining the new FF and FBS rule gives a new decoder with performance
comparable to that of the normalized min-sum algorithm while if we use a much
simpler FBS rule instead, the decoder suffers little performance loss with
reduced complexity. We also present a simple decision-theoretical argument to
justify the new checksum weight formula and a time-expanded factor graph model
to explain the proposed selective weight-updating schedules.
