Re: [Discuss-gnuradio] Cannot Change USRP Interpolation Rate Dynamically

2008-02-15 Thread Michael Dickens
Firas - This is a known bug, but I don't think it ever made it into  
the bug tracker.  See the threads from  http://lists.gnu.org/archive/html/discuss-gnuradio/2007-10/msg00159.html 
 .  If you have time (I don't for a few weeks), could you please  
enter it in as a new bug ticket?  Try out the script from the link,  
and see if it doesn't work for you.  If this script shows what you've  
found, please also enter it in the ticket. - MLD



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


Re: [Discuss-gnuradio] Cannot Change USRP Interpolation Rate Dynamically

2008-02-15 Thread Firas A.

Hi Michael,


  Michael Dickens-2 Wrote :
 If you have time (I don't for a few weeks), could you please  
 enter it in as a new bug ticket?  Try out the script from the link,  
 and see if it doesn't work for you.  

I used your code  http://www.nabble.com/file/p15502528/test.py test.py  and
recorded the spectrum picture as shown in :

1) When the TX started (before changing the interpolation rate Dynamicly) :
http://rapidshare.com/files/92067855/before.JPG

2) After changing it (after the 15 seconds) :

http://rapidshare.com/files/92068144/after.JPG

 If this script shows what you've found, please also enter it in the
 ticket.

I will do it.

Regards,

Firas A.
-- 
View this message in context: 
http://www.nabble.com/Cannot-Change-USRP-Interpolation-Rate-Dynamically-tp15495473p15502528.html
Sent from the GnuRadio mailing list archive at Nabble.com.



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


Re: [Discuss-gnuradio] Multiple simultaneous top blocks?

2008-02-15 Thread Johnathan Corgan
On 2/15/08, Kshitij Kumar Singh [EMAIL PROTECTED] wrote:

For an application I needed to import some data into my module
  and then packetize it. The data
  being quite large, comes from a file. My problem is that multiple
  instances of top_block aren't allowed,
  so once I have imported my data, I can't run my program.

At the end of your imported script, add:

tb = None

This will cause the top block instance to go out of scope and be
deleted, so you can create another one at a later point.

-- 
Johnathan Corgan
Corgan Enterprises LLC
http://corganenterprises.com/


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


Re: [Discuss-gnuradio] TVRx output

2008-02-15 Thread Matt Ettus

Aadil Volkwin wrote:

Hi,

I would like to measure the actual signal that is output from the 
module and subsequently input into the ADC.


After looking through the module Datasheet im still not entirely sure 
which pins I ought to probe in order to extract this measurement.


I think it may be pins 1 and 2, but am not certain.


Pins 17 and 18 of the tuner are the outputs.  They have a long 
differential pair going to them.


Matt


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


Re: [Discuss-gnuradio] Multiple simultaneous top blocks?

2008-02-15 Thread Eric Blossom
On Fri, Feb 15, 2008 at 12:24:41PM -0500, Kshitij Kumar Singh wrote:
 Hi,
 
For an application I needed to import some data into my module
 and then packetize it. The data
 being quite large, comes from a file. My problem is that multiple
 instances of top_block aren't allowed,
 so once I have imported my data, I can't run my program. Even if I nest
 this inside a gr.hier_block2 class,
 I don't know how to create a nestable flow graph so that I run this
 module/class first and then proceed 
 with the execution of the program once I have the data.
 I went through the tx_voice.py example and noticed that all the
 transmit_path.py and pick_bitrate.py do is to provide some necessary
 functions (none of them need to 'run' some module beforehand).
 Is there some way I could get this done using nestable flow graphs, or
 do I end up putting the data in a ten page tuple like random_mask?
 Kindly help. Thanks in advance.

If you're just trying to get the data from a file into a python
string, this will be much much faster:

  data = open('/home/kshitij/work/transmit.dat').read()

No need for all that other stuff...

Eric



 -
 #testbot.py
 #This module just takes some data from a file and stores it in a
 variable (just a huge string) 
 #which is imported in another module which then transmits it in the form
 of
 # packets. Note that the data to be imported is quite large in size else
 this operation 
 #would have simply been reduced a payload='abcd' string. Thus we import
 the
 #data as:
 #''import testbot
 # testbot.data'' in our module. 
 
 from gnuradio import gr, packet_utils
 
 src =
 gr.file_source(gr.sizeof_char,'/home/kshitij/work/transmit.dat',False) 
 sink = gr.vector_sink_b()
 tb = gr.top_block()
 tb.connect(src,sink)
 
 try:
 tb.run() 
 a = sink.data()
 y=[]
 for b in a:
 y.append(str(b)) 
 data = []
 data = ''.join(y)
 except KeyboardInterrupt:
 pass
 --
 
 Regards,
 Kshitij


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


