I'm working on demodulating an fsk signal sent from a cubesat on the ground to an antenna station. I'm trying to do it in GNU radio but I am not quite getting the original signal back. The cubesat uses a si4464 radio and I have the fsk signal centered at 434 mhz with the mark and space being +- 20khz. I've put a screenshot below of the gnu radio setup I am using to decode it. I think my problem is in my symbol sync because I am getting the right sequence of 10101010 to start the signal but then I am occasionally getting an extra 0 or 1 in the signal.
As for my thought process going into this, the USRP source already demods the signal to be centered at "0" hz with the mark and space being on the positive and negative side. I put a squelch on it to only read data when a strong signal is received. I then put a quadrature demod to turn the positive and negative frequencies into 1 or -1. The symbol sync should then sample this wave at the appropriate time, and from there, it slices it into a 1 or 0. The sample rate of the SDR is 400k and the symbol rate is 1000 so I have 400 samples per symbol. The last bit just packs the bits to a byte and then writes it to a file. If anyone has any suggestions for things I am missing or ways to do this better (including already written software packages) I would love to know about it.
Thanks for your help