Techniques are described for carrier frequency offset (CFO) and channel estimation of orthogonal frequency division multiplexing (OFDM) transmissions over multiple-input multiple-output (MIMO) frequency-selective fading channels. A wireless transmitter forms blocks of symbols by inserting training symbols within two or more blocks of information-bearing symbols. The transmitter applies a hopping code to each of the blocks of symbols to insert a null subcarrier at a different position within each of the blocks of symbols, and a modulator outputs a wireless signal in accordance with the blocks of symbols. A receiver receives the wireless signal and estimates the CFO, and outputs a stream of estimated symbols based on the estimated CFO.