[Discuss-gnuradio] USRP News -- April 18th, 2006

2006-04-18 Thread Matt Ettus


USRP News -- April 18, 2006


In this Issue

- New Daughterboard Announcement
- New Daughterboard Naming and Contest
- TVRX Status
- Inventory Status
- American Express


New Daughterboard Announcement


We are pleased to announce the availability of the "Daughterboard Which
Would Have Been Called Flex900", or the DBWWHBC-Flex900.  For the
reasons why it will not actually be called the Flex900, please see the
next section of this announcement.

The DBWWHBC-Flex900 is a transceiver very similar to the DBFKA-Flex2400
(Daughterboard Formerly Known As Flex2400).  It is a transceiver
covering the 800-1000 MHz range which includes the 902-928 MHZ ISM band,
cell phones, and several other interesting bands.  The transmit power is
adjustable up to well over 20 dBm (100 mW).  It includes an ISM-band
filter for reducing interference which can be enabled by removing one
capacitor.  For operation outside of the ISM band, simply leave the
capacitor in place.

The DBWWHBC-Flex900 costs $250, and will begin shipping next Wednesday.
 You can order it from the standard web ordering page,

http://www.ettus.com/custom.html



New Daughterboard Naming and Contest


While we have never claimed to own the word "Flex", we have recently
received a Cease and Desist letter from a company which believes it does
own it.  FlexRadio Systems, a maker of HF and VHF SDR equipment for
amateur radio, has "requested" that we completely discontinue the use of
the word "Flex".  Not wishing to fight this, we have decided to comply.

In order to choose a new name for the Flex-series of daughterboards, we
have decided to have a naming contest.  To enter, please send your
suggestions to [EMAIL PROTECTED] with the subject "Contest".  On April
30th, we will choose the best entry, and from then on, the boards will
be known by the new name.  The winner will receive one free Flex-series
(oops, said it again...) daughterboard of their choice.  All decisions
are final.

Just to clarify the naming system, we have created this handy chart:

Old NameInterim Name   Final Name
   ==
Flex400 DBFKA-Flex400  ? 400
Flex900 DBWWHBC-Flex900? 900
Flex2400DBFKA-Flex2400 ? 2400

Best of luck to all entrants!


==
TVRX Status
==

We have been able to locate a source of the tuner modules used in the
TVRX boards.  This will allow us to continue to provide TVRX boards
for the forseeable future.


==
Inventory Status
==

As of April 18th, all items are in stock except for the USRP
motherboard.  We expect to have USRP motherboards back in stock in early
May.  We are sorry for any inconvenience this may cause.


==
American Express
==

By popular demand, we are now able to accept American Express credit
cards from the same web order page.  Simply enter the card info in the
fields provided.


==

Thank you,
Matt Ettus
President, Ettus Research LLC
+1 (650) 814-8943



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Embedded control of USRP

2006-04-18 Thread Eric Blossom
On Tue, Apr 18, 2006 at 06:18:55PM -0400, Lee Patton wrote:
> On Mon, 2006-04-03 at 11:20 -0700, Eric Blossom wrote:
> > ... unless you're a glutton for punishment, don't get the Celeron
> > version, spend the extra bucks and get the Pentium M.
> 
> Besides the dearth of on-board cache, what are the other drawbacks of a
> Celeron?
> 
> To fit the dimensional requirement I was given (5"x5"x~1"), the SBC must
> be passively cooled.  However, I'm not finding a Pentium-M solution that
> can be passively cooled and meets our availability requirements.  I have
> found a 600 MHz Celeron solution, but has half the L2 cache.
> 
> In our application, we'll be pulling full throttle from the USRP, maybe
> FIR filtering, and then pushing back out to USRP.  Not too heavy on the
> signal processing.
> 
> All advice appreciated.
> 
> - Lee
> 
> P.S.
> 
> Some potential solutions:
> http://www.gms4sbc.com/P60x_BO.html  (can't meet availability)
> http://www.kontron-emea.com/index.php?id=82&cat=58 (JRex-PM, can only
> air cool Celeron M 600 MHz)

You should be able to benchmark this, including cache performance
using oprofile.  To track cache misses you'll need to enable a
non-default set of counters in oprofile, but it's possible.
http:://oprofile.sf.net  You should be able to determine the cache
hit/miss ratio for you existing configuration using oprofile.

Benchmark the app you want to run on whatever you've currently got.
The closer in architecture/microarchitecture, the better.  Then scale
by CPU freq, and a big wild-ass guess on cache size differences.