Re: [Discuss-gnuradio] Multiple simultaneous top blocks?

2008-02-15 Thread Kshitij Kumar Singh
Eric, thanks for the quick reply. The file 'transmit.dat' is a binary
file of 
unsigned chars created using gr.vector_sink_b, so when importing it in
this manner, all i get to see is gibberish on the screen...

 Johnathan, scoping out the first script works just fine. .. thanks.

Regards,
Kshitij




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


Re: [Discuss-gnuradio] How to use the TV board?

2008-02-15 Thread Paul Creekmore

Nick Stephens wrote:

Hello Everyone - I am doing my best to understand how the TVRx board
works. I have Rev. 3 of the TV board, with MicroTuner module with IF of
~44 MHz.

(Preface - Thanks for your patience, as I am relatively new to GNU radio
and the USRP!)

In my experiment, I have an 80 MHz sine wave at 2 mV pk-pk input to the
TV tuner from a function generator. The goal is to properly record this
signal to a data file, then plot the time domain and FFT of the signal
in Matlab to verify functionality.

My record script is from the examples directory:

#!/usr/bin/env python


Read a specified number of samples from a USRP and write the data to
a file.


from gnuradio import gr, eng_notation
from gnuradio import usrp
import sys

class record_graph(gr.flow_graph):
def __init__(self):
gr.flow_graph.__init__(self)

self.u = usrp.source_c(which=0, decim_rate=8)
self.dst = gr.file_sink(gr.sizeof_gr_complex, 'recorded.dat')
self.head = gr.head(gr.sizeof_gr_complex, 5000)

self.connect(self.u, self.head, self.dst)

self.u.set_mux(usrp.determine_rx_mux_value(self.u, [1,0]))
self.subdev = usrp.selected_subdev(self.u, [1,0])
self.subdev.set_gain(10)
tuning = self.u.tune(0, self.subdev, 7900)
print baseband_freq:, tuning.baseband_freq
print dxc_freq:, tuning.dxc_freq
print residual_freq:, tuning.residual_freq
print inverted:, tuning.inverted
fs = self.u.converter_rate()
print source converter rate:, fs

try:
record_graph().run()
except KeyboardInterrupt:
pass


Now, as I understand it, with my tuning target frequency in this code at
79 MHz and a decimation rate of 16, and 64 MS/s sampling, then the sine
wave signal should appear at approximately a 1 MHz frequency. However,
all I am seeing is wideband noise. Does anybody know why this may be?
Also, what can you tell me about using the TV board?
  


We've solved this problem internally (I'm working directly with Nick at 
Purdue), but here's the answer, for the record.


The short answer is that the 80 MHz test signal was wiped out by the 
Hilbert filter in the ADC.  Here's why:  The specified 79 MHz center 
frequency gets down-converted by the tuner module on the TVRX daughter 
card to 44 MHz (for our version of the card).  This then goes to an ADC 
on the motherboard, sampling at 64 MHz.  Draw the aliasing diagram, and 
you'll see that 44 MHz aliases down to 20 MHz, and that the spectrum is 
inverted.  So what was 80 MHz is now at 19 MHz rather than 21 MHz.  The 
Hilbert filter, if I understand it correctly, then passes only the 
positive portion of the frequency spectrum on to the FPGA.  Finally, the 
FPGA's digital down-converter takes what was at 20 MHz down to 0, and 
the test signal that was at 19 MHz disappears into the ether.


A test signal 1 MHz LESS than the specified center frequency then 
aliases down to 21 MHz and then down-converts to 1 MHz.


--Paul


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


Re: [Discuss-gnuradio] Multiple simultaneous top blocks?

2008-02-15 Thread Eric Blossom
On Fri, Feb 15, 2008 at 01:56:50PM -0500, Kshitij Kumar Singh wrote:
 Eric, thanks for the quick reply. The file 'transmit.dat' is a binary
 file of 
 unsigned chars created using gr.vector_sink_b, so when importing it in
 this manner, all i get to see is gibberish on the screen...

If you don't want gibberish, don't print it...

Eric


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


[Discuss-gnuradio] Multiple simultaneous top blocks?

2008-02-15 Thread Kshitij Kumar Singh
Hi,

   For an application I needed to import some data into my module
and then packetize it. The data
being quite large, comes from a file. My problem is that multiple
instances of top_block aren't allowed,
so once I have imported my data, I can't run my program. Even if I nest
this inside a gr.hier_block2 class,
I don't know how to create a nestable flow graph so that I run this
module/class first and then proceed 
with the execution of the program once I have the data.
I went through the tx_voice.py example and noticed that all the
transmit_path.py and pick_bitrate.py do is to provide some necessary
functions (none of them need to 'run' some module beforehand).
Is there some way I could get this done using nestable flow graphs, or
do I end up putting the data in a ten page tuple like random_mask?
Kindly help. Thanks in advance.
-
#testbot.py
#This module just takes some data from a file and stores it in a
variable (just a huge string) 
#which is imported in another module which then transmits it in the form
of
# packets. Note that the data to be imported is quite large in size else
this operation 
#would have simply been reduced a payload='abcd' string. Thus we import
the
#data as:
#''import testbot
# testbot.data'' in our module. 

