Spatial modulation has no connection to Massive MIMO.
The modulation schemes that is used in Massive MIMO are basically the same as in LTE. You use OFDM as waveform and QPSK, 16-QAM, and 64-QAM as modulation schemes.
The benefit of channel hardening is that the effective channel variations are small, thus you don't need to change the modulation and coding as the small-scale fading changes. You can read more about it on the Massive MIMO blog:
Dear Dr. Emil, I really enjoy your answers. In channel hardening, as you said, channel variations are small, so can we say OFDM is not required too much? Is not single carrier modulation more simple and usable?
The channel variations are still the same, but when we have processed the channel by multi antenna precoding/detection then the channel fading effects average out. But we still need to change precoding/detection between subcarriers and over time to exploit channel hardening.
Both OFDM and single carrier would be possible. But current and future systems are OFDM based, so that is the primary choice.
I read somewhere that the channel hardening means channel variations are negligible over the frequency domain. So conventional resource allocation concepts unnecessary and whole spectrum can be simultaneously allocated to each active user. In this case, why we use OFDM?
The channel variations are negligible after we have applied the detector/precoder, but not the channel itself still varies over time and frequency. We still need OFDM to deal with frequencely selective fading. And we still need to estimate channels often to update the detector/precoder.
Dear Dr. Emil, does it mean when we select for example 100 user to be served in a coherence time, they are serving simultaneously in an OFDM manner and because of channel hardening effect we have power allocation simply as single carrier MIMO one time for each user? I mean we do not need separate power allocations for each coherence bandwidth.
Thank you for your helps to all massive MIMO researchers and for distribution of your papers, codes, and information. This causes rapid growth of science. And thanks to all people like you.
Yes, you can design the power allocation for one subcarrier and then use the same one on every subcarrier and over a long time period, until something substantial changes in the propagation environment.
Are there any guard intervals between coherence blocks? To compute user rates, can we use total bandwidth (for example B=20 MHz) in rate formula for each user, since each selected user at a coherence time is serving in all coherence bandwidths?
You need guard intervals when you switch between uplink and downlink, but not necessarily between coherence blocks. The concept of coherence blocks is a theoretical construct. In practice, the channels change continuously and we need to decide how much they are allowed to change before we say that a new coherence block begins.
You can use the total bandwidth if you like. In practice, you also need to compensate for guard intervals and other practicalities. But most people ignore this in academic papers.