I just tried doing a complete PyBombs reinstall and that didn't seem the help. 
I checked and simple GRC files run fine. I can also see the signal where I 
expect it to be in GQRX, so I think my tuning parameters are correct. 

Are there some other things I should try? 

Sent from my iPhone

> On Oct 13, 2014, at 1:38 PM, Luke Berndt <[email protected]> wrote:
> 
> I have a GnuRadio C++ program that decodes and records a SmartNet Trunked 
> radio system. It is running great under GnuRadio 3.6.5.1, but it doesn’t seem 
> to be working under 3.7.6. 
> 
> 3.6 is installed in /usr/local and 3.7.6 was installed in my home directory 
> using PyBombs. My updated program compiles against 3.7 with no problem and 
> runs. It will pick up a few of the trunking commands, so it is working, but 
> the ratios is about 1 to 100 compared to 3.6. I also tried running it in a 
> Ubuntu VM with 3.7 installed at /usr/local and had the same results.
> 
> I corrected for the change with XlatingFirFilter in 3.7, so it is the 
> opposite offset of 3.6. It looks like it could be a tuning error though, the 
> flow graph seems to be failing mostly at the CRC check. Did anything else 
> change with Blocks in 3.7? I looked at gr-osmosdr but I didn’t notice huge 
> discrepancies between the 3.6 and 3.7 branches.  
> 
> Are there some obvious things I could be missing? I feel like this is 
> something small and stupid that I missing. 
> 
> The diff between the two versions is here, smartness.cc is the main file that 
> decodes the control channel. As you can see, there is not that much different:
> 
> https://github.com/robotastic/smartnet-recorder/compare/master...3.7-Update#diff-73510702485a7dd2f7000285cbd5e557R40
> 
> Here is the central code block that does it. Anything obviously dumb here?
> 
>       float samples_per_second = samp_rate;
>       float syms_per_sec = 3600;
>       float gain_mu = 0.01;
>       float mu=0.5;
>       float omega_relative_limit = 0.3;
>       float offset = chan_freq - center_freq;  // have to reverse it for 3.7 
> because it swapped in the switch.
>       float clockrec_oversample = 3;
>       int decim = int(samples_per_second / (syms_per_sec * 
> clockrec_oversample));
>       float sps = samples_per_second/decim/syms_per_sec;
>       const double pi = boost::math::constants::pi<double>();
> 
>       cout << "Control channel offset: " << offset << endl;
>       cout << "Decim: " << decim << endl;
>       cout << "Samples per symbol: " << sps << endl;
> 
>       std::vector<float> lpf_taps;
> 
>       init_loggers(max_loggers, center_freq, samp_rate);
>   
>       gr::msg_queue::sptr queue = gr::msg_queue::make();
> 
>       lpf_taps =  gr::filter::firdes::low_pass(1, samp_rate, 10000, 12000);
> 
>       gr::filter::freq_xlating_fir_filter_ccf::sptr prefilter = 
> gr::filter::freq_xlating_fir_filter_ccf::make(decim,
>                                                      lpf_taps,
>                                                      offset,
>                                                      samp_rate);
> 
>       gr::digital::fll_band_edge_cc::sptr carriertrack = 
> gr::digital::fll_band_edge_cc::make(sps, 0.6, 64, 0.35);
> 
>       gr::analog::pll_freqdet_cf::sptr pll_demod = 
> gr::analog::pll_freqdet_cf::make(2.0 / clockrec_oversample, 
> 2*pi/clockrec_oversample, -2*pi/clockrec_oversample);
> 
>       gr::digital::clock_recovery_mm_ff::sptr softbits = 
> gr::digital::clock_recovery_mm_ff::make(sps, 0.25 * gain_mu * gain_mu, mu, 
> gain_mu, omega_relative_limit);
> 
>       gr::digital::binary_slicer_fb::sptr slicer =  
> gr::digital::binary_slicer_fb::make();
> 
>       gr::digital::correlate_access_code_tag_bb::sptr start_correlator = 
> gr::digital::correlate_access_code_tag_bb::make("10101100",0,"smartnet_preamble");
> 
>       smartnet_deinterleave_sptr deinterleave = smartnet_make_deinterleave();
> 
>       smartnet_crc_sptr crc = smartnet_make_crc(queue);
> 
>       tb->connect(src,0,prefilter,0);
>       tb->connect(prefilter,0,carriertrack,0);
>       tb->connect(carriertrack, 0, pll_demod, 0);
>       tb->connect(pll_demod, 0, softbits, 0);
>       tb->connect(softbits, 0, slicer, 0);
>       tb->connect(slicer, 0, start_correlator, 0);
>       tb->connect(start_correlator, 0, deinterleave, 0);
>       tb->connect(deinterleave, 0, crc, 0);
> 
>       tb->start();
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to