A start of packet detector comprising: an input configured to receive input data comprising start of packet information; a first stage configured to determine if there is a match between a respective subset of received start of packet information with a respective subset of reference start of packet information, said first stage being configured to repeat said determining and for each of subsets of received start of packet information and said respective subset of reference start of packet information, wherein a value of a counter is changed if there is a match between a respective subset of received start of packet information with a respective subset of reference start of packet information; characterized in : a second stage arranged in parallel with said first stage, said second stage configured to compare said respective subset of received start of packet information with an inverse of the respective subset of reference start of packet information and said output is configured to provide a start of packet detected output, said start of packet detected output being dependent on said determining of said first stage or said second stage, and an output configured to provide a start of packet detected output , said start of packet detected output being dependent on a comparison of a value of said counter with a threshold. an input configured to receive input data comprising start of packet information; a first stage configured to determine if there is a match between a respective subset of received start of packet information with a respective subset of reference start of packet information, said first stage being configured to repeat said determining and for each of subsets of received start of packet information and said respective subset of reference start of packet information, wherein a value of a counter is changed if there is a match between a respective subset of received start of packet information with a respective subset of reference start of packet information; characterized in : a second stage arranged in parallel with said first stage, said second stage configured to compare said respective subset of received start of packet information with an inverse of the respective subset of reference start of packet information and said output is configured to provide a start of packet detected output, said start of packet detected output being dependent on said determining of said first stage or said second stage, and an output configured to provide a start of packet detected output , said start of packet detected output being dependent on a comparison of a value of said counter with a threshold. a second stage arranged in parallel with said first stage, said second stage configured to compare said respective subset of received start of packet information with an inverse of the respective subset of reference start of packet information and said output is configured to provide a start of packet detected output, said start of packet detected output being dependent on said determining of said first stage or said second stage, and an output configured to provide a start of packet detected output , said start of packet detected output being dependent on a comparison of a value of said counter with a threshold. <EOS>