from gnuradio import gr, packet_utils

src =
gr.file_source(gr.sizeof_char,'/home/kshitij/work/transmit.dat',False) 
sink = gr.vector_sink_b()
tb = gr.top_block()
tb.connect(src,sink)

try:
tb.run() 
a = sink.data()
y=[]
for b in a:
y.append(str(b)) 
data = []
data = ''.join(y)
except KeyboardInterrupt:
pass
--

Regards,
Kshitij



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


Re: [Discuss-gnuradio] Any working transmitter/receiver package?

2008-02-15 Thread Eric Blossom
On Fri, Feb 15, 2008 at 03:23:27PM -0700, rick zhang wrote:
 
  Hello folks,
  I want to try some working transmitter and receiver GSR package. It seems
  most emails in the archive are talking about receiving while I'm interested
  in both transmitting and receiving.  I prefer to have a system with a
  bandwidth of 8 MHz, but I'm willing to settle for 6 MHz if it is the best
  the current USRP can do. I have tried the BBN package and want to try
  something else.
 
  Any suggestion is welcome!
 
  Thanks,
 
  Junxing

Try the code in gnuradio-examples/python/digital, and be sure to read
the README.


[EMAIL PROTECTED] digital]$ ./benchmark_tx.py --help
Usage: benchmark_tx.py [options]

Options:
  -h, --helpshow this help message and exit
  -m MODULATION, --modulation=MODULATION
Select modulation from: cpm, d8psk, qam8, dbpsk,
dqpsk, gmsk [default=gmsk]
  -s SIZE, --size=SIZE  set packet size [default=1500]
  -M MEGABYTES, --megabytes=MEGABYTES
set megabytes to transmit [default=1.0]
  --discontinuous   enable discontinous transmission (bursts of 5 packets)
  --from-file=FROM_FILE
use file for packet contents
  -f FREQ, --freq=FREQ  set Tx and/or Rx frequency to FREQ [default=none]
  -r BITRATE, --bitrate=BITRATE
specify bitrate.  samples-per-symbol and interp/decim
will be derived.
  -T TX_SUBDEV_SPEC, --tx-subdev-spec=TX_SUBDEV_SPEC
select USRP Tx side A or B
  --tx-amplitude=AMPL   set transmitter digital amplitude: 0 = AMPL  32768
[default=12000]
  -v, --verbose

  Expert:
-S SAMPLES_PER_SYMBOL, --samples-per-symbol=SAMPLES_PER_SYMBOL
set samples/symbol [default=none]
--tx-freq=FREQ  set transmit frequency to FREQ [default=none]
-i INTERP, --interp=INTERP
set fpga interpolation rate to INTERP [default=none]
--log   Log all parts of flow graph to file (CAUTION: lots of
data)
--use-whitener-offset
make sequential packets use different whitening
--excess-bw=EXCESS_BW
set RRC excess bandwith factor [default=0.35] (PSK)
--no-gray-code  disable gray coding on modulated bits (PSK)
--bt=BT set bandwidth-time product [default=0.35] (GMSK)
-B FUSB_BLOCK_SIZE, --fusb-block-size=FUSB_BLOCK_SIZE
specify fast usb block size [default=0]
-N FUSB_NBLOCKS, --fusb-nblocks=FUSB_NBLOCKS
specify number of fast usb blocks [default=0]


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


[Discuss-gnuradio] Any working transmitter/receiver package?

2008-02-15 Thread rick zhang

 Hello folks,
 I want to try some working transmitter and receiver GSR package. It seems
 most emails in the archive are talking about receiving while I'm interested
 in both transmitting and receiving.  I prefer to have a system with a
 bandwidth of 8 MHz, but I'm willing to settle for 6 MHz if it is the best
 the current USRP can do. I have tried the BBN package and want to try
 something else.

 Any suggestion is welcome!

 Thanks,

 Junxing

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


[Discuss-gnuradio] New build system features

2008-02-15 Thread Johnathan Corgan
Michael Dickens has implemented some changes to the build system which
have recently been merged into the GNU Radio trunk.  These changes
allow finer control over the build; specifically, they allow compiling
and testing individual components of the GNU Radio source tree while
using already installed GNU Radio libraries.

While they are aimed primarily at distribution/system packagers,
others may be interested in using the new '--with-xxx' options to
'configure'.  Updated documentation is available at:

