On 02/04/2017 11:39 PM, Dirk Gorissen wrote: > 1) 2.5 Msps gives me way more bandwidth than I neeed. Assuming, for > now, I only care about a single pulse frequency I really only need > ~1khz bandwidth. In the frequency domain I can directly decimate down > (with a big factor) to the 1-2 khz range using the low pass filter > block, do an fft, and look for peaks. Is that the right approach?
That's a viable approach, yes. It's not the only one, but it's a good place to start. > 2) Im somewhat confused about the FFT block if I just pipe the SDR > straight into it. The FFT size is set to 1024 and the window is set to > "window.blackmanharris(1024)". So Im assuming the FFT just applies one > window (?) and outputs 1024 bins. However, how many samples are > accumulated before the FFT is run? I would have assumed I can control > that too. And if so, should I best be doing this every 50ms, 500ms, > 2000ms, ..? The FFT block will take N samples, calculate an FFT, and then output that. If you have a bigger FFT, you will output FFTs less often. > 3) I can use the rational resampling block to bring the sample rate > down to 48khz so I can use the audio sink. From that I can still hear > the pulse even if it is not visible in the spectrum (gui sink). Im > assuming this is just because the plotting cannot keep up? The QT GUIs will only update the visuals every x seconds. If you use gr-fosphor, though, you won't lose samples in your visuals. > 4) In the time domain I guess I can generate a synthetic pulse of the > same length / frequency and then cross correlate. Not obvious to me > how to generate the required pulse in gnuradio though (would a > continuous signal work?). I also notice there are no built in > (auto)correlation blocks? I found the "correlation estimator" but not > clear how to use it. As for dealing with the frequency uncertainty > problem. Does one just try correlating with different freuencies and > pick the best one? Or what is the good thing to do here given I may > also have to deal with quite a bit of noise. For cross-correlation, you can use an FIR filter block. That will not correlate in 2 dimensions, though, only in time-direction. That may be all you need. Autocorrelation is tricky in a streaming model; you either have a fixed lag (i.e. you calc the autocorrelation at a single point), then you can just do delay-conjugate-multiply. In this setup, you can still make the delay variable. If you want a true auto-correlation, you could do an IFFT of your signals's PSD. But that might not give you what you want. -- M > > Any guidance appreciated. > > Many thanks, > > Dirk > > _______________________________________________ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio