This paper studies unitary precoders for space-time coded orthogonal frequency division multiplexing (ST-OFDM) systems using Alamouti space-time block codes (STBC). We consider two channel models: 1) the LTI case where the channels are invariant for two consecutive OFDM blocks; 2) the time-varying case where the channels are invariant within one OFDM block but they vary slightly between two OFDM blocks. For the LTI case, we derive the optimal precoder for QPSK modulation. It is shown that the optimal precoder is channel independent and can greatly enhance the performance of the ST-OFDM system. For the time-varying case, the channel variation will cause inter-carrier interference (ICI) in the ST-OFDM system and can result in serious performance degradation. We will show that by properly designing the precoder, we can average the output error variance and hence greatly alleviate the ICI effect. As a result, the bit error rate (BER) performance can be significantly improved.