http://gnuradio.org/trac/wiki/BuildConfiguration

There should be no changes to existing build functionality; if
something stops working for you, please file a bug in the tracker.

-- 
Johnathan Corgan
Corgan Enterprises LLC
http://corganenterprises.com/


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


Re: [Discuss-gnuradio] New build system features

2008-02-15 Thread Greg Troxel
rereading, I see this:


  --with-omnithread   Use package omnithread if installed in
  $prefix/lib/pkgconfig; otherwise revert back to
  --enable-omnithread
  --with-gnuradio-coreUse package gnuradio-core if installed in
  $prefix/lib/pkgconfig; otherwise revert back to
  --enable-gnuradio-core


from a pkgsrc point of view, I'd like to see this be

  use it from --prefix, and fail if not there.

the 'build it if not there' does not serve the cause of repeatable
builds, where things go exactly as planned, or you notice.
But, I realize that packaging systems may not be the only client.

It would be nice if needed and disabled things were just looked for in
prefix, and an error if not present, but I haven't really pondered all
the use cases.


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


Re: [Discuss-gnuradio] New build system features

2008-02-15 Thread Greg Troxel
I'm trying to do a build of all the pieces separately, to mimic what
pkgsrc would do.  Here's my script, which seems to build omnithread N
times.  I'm a bit tired so may be overlooking something obvious:

The bug seems to be that I'm not specifying where omnithread comes from
during the core build, but it's in --prefix, and the wiki page
http://gnuradio.org/trac/wiki/BuildConfiguration didn't seem to explain.

[build log excerpt; full 250 KB on request]

Component omnithread passed configuration checks, but not building.
Component gnuradio-core requires omnithread, which is not being built or 
specified via pre-installed files.
configure: error: Component gnuradio-core has errors, stopping.
make  all-recursive
Making all in config
Making all in omnithread
Making install in config
Making install in omnithread
test -z /usr/adroit/lib || .././install-sh -c -d /usr/adroit/lib
 /bin/ksh ../libtool --mode=install /usr/bin/install -c  'libgromnithread.la' 
'/usr/adroit/lib/libgromnithread.la'
/usr/bin/install -c .libs/libgromnithread.so.0.0 
/usr/adroit/lib/libgromnithread.so.0.0
(cd /usr/adroit/lib  { ln -s -f libgromnithread.so.0.0 libgromnithread.so.0 
|| { rm -f libgromnithread.so.0  ln -s libgromnithread.so.0.0 
libgromnithread.so.0; }; })
(cd /usr/adroit/lib  { ln -s -f libgromnithread.so.0.0 libgromnithread.so || 
{ rm -f libgromnithread.so  ln -s libgromnithread.so.0.0 libgromnithread.so; 
}; })
/usr/bin/install -c .libs/libgromnithread.lai /usr/adroit/lib/libgromnithread.la

build script follows:

#!/bin/sh
 
$Id:

echo -n README.pkgsrc(gnuradio) START ; date

# This file provides an example of how to build GNU Radio under pkgsrc.


# this is ignored
CONF_DOC_ARGS=
--enable-doxygen
--enable-dot
--enable-latex-docs


CONF_DISABLE_ALL=--disable-all-components


CONF_ENABLE_ARGS=
--enable-omnithread
--enable-gnuradio-core
--enable-pmt
--enable-mblock
--enable-usrp
--enable-gr-usrp
--enable-gr-audio-oss
--enable-gr-atsc
--enable-gr-wxgui
--enable-gr-utils
--enable-gnuradio-examples


CONF_DISABLE_ARGS=
--enable-gr-comedi
--enable-gr-cvsd-vocoder
--enable-gr-gpio
--enable-gr-gsm-fr-vocoder
--enable-gr-pager
--enable-gr-radar-mono
--enable-gr-radio-astronomy
--enable-gr-trellis
--enable-gr-video-sdl
--enable-gr-sounder


# bootstrap just once
./bootstrap

for arg in $CONF_ENABLE_ARGS; do

echo BUILDING WITH $arg

# configure with just one module
LDFLAGS=-L/usr/pkg/lib -R/usr/pkg/lib -L/usr/adroit/lib -R/usr/adroit/lib 
CPPFLAGS=-I/usr/pkg/include -I/usr/adroit/include ./configure 
--prefix=/usr/adroit $CONF_DISABLE_ALL $arg

# build
make

# install
sudo make install

done

#LDFLAGS=-L/usr/pkg/lib -R/usr/pkg/lib -L/usr/adroit/lib -R/usr/adroit/lib 
CPPFLAGS=-I/usr/pkg/include -I/usr/adroit/include make distcheck

echo -n README.pkgsrc(gnuradio) FINISH ; date


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