Hi,
The following are some code segments of gsm-scan.py
basically
used for gsm data reception. I have a few questions about the difference
between input_rate and sps,
clock_rate = 64e6
#set the default input rate, we will check with the USRP if it is being
used
input_rate = clock_rate / options.decim
gsm_symb_rate = 1625000.0 / 6.0
sps = input_rate/gsm_symb_rate
configure the processing blocks
configure channel filter
filter_cutoff = 145e3 #135,417Hz is GSM bandwidth
filter_t_width = 10e3
#Only DSP adjust for offset on datafile, adjust tuner for USRP
#TODO: see if we can change this offset at runtime based on freq
detection
if options.inputfile:
offset = self.offset
else:
offset = 0.0
filter_taps = gr.firdes.low_pass(1.0, input_rate, filter_cutoff,
filter_t_width, gr.firdes.WIN_HAMMING)
self.filter = gr.freq_xlating_fir_filter_ccf(1, filter_taps, offset,
input_rate)
# configure demodulator
adjust the phase gain for sampling rate
self.demod = gr.quadrature_demod_cf(sps);
#configure clock recovery
gain_mu = 0.01
gain_omega = .25 * gain_mu * gain_mu # critically damped
self.clocker = gr.clock_recovery_mm_ff( sps,
gain_omega,
0.5, #mu
gain_mu,
0.3) #omega_relative_limit,
self.burst = gsm.burst_ff()
self.connect(self.filter, self.demod, self.clocker, self.burst)
. Can anyone please give me an idea why " gr.freq_xlating_fir_filter_ccf
"
is used here and ‘input_rate’ is used as an argument in stead of ‘sps’.
Whereas, in quadrature demod and Clock_recovery_mm ‘sps’ is used for
sampling rate and why clock recovery is used after demodulation block ?
Are I and Q samples are flowing out of clocker block or are they the
encoded
bits ?
Thanks,
M.Awais