# Calculating frequency shift of short bursts

I am attempting to figure out the best method of determining the frequency shift of small burst signals. I have an incoming signal which is 1Mhz, and only in 0.0001s windows, seeing 10kHz shifts, which I am trying to measure using an FPGA and ADC. I have tried to run the signal through a BPF and FFT but the computing time is long enough that I am missing a bunch of signals and losing accuracy. Now I'm trying to take the raw signal and measure phase change, and/or frequency by count the crossings of a threshold value. I've tried looking at larger windows, but the bursts are small enough that they essentially get erased.

Are there high-speed methods for measuring signals like this? I'm afraid too much decimating is required for the FFT

Are there ways to measure phase/frequency that are a bit more flexible? My resolution is now 10kHz and only ~0.3% of samples have shift. Better resolution is erasing the shift since windows are longer.

$$f [n] =\dfrac {F_s/2} {\pi}Arg (x [n] \cdot x^*[n-1])$$