Eric


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Embedded control of USRP

2006-04-18 Thread Lee Patton
On Mon, 2006-04-03 at 11:20 -0700, Eric Blossom wrote:
> ... unless you're a glutton for punishment, don't get the Celeron
> version, spend the extra bucks and get the Pentium M.

Besides the dearth of on-board cache, what are the other drawbacks of a
Celeron?

To fit the dimensional requirement I was given (5"x5"x~1"), the SBC must
be passively cooled.  However, I'm not finding a Pentium-M solution that
can be passively cooled and meets our availability requirements.  I have
found a 600 MHz Celeron solution, but has half the L2 cache.

In our application, we'll be pulling full throttle from the USRP, maybe
FIR filtering, and then pushing back out to USRP.  Not too heavy on the
signal processing.

All advice appreciated.

- Lee

P.S.

Some potential solutions:
http://www.gms4sbc.com/P60x_BO.html  (can't meet availability)
http://www.kontron-emea.com/index.php?id=82&cat=58 (JRex-PM, can only
air cool Celeron M 600 MHz)



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Autotools tutorial

2006-04-18 Thread Eric Blossom
On Tue, Apr 18, 2006 at 03:07:52PM -0700, Jonathan Jacky wrote:
> 
> I recently ran across this tutorial, that discusses automake and autoconf, 
> among other things.
> 
>  Learning the GNU development tools
>  http://autotoolset.sourceforge.net/tutorial.html
> 
> I have not yet read it thoroughly.  Some of the sections are still 
> incomplete, including the one on libtool.
> 
> Other documents about the autotools have been noted here before.
> 
>  http://lists.gnu.org/archive/html/discuss-gnuradio/2005-02/msg00301.html
> 
> Jon Jacky

FWIW, the manuals that come with autoconf and automake are pretty good.

Eric


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] Autotools tutorial

2006-04-18 Thread Jonathan Jacky


I recently ran across this tutorial, that discusses automake and autoconf, 
among other things.


 Learning the GNU development tools
 http://autotoolset.sourceforge.net/tutorial.html

I have not yet read it thoroughly.  Some of the sections are still 
incomplete, including the one on libtool.


Other documents about the autotools have been noted here before.

 http://lists.gnu.org/archive/html/discuss-gnuradio/2005-02/msg00301.html

Jon Jacky


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] templates in "gr-howto-write-a-block-0.3"

2006-04-18 Thread Eric Blossom
On Tue, Apr 18, 2006 at 05:45:40PM -0400, Achilleas Anastasopoulos wrote:
> 
> I have handwritten a couple of blocks in the howto
> directory and am able to compile/install them.
> 
> I would like to generate versions of these blocks for
> different input/output variable types, thus I have written the
> appropriate template files _XX.i.t, _XX.h.t, _XX.cc.t
> (I followed some examples in core/src/lib/general/)
> 
> 
> My question is how to automate the compile and install step
> to generate the appropriate code from the templates.
> 
> Thanks
> Achilleas

Take a look at gnuradio-core/src/lib/general/Makefile.am to see how we
do it there.

FYI, this is the Makefile rule that runs the code generator:

$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR)
PYTHONPATH=$(top_srcdir)/src/python srcdir=$(srcdir) 
$(srcdir)/generate_all.py


All of the $(srcdir) and $(top_srcdir) stuff is required to make this
work when doing VPATH builds.  That is, builds where the source and
objects are in different directories.

Eric


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] templates in "gr-howto-write-a-block-0.3"

2006-04-18 Thread Achilleas Anastasopoulos


I have handwritten a couple of blocks in the howto
directory and am able to compile/install them.

I would like to generate versions of these blocks for
different input/output variable types, thus I have written the
appropriate template files _XX.i.t, _XX.h.t, _XX.cc.t
(I followed some examples in core/src/lib/general/)


My question is how to automate the compile and install step
to generate the appropriate code from the templates.

Thanks
Achilleas


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


[Discuss-gnuradio] swig error in compile, gr-atsc stuff

2006-04-18 Thread Charles Swiger
Gang - Wonder if any of the block writing wizards could take a gander
at this and spot why the blocks compile, but error out on the - I don't
even know what you call it - the swig file? 

output:

