bastibl / gr-ieee802-11

IEEE 802.11 a/g/p Transceiver
https://wime-project.net/
GNU General Public License v3.0
744 stars 289 forks source link

sampling clock offset #185

Closed WangQiwei closed 4 years ago

WangQiwei commented 5 years ago

Hi, @bastibl I know that pilot tracking is used to correct for imperfections in the equalizer response, and there are three kinds of pilot tracking: Phase tracking, Amplitude tracking, and Timing tracking. It seems only phase tracking is used in this receiver example. If I want to add the time tracking function, which part of the code should I modify?

Thanks

bastibl commented 5 years ago

Can you please explain a little more detailed what you are planning to do? With time tracking, you mean the sample clock offset? Do you really want to track it (based on the comb pilots or feedback from data subcarriers?) or only estimate it at the beginning of the frame? The latter is already done.

WangQiwei commented 5 years ago

Yes, I hope to use the pilot tracking function of the pilot tone to track and correct the sampling timing deviation more finely. Pilot timing tracking is done after the FFT, but the calculated correction result is executed before the FFT. If I want to add the time tracking function on the current basis, If not, how should I pass back the information of the back block to the previous block? I am still a newbie for GNURadio, so I am really a little puzzled about this. Could you plz give me some insights? Thank you very much!!!!

bastibl commented 5 years ago

The time alignment before the FFT is done by the Sync Long block to decide over which window to do the FFT. This is symbol alignment. You can annotate information with GNU Radio's stream tags. This is already used heavily, for example to communicate frequency offset to downstream blocks. You can either check the code of the GNU Radio documentation.

WangQiwei commented 5 years ago

Your suggestion helps me a lot. Thank you very much.