  Massive MIMO uses a large number of antennas to increase the spectral
efficiency (SE) through spatial multiplexing of users, which requires accurate
channel state information. It is often assumed that regular pilots (RP), where
a fraction of the time-frequency resources is reserved for pilots, suffices to
provide high SE. However, the SE is limited by the pilot overhead and pilot
contamination. An alternative is superimposed pilots (SP) where all resources
are used for pilots and data. This removes the pilot overhead and reduces pilot
contamination by using longer pilots. However, SP suffers from data
interference that reduces the SE gains. This paper proposes the Massive-MIMO
Iterative Channel Estimation and Decoding (MICED) algorithm where partially
decoded data is used as side-information to improve the channel estimation and
increase SE. We show that users with precise data estimates can help users with
poor data estimates to decode. Numerical results with QPSK modulation and LDPC
codes show that the MICED algorithm increases the SE and reduces the
block-error-rate with RP and SP compared to conventional methods. The MICED
algorithm with SP delivers the highest SE and it is especially effective in
scenarios with short coherence blocks like high mobility or high frequencies.