creating libatsc-qa.la
(cd .libs && rm -f libatsc-qa.la && ln -s ../libatsc-qa.la
libatsc-qa.la)
if /bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H
-I. -I. -I../.. -pthread -I/usr/local/include/gnuradio
-I/usr/include/python2.4 -I/usr/local/include-g -O2 -Wall
-Woverloaded-virtual -pthread -MT atsc.lo -MD -MP -MF ".deps/atsc.Tpo"
-c -o atsc.lo atsc.cc; \
then mv -f ".deps/atsc.Tpo" ".deps/atsc.Plo"; else rm -f
".deps/atsc.Tpo"; exit 1; fi
 g++ -DHAVE_CONFIG_H -I. -I. -I../.. -pthread
-I/usr/local/include/gnuradio -I/usr/include/python2.4
-I/usr/local/include -g -O2 -Wall -Woverloaded-virtual -pthread -MT
atsc.lo -MD -MP -MF .deps/atsc.Tpo -c atsc.cc  -fPIC -DPIC
-o .libs/atsc.o
atsc.cc:2178: error: `atsc_ds_to_softds_sptr' was not declared in this
scope   < OH NO
atsc.cc:2179: error: expected `,' or `;' before '{' token



Here are the files I added:

http://webpages.charter.net/cswiger/atsc_ds_to_softds.cc
http://webpages.charter.net/cswiger/atsc_ds_to_softds.h
http://webpages.charter.net/cswiger/atsc.i

Of course atsc.cc was created by swig, and the bottom of atsc.i
has what magic worked for the other modules I added.  


tia

--Chuck




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Design FIR filters by number of taps

2006-04-18 Thread Eric Blossom
On Tue, Apr 18, 2006 at 08:37:55AM -0700, jjw wrote:
> 
> In looking at the tools for designing FIR filters, I see that you can do it
> by selecting cutoff frequencies and transition bandwidths.  Is there a block
> already in existence that allows you to design an FIR filter based on cutoff
> frequency and maximum number of taps where the transition bandwidth would be
> variable based on the taps?  I didn't notice one, but this would be very
> helpful to me.  Thanks.
> 
> John

There are lots of ways to design filters.

We provide two: gr.firdes.* (windowed design) and optfir.* (Parks McClellan)

In both of them, you specify the characteristics that you want, and
the code figures out the number of taps that it takes to get what you
asked for.  This approach seemed to make the most sense.

If you want to specify the number of taps, you're on your own.
The guts of the windowed design code may be useful.

Eric


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Basic USRP AM Transmission

2006-04-18 Thread Martin Dvh
Robert Roberts wrote:
> I added an interpolating FIR filter (used a lowpass filter) that stepped the 
> signal rate back up to 128mS/s, but it does not sounds any better. I have 
> been 
> playing with the interpolation value, as well as the filter values.

Since the bandwidth of the usb bus is limited, the maximum samplerate you can 
send to the usrp is 8Ms/s
Since the interpolation factor of the usrp is also limited (I think max 256) 
the min samplerate you can send to the usrp is 128/256 = 500 kS/s
Usrp interpolator must be in [4, 512] and a multiple of 4
So the min samplerate you can send to the usrp is 128/512 = 250 kS/s
The bandwidth of the signal of interest also has to fit in the samplerate.
And then you also need integer interpolation factors (unless you use a rational 
resampler)
usb bus rate:  min 0  max 8 MS/s
usrp interpolator factor : min 4, max 512
DAC :  min 128 MS/s max 128 MS/s

So I would come to the following:
src 32 kS/s
software interpolator:  interpolation factor 10 => 320 kS/s
usrp interpolation factor   400 => 128 MS/s

Also pay attention to signal levels, and any filter parameters you use.

If this all still doesn't help.
Try what happens if you use a non DC baseband freq.
(That is, multiply your 320 kS/s signal with for example a 100 kHz complex sine 
(gr_sig_source_c))


Also make sure that the signal you use as input is not bigger then the const 
you add.
You add 1.0, which would mean that your input signal should be between -1.0 and 
1.0.
You can check with a scopesink.


Greetings,
Martin

