Luke,

I researched this for a bit  (OK, maybe it was more like staring
blankly)... unfortunately on a windows machine w/out git.  Nothing stands
out at the momentt.  I'll give it another try tomorrow! =)

Also, I've never used the PLL blocks for freq demod before. Can you set
something up with a graphical sink and send some snapshots showing what the
output of that looks like?

Also also, is the Band-Edge FLL ideal for GMSK?  My possibly, incorrect
understanding of that block is that it was more ideal for PAM with common
RRC.

-John

On Thu, Oct 16, 2014 at 7:19 AM, Luke Berndt <[email protected]> wrote:

> 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
>
>
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to