Band-edge (derivative matched) filters can be used to generate an error signal for frequency locked loops (real part) or symbol timing loops (imaginary part). The derivation of the band-edge filters themselves is shown (from Fred Harris presentation) The derivation of the band-edge filters for the FLL block in GNU Radio has based on an RRC match filter response. In the flowgraph below, the FLL block can perform course carrier recovery for all NRZ formats (L/M/S). However, the block fails to do so when the data is encoded in Manchester/Biphase line code. The Manchester line coder/decoder have been verified to be functionally okay so encoding issues can be ruled out. To add more confusion, the constellation diagram is quite okay even though no output frames are received. Could the nature of the Manchester pulse (shown below) be the reason for this problem? Should I re-derive the band-edge filter responses based on the Manchester pulse[Though to my understanding the match filter response is still the same regardless of the line code being used]?