What exactly is System Frame Number in LTE specifications? What is the use of it?
I have read that it is a 10 bit number and used for synchronization purposes. But it's not clear how it helps for synchronization. Any help is appreciated.
System Frame Number (SFN) is really just a counter. As its name, it tells us the index of system frame modulo 1024, the index is from 0 to 1023 (10 bits).
SFN does not help the physical synchronization (frequency carrier, DFT starting frame, pilots, ...) because it is the information obtained after the waveform synchronization. It is decoded in Master Information Block (MIB) in Physical Broadcast channel (PBCH) as 8 bits. The SFN of MIB changes every 4 frames (2 bits) thus its value is 8+2 = 10 bits.
SFN does help physical layer protocol synchronization, i.e. synchronization in term of scheduling, between DL physical channels and UL physical channels (just from release 13 for cat-M or NB-IOT UE with long repetition), or synchronization between UL physical channels (for CQI reporting, SRS scheduling, ...). For more details you can take a look at specfication 36.213 all version, the scheduling of SRS, CQI, ... all depend on $n_f$ which is SFN, i.e. absolute SFN modulo 1024.
Every 10 ms System Frame number (SFN) is actually incremented by 1 and goes from 0..1023. Hence its a 10 bit number. What is actually transmitted in PBCH is SFN/4 which is 8 bit hence we save 2 bit for transmission.
PBCH any way gets repeated every 10 ms for 4 time (40ms) and then new PBCH info is being transmitted from eNodeB. This new PBCH only have next SFN/4 number. to determine the actual SFN (10 bit one) UE find outs the frame in which 8-bit SFN decoded by UE is getting changed. This way it know 40 ms boundaries. and by multiplying 8-bit SFN by 4 and adding offset from 40 ms boundary (actually the repetition count of PBCH) actual 10-bit SFN can be extracted.