Introducing CGRAN: 3rd party GNU Radio application support

Hi all,

I am happy to announce the official release of CGRAN: The Comprehensive
GNU Radio Archive Network. Summary: CPAN->Perl as CGRAN->GNU Radio.

https://www.cgran.org/ (initial release only supports SSL, sorry!)

What Is CGRAN?

The Comprehensive GNU Radio Archive Network (CGRAN) is a free open
source repository for 3rd party GNU Radio applications that are not
officially supported by the GNU Radio project. CGRAN provides a
subversion repository for users to develop or submit new applications,
and wiki access for full project documentation. Trac (our web interface)
provides unique features such as a browser for the subversion repository
and a ticket system for users to file issues with projects in CGRAN.

Why?

Getting code into the GNU Radio code base is difficult. Share your GNU
Radio applications without the hassle of FSF copyright, obtaining a GNU
Radio developer account, integrating into the GNU Radio branch, and
following GNU Radio coding conventions. They are there for a reason,
but they are not for everyone… and not all applications are for the
official GNU Radio code base! :wink:

CGRAN RELEASE BONUS: Architectural Latency Measurements

As a CGRAN “first project” release for others to follow, I have added
code and applications which measure the latency of data as it flows from
GNU Radio to the USRP and back. This gives you an idea of GNU
Radio->USRP round trip time, GNU Radio->kernel latencies, and
kernel->USRP round trip time. This can certainly be extended… all you
need is a CGRAN account to work on it :slight_smile:

Two initial projects I would love to see in CGRAN!

  • BBN 802.11 code (CGRAN would allow others to keep it up to date)
  • Univ. of Utah 802.11b Decoder

I am open to suggestions about CGRAN, it’s for the community… so
community feedback is appreciated. Of course, report issues.

Enjoy!
George

Very nice.

Is there going to be a standard way to use a CGRAN project on my
gnuradio system… 2 simultaneous build systems, 1 for cgran, 1 for
gnuradio? Many individual build systems, 1 for each cgran project?
svn:externals?

We have to change the default trac color/theme on at least one of the
websites now.

George N. wrote:

Hi all,

I am happy to announce the official release of CGRAN: The Comprehensive
GNU Radio Archive Network. Summary: CPAN->Perl as CGRAN->GNU Radio.

https://www.cgran.org/ (initial release only supports SSL, sorry!)

just finished adding an ssl exception in firefox…

Thanks Josh!

I don’t think there should be a standard, but I understand why you would
want one. There is likely to be 1 for each project, not just 1 for
CGRAN. The reason is that we are trying to make it as easy as possible
for people to contribute their applications, which others can help
maintain and enhance.

It’s not setup to be the case where you checkout CGRAN, install it, and
get all of its applications. You find the applications you want, and
install them. By forcing the prior, I think we place ourself back in
the situation with a high barrier of entry that GNU Radio has.

Hmmm… colors… :slight_smile:

  • George

George N. wrote:

Hmmm… colors… :slight_smile:

OK, it has a different feel.

  • George

On Tue, Oct 21, 2008 at 10:15 AM, Clark P. [email protected]
wrote:

I’m not able to get this function to work correctly. I have it just connected between a snapshot file and an output file. I set the interpolation factor to 2.0 and the output file ends up half the size of the input file. It’s like it is a decimation block instead of interpolation?

How does the rational resampler work out - or can you not represent
the ratio as a rational number?

Are you calling it correctly? It seems as if there is a phase shift
as well as an interpolation ratio being passed in.

http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L38
http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L67

There may be an issue here:

http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L49

Might be upside down?

Brian

I think I just figured it out: The actual interpolation is 1/ the value
you feed it. I assumed the second parm was to be the interpolation
factor but looking at the .cc file I see it’s inverted internally. If I
put in 0.5 I get twice the output like I expect. (Tried this previously
but it threw an error somewhere else which I mistakenly thought meant
the interp parm had to be >=1). Thanks> Date: Tue, 21 Oct 2008 10:34:14
-0400> From: [email protected]> To: [email protected]> Subject: Re:
[Discuss-gnuradio] fractional_interpolator_cc?> CC:
[email protected]> > On Tue, Oct 21, 2008 at 10:15 AM, Clark P.
[email protected] wrote:> >> > I’m not able to get this function to
work correctly. I have it just connected between a snapshot file and an
output file. I set the interpolation factor to 2.0 and the output file
ends up half the size of the input file. It’s like it is a decimation
block instead of interpolation?> > How does the rational resampler work
out - or can you not represent> the ratio as a rational number?> > Are
you calling it correctly? It seems as if there is a phase shift> as well
as an interpolation ratio being passed in.> >
http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L38>
http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L67>

There may be an issue here:> >
http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L49>
Might be upside down?> > Brian

I’m not able to get this function to work correctly. I have it just
connected between a snapshot file and an output file. I set the
interpolation factor to 2.0 and the output file ends up half the size of
the input file. It’s like it is a decimation block instead of
interpolation?

Thanks,
Clark


When your life is on the go—take your life with you.
http://clk.atdmt.com/MRT/go/115298558/direct/01/

On Tue, Oct 21, 2008 at 10:34:14AM -0400, Brian P. wrote:

http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L38
http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L67

There may be an issue here:

http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter/gr_fractional_interpolator_cc.cc#L49

Might be upside down?

Definitely upside down.

Johnathan, can you please fix and add real QA code please?

Thanks,
Eric

Whenever you do an efficient implementation of the rational ratio
resampler,
you pick out one of the polyphase arms to do the actually evaluation of
the
filter taps and skip all of the implied zeros in the upsampled signal
(for
the obvious computational advantage). BUT, you can pick which “phase”
or
step to start evaluating the filter. This is the genesis of the term
“polyphase”.

HOWEVER, the fractional interpolator is NOT the rational resampler which
is

http://gnuradio.org/trac/browser/gnuradio/trunk/gnuradio-core/src/lib/filter
/gr_rational_resampler_base_XXX.cc.t

and the fractional interpolator is intended for use with resampling
ratios
that would require HUGE filters to be partitioned in order to achieve
the
rational resampler. Since all digital computers are by their nature,
rational number machines, it would be possible, but onerous.

Bob

ARRL SDR Working Group Chair
Member: ARRL, AMSAT, AMSAT-DL, TAPR, Packrats,
NJQRP, QRP ARCI, QCWA, FRC.
“Trample the slow … Hurdle the dead”

On Tue, Oct 21, 2008 at 11:32 AM, Eric B. [email protected] wrote:

Definitely upside down.

Johnathan, can you please fix and add real QA code please?

I have added ticket #309 for this. Since fixing it will require a
change to the block semantics (and we’re not sure who is using it),
the plan is to rename this block to something else at the same time as
getting the arguments correct. This is so 3rd party code that uses
this block won’t suddenly start silently failing (instead they’ll get
a compile time error).

-Johnathan