A gaussian frequency shift keying "GFSK" detector comprising: a multi-symbol detector configured to receive a series of samples representing a received GFSK modulated signal, the series of samples comprising at least three samples per symbol of the GFSK modulated signal; and characterized in that: the multi-symbol detector is further configured to generate, for each set of samples representing an N-symbol sequence of the GFSK modulated signal, at least three sets of soft decision values, each set of soft decision values indicating the probability that the N-symbol sequence is each possible N-symbol pattern based on a different one of the at least three samples of a symbol being a centre sample of the symbol, wherein N is an integer greater than or equal to two; and the GFSK detector further comprises: at least three Viterbi decoders (1404, 1422, 1424), each Viterbi decoder configured to generate, for each N-symbol sequence, a path metric for each possible N-symbol pattern from a different set of soft decision values according to a Viterbi decoding algorithm; and a timing adjustment module configured to generate a timing adjustment signal based on the path metrics generated by the at least three Viterbi decoders to cause timing of the sampling of the GFSK modulated signal to be adjusted. a multi-symbol detector configured to receive a series of samples representing a received GFSK modulated signal, the series of samples comprising at least three samples per symbol of the GFSK modulated signal; and characterized in that: the multi-symbol detector is further configured to generate, for each set of samples representing an N-symbol sequence of the GFSK modulated signal, at least three sets of soft decision values, each set of soft decision values indicating the probability that the N-symbol sequence is each possible N-symbol pattern based on a different one of the at least three samples of a symbol being a centre sample of the symbol, wherein N is an integer greater than or equal to two; and the GFSK detector further comprises: at least three Viterbi decoders (1404, 1422, 1424), each Viterbi decoder configured to generate, for each N-symbol sequence, a path metric for each possible N-symbol pattern from a different set of soft decision values according to a Viterbi decoding algorithm; and a timing adjustment module configured to generate a timing adjustment signal based on the path metrics generated by the at least three Viterbi decoders to cause timing of the sampling of the GFSK modulated signal to be adjusted. the multi-symbol detector is further configured to generate, for each set of samples representing an N-symbol sequence of the GFSK modulated signal, at least three sets of soft decision values, each set of soft decision values indicating the probability that the N-symbol sequence is each possible N-symbol pattern based on a different one of the at least three samples of a symbol being a centre sample of the symbol, wherein N is an integer greater than or equal to two; and the GFSK detector further comprises: at least three Viterbi decoders (1404, 1422, 1424), each Viterbi decoder configured to generate, for each N-symbol sequence, a path metric for each possible N-symbol pattern from a different set of soft decision values according to a Viterbi decoding algorithm; and a timing adjustment module configured to generate a timing adjustment signal based on the path metrics generated by the at least three Viterbi decoders to cause timing of the sampling of the GFSK modulated signal to be adjusted. at least three Viterbi decoders (1404, 1422, 1424), each Viterbi decoder configured to generate, for each N-symbol sequence, a path metric for each possible N-symbol pattern from a different set of soft decision values according to a Viterbi decoding algorithm; and a timing adjustment module configured to generate a timing adjustment signal based on the path metrics generated by the at least three Viterbi decoders to cause timing of the sampling of the GFSK modulated signal to be adjusted.