> 
> I'll keep chugging away.  Thanks for your help!
> 
> ~Chris~
> 
> ** 
> 
> *- Original Message -*
> 
> *From*: Martin Dvh <[EMAIL PROTECTED]>
> 
> *Date*: Tuesday, April 18, 2006 1:01 am
> 
> *Subject*: Re: [Discuss-gnuradio] Basic USRP AM Transmission
> 
>  > Robert Roberts wrote:
>  > >
>  > > - Original Message -
>  > > From: Martin Dvh <[EMAIL PROTECTED]>
>  > > Date: Monday, April 17, 2006 3:06 pm
>  > > Subject: Re: [Discuss-gnuradio] Basic USRP AM Transmission
>  > >
>  > >>Robert Roberts wrote:
>  > >>
>  > >>>Hello everyone,
>  > >>>
>  > >>>
>  > >>>I have been experimenting with the Flex400 board and have been
>  > >>
>  > >>trying to
>  > >>
>  > >>>implement a basic AM transmitter. I have a WFM and NFM transmitter
>  > >>>working, but I cannot get the AM one to transmit correctly.
>  > The
>  > >>
>  > >>code> below generates a much higher frequency tone. Any advice
>  > to
>  > >>what I am
>  > >>
>  > >>>doing wrong? Does my output need filtering befor! e connecting
>  > to
>  > >>
>  > >>the> sink?
>  > >>
>  > >>>
>  > >>>self.u = usrp.sink_c () # the USRP sink
>  > >>>
>  > >>># Code here for setting up the USRP, omitted
>  > >>>
>  > >>>src = gr.file_source (gr.sizeof_float, "audio-1.dat", True) #
>  > >>
>  > >>440Hz tone
>  > >>
>  > >>>file
>  > >>
>  > >>What is the sample_rate of the audio file
>  > >>What is you interpolation rate of the usrp
>  > >>What is the duc frequency of your usrp.
>  > >
>  > >
>  > > I have the file source sampled at 32kS/s
>  > >
>  > > I use the following code for setting up my usrp:
>  > >
>  > > self.dac_rate = self.u.dac_rate() #
>  > 128 MS/s
>  > > self.usrp_interp = 400
>  > > self.u.set_interp_rate(self.usrp_interp)
> &! gt; > self.usrp_rate = self.dac_rate / self.usrp_interp #
>  > 320 kS/s
>  > > self.sw_interp = 10
>  > > self.audio_rate = self.usrp_rate / self.sw_interp #
>  > 32 kS/s
>  > >
>  > > # determine the daughterboard subdevice we're using
>  > > if options.tx_subdev_spec is None:
>  > > options.tx_subdev_spec = usrp.pick_tx_subdevice(self.u)
>  > >
>  > > m = usrp.determine_tx_mux_value(self.u,
>  > options.tx_subdev_spec)> self.u.set_mux(m)
>  > > self.subdev = usrp.selected_subdev(self.u,
>  > options.tx_subdev_spec)> print "Using TX d'board %s" %
>  > (self.subdev.side_and_name(),)>
>  > > self.subdev.set_gain(self.subdev.gain_range()[1]) #
>  > set max
>  > > Tx gain
>  > > self.set_freq(options.freq)
>  > > self.subdev.set_enable(True) #
>  > enable> transmitter
>  > >
>  > >
>  > > This is the same code I used for both a! NFM and WFM transmitter,
>  > both of
>  > > which appeared to transmit without problems.
>  > But do you actually put a software interpolator in there somewhere.
>  > I didn't see any in your code:
>  > >>>self.connect (src, const)
>  > >>>self.connect (const, conv)
>  > >>>self.connect (conv, gain)
>  > >>>self.connect (gain, self.u)
>  > should be:
>  > self.connect (src, const)
>  > self.connect (const, conv)
>  > self.connect (conv, gain)
>  > self.connect (gain, softwareinterpolator)
>  > self.connect(softwareinterpolator,self.u)
>  >
>  > greetings,
>  > Martin
>  > >
>  > > Sincerely,
>  > > ~Chris~
>  > >
>  > >>If the sample rate of your audio file is for example 48000 Herz
>  > >>Then the usrp interpolation rate should be 12800/48000 = 2666
>  > >>Which is I think

[Discuss-gnuradio] Design FIR filters by number of taps

2006-04-18 Thread jjw

In looking at the tools for designing FIR filters, I see that you can do it
by selecting cutoff frequencies and transition bandwidths.  Is there a block
already in existence that allows you to design an FIR filter based on cutoff
frequency and maximum number of taps where the transition bandwidth would be
variable based on the taps?  I didn't notice one, but this would be very
helpful to me.  Thanks.

John
--
View this message in context: 
http://www.nabble.com/Design-FIR-filters-by-number-of-taps-t1468910.html#a3970609
Sent from the GnuRadio forum at Nabble.com.



___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio