OFDM: How to do the carrier recovery of the quadrature(I/Q) demodulation
I can't find any way to make the carrier recovery,


I don't think you can or should really talk "carrier recovery" in OFDM systems; after all, OFDM is a multi-carrier system. So, you'd need to recover some 2 to a couple thousand carriers, depending on the OFDM system's number of subcarriers.


  but also the phase


Uh-oh. Have you considered what this means? When do we use OFDM?

We use OFDM when we have a frequency-selective channel. Which means that the phase is different for different frequencies within your band. Which means you can't say "it's a single phase that needs to be recovered". You need to synchronize all phases of all subcarriers, if you want phase synchronization.

Essentially, you try to use single-carrier terminology on a multi-carrier system. That won't work.


What we should do, here, is talk about frequency and phase synchronization.

In OFDM systems, there's different ways to do that, but the one you'll most likely encounter (because it's very commonly used in bursty/packeted systems like Wifi) is a pretty clever thing called "Schmidl&amp;Cox synchronization" (read the excellent original paper [1]!).

Basically, what that does is a three-step process:


Use the autocorrelation properties of the specifically crafted synchronization OFDM symbol to estimate the beginning of a frame
Use the phase that an autocorrelation coefficient of a symmetrical part has to determine what is called the "fine frequency offset", i.e. the frequency error modulo subcarrier spacing
Determine the "coarse frequency offset" simply by counting the "energy-carrying" subcarriers.


Note that the above is one way to synchronize OFDM; there are others, and they depend on other mechanics.

Phase synchronization in OFDM systems is most commonly done using phase reference signals ("pilot symbols") spread across the time / subcarrier plane. You just define "the symbol on that subcarrier at that time is not a data symbol but always has the value $X$", and then you look what you receive instead of $X$, correct the phase of that so that you do get $X$, and use that phase correction factor.

But that's again system-specific – there's enough OFDM systems that don't do phase sync at all, but use a differential modulation inside (DAB / DAB+ for example; that one oesn't do S&amp;C, either).

To conclude:


There's no "carrier recovery" in OFDM, since there's not a single carrier
The equivalent "frequency synchronization" and "phase synchronization" is something that is very system-specific, and there's a lot of different way it's done – and all depend on properties of the transmit signal and the constraints of the receiver. There can't be a single answer to the question "how to sync OFDM".
If you want to learn one way to sync OFDM, it's probably Schmidl&amp;Cox[1].


[1] T. M. Schmidl and D. C. Cox, "Robust Frequency and Timing - Synchronization for OFDM," available online