fft - gnuRadio Dual Tone detection -


i trying come efficient way characterize 2 narrowband tones separated 900khz (one @ around 100khz , 1 @ around 1mhz once translated baseband). don't move in freq on time may have amplitude variations want monitor.

each tone 100hz wide , required characterize these 2 beasts on long periods of time down resolution of 0.1 hz. samples coming in @ on 2m samples/sec (tbd) adequately acquire highest tone.

i'm trying avoid (if possible) doing brute force >2msample ffts on data once second extract frequency domain data. there efficient approach? akin performing 2 (much) smaller ffts around bands of interest? ive looked @ goertzel , chirp z methods not helps save processing.

something akin performing 2 (much) smaller ffts around bands of interest

there is, it's called goertzel, , kind of fft single bins, , have looked @ it. will save cpu time.

anyway, there's no reason 2m-point fft; first of all, want resolution of 1/20 sampling rate, hence, 20-point fft totally do, , should pretty doable cpu @ these low rates; since don't seem care phase of tones, fft->complex_to_mag.

however, there's 1 thing should do: @ signal of interest, , decimate down rate fits that. since gnu radio's filters implemented cleverly, filter run @ decimated rate, , can spend cpu cycles saved on better filter.

because direct decimation 2mhz 100hz (decimation: 20000) have ugly filter length, should multi-rated:

i'd try first decimating 100, , in second step 100, leaving 200hz observable spectrum. xlating fir filter blocks let use simple low-pass filter (use "low-pass filter taps" block define variable contains such taps) band-selector.


Comments

Popular posts from this blog

java - UnknownEntityTypeException: Unable to locate persister (Hibernate 5.0) -

python - ValueError: empty vocabulary; perhaps the documents only contain stop words -

ubuntu - collect2: fatal error: ld terminated with signal 9 [Killed] -