A method of wireless communication comprising: receiving a synchronization signal using a narrowband portion of a bandwidth of a cell, wherein the synchronization signal comprises a base sequence repeated over a plurality of symbol periods (305, 405) using a cover code; detecting at least one of a frequency offset or a timing offset for the cell based at least in part on the synchronization signal and the cover code, wherein the detecting comprises: determining a first timing offset estimate or a first frequency offset estimate using a sliding autocorrelation on the synchronization signal at a first sampling rate; determining a second timing offset estimate or a second frequency offset estimate using a first cross-correlation on the synchronization signal at the first sampling rate based at least in part on applying the first timing offset estimate or the first frequency offset estimate; detecting the at least one of the frequency offset or the timing offset using a second cross-correlation on the synchronization signal at a second sampling rate based at least in part on applying the second timing offset estimate or the second frequency offset estimate; and determining an identity of the cell based at least in part on applying the at least one of the frequency offset or the timing offset; characterised in that the first cross-correlation or the second cross-correlation is determined by: determining a first value of a plurality of sequence terms based at least in part on the cover code, wherein each sequence term of the plurality of sequence terms corresponds to a portion of the synchronization signal received during a symbol period of the plurality of symbol periods; determining a second value based at least in part on the first value and a reference sequence term; and the first cross-correlation or the second cross-correlation is based at least in part on the second value. receiving a synchronization signal using a narrowband portion of a bandwidth of a cell, wherein the synchronization signal comprises a base sequence repeated over a plurality of symbol periods (305, 405) using a cover code; detecting at least one of a frequency offset or a timing offset for the cell based at least in part on the synchronization signal and the cover code, wherein the detecting comprises: determining a first timing offset estimate or a first frequency offset estimate using a sliding autocorrelation on the synchronization signal at a first sampling rate; determining a second timing offset estimate or a second frequency offset estimate using a first cross-correlation on the synchronization signal at the first sampling rate based at least in part on applying the first timing offset estimate or the first frequency offset estimate; detecting the at least one of the frequency offset or the timing offset using a second cross-correlation on the synchronization signal at a second sampling rate based at least in part on applying the second timing offset estimate or the second frequency offset estimate; and determining a first timing offset estimate or a first frequency offset estimate using a sliding autocorrelation on the synchronization signal at a first sampling rate; determining a second timing offset estimate or a second frequency offset estimate using a first cross-correlation on the synchronization signal at the first sampling rate based at least in part on applying the first timing offset estimate or the first frequency offset estimate; detecting the at least one of the frequency offset or the timing offset using a second cross-correlation on the synchronization signal at a second sampling rate based at least in part on applying the second timing offset estimate or the second frequency offset estimate; and determining an identity of the cell based at least in part on applying the at least one of the frequency offset or the timing offset; characterised in that the first cross-correlation or the second cross-correlation is determined by: determining a first value of a plurality of sequence terms based at least in part on the cover code, wherein each sequence term of the plurality of sequence terms corresponds to a portion of the synchronization signal received during a symbol period of the plurality of symbol periods; determining a second value based at least in part on the first value and a reference sequence term; and the first cross-correlation or the second cross-correlation is based at least in part on the second value. determining a first value of a plurality of sequence terms based at least in part on the cover code, wherein each sequence term of the plurality of sequence terms corresponds to a portion of the synchronization signal received during a symbol period of the plurality of symbol periods; determining a second value based at least in part on the first value and a reference sequence term; and the first cross-correlation or the second cross-correlation is based at least in part on the second value.