[Discuss-gnuradio] Inexpensive Digital RF Signal Generator

2019-06-26 Thread cliff palmer
I'd like to buy/build an inexpensive digital RF signal generator for
testing RF scan/capture projects.  I want something that
- generates a digital pattern I specify (512 - 32k bits)
- on a frequency I select (somewhere in the 100M - 500M range but the range
of frequencies can be much narrower)
- is entirely legal to operate in the US (I don't mind registering it with
the FCC)
- is simple enough that a newcomer to RF signal processing/SDR can make it
work without pestering this fine list with dozens of questions
- is controllable using software running on a linux or windows workstation
connected via USB (JTAG is fine)
- is inexpensive (read US$50 or less, or $100 or less if it makes coffee
and performs light housekeeping)
- is safe to operate (no breadboard layouts, and something you would let
your grandchildren touch)
- is powered by USB connection to a monitor, workstation or power adapter
and the power connection on the Signal Generator can be USB, barrel
connector, or any other standard connection
And with all that, I am indifferent on color, form factor, brand name and
such.
Thanks in advance
Cliff
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] Multiple-Transmitter OFDM

2019-06-26 Thread Ramazan Çetin

Hi Michael,

We have implemented one channel OFDM using rational resampler and pfb 
synthesizer and multiply tag block. It's working and we can receiver 
packets over the air. Thanks for suggestions.


We have also tried to implement two channels. We have resampled OFDM 
signals to 500KHz using rational resampler and combine them using 
synthesizer. When we run the FG, we can receive from both of the 
channels in the receiver but i am seeing lots of tPtPtPtP and some Us. 
The log is given in below:


root@rcetin-W540:~/workarea/installs $ 
/home/rcetin/workspace/gohm/bitbucket/physicallayergnuradio/resampled_ofdm.py

linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.009.002-0-gf18abe54

-- Initializing core control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Setting time source to internal
-- Asking for clock rate 16 MHz
-- Actually got clock rate 16 MHz
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
set_min_output_buffer on block 31 to 65536
ControlPort Monitor running.
set_min_output_buffer on block 8 to 65536
set_min_output_buffer on block 10 to 65536
set_min_output_buffer on block 9 to 65536
set_min_output_buffer on block 9 to 65536
set_min_output_buffer on block 11 to 65536
set_min_output_buffer on block 13 to 65536
set_min_output_buffer on block 14 to 65536
set_min_output_buffer on block 12 to 65536
set_min_output_buffer on block 12 to 65536
set_min_output_buffer on block 15 to 65536
set_min_output_buffer on block 16 to 65536
set_min_output_buffer on block 17 to 65536
set_min_output_buffer on block 19 to 65536
set_min_output_buffer on block 21 to 65536
set_min_output_buffer on block 20 to 65536
set_min_output_buffer on block 20 to 65536
set_min_output_buffer on block 22 to 65536
set_min_output_buffer on block 24 to 65536
set_min_output_buffer on block 25 to 65536
set_min_output_buffer on block 23 to 65536
set_min_output_buffer on block 23 to 65536
set_min_output_buffer on block 26 to 65536
set_min_output_buffer on block 27 to 65536
set_min_output_buffer on block 28 to 65536
gr::log :INFO: controlport - Apache Thrift: -h rcetin-W540 -p 37521
monitor::endpoints() = -h rcetin-W540 -p 37521
running: ['gr-perf-monitorx', 'rcetin-W540', '37521']
Press Enter to quit: 
tPtPUtPtPUtPUtPtPtP/home/rcetin/workarea/installs/bin/gr-perf-monitorx 
requires networkx and matplotlib. Please check that they are installed 
and try again.
tPUUtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPt

Re: [Discuss-gnuradio] Multiple-Transmitter OFDM

2019-06-26 Thread Michael Dickens
Hi Ramazan - The "tP" means that a timed transmit came too early. Say you want 
to transmit exactly every second (via timed samples), but you provided UHD with 
a burst of 2 seconds of data. You will have a new timed command before the 
first burst is finished. Hence, UHD will print "tP". I'm guessing with this 
info you can work out why there are too many samples per timed command going 
into the UHD sink.

The "U" as you note is an underrun; as these are happening just at app startup, 
and not during steady-state runtime, I'd guess it has something to do with 
getting the data flowing between the E310 and your host running GR that you can 
safely ignore.

Hope this is useful! - MLD

On Wed, Jun 26, 2019, at 1:40 PM, Ramazan Çetin wrote:
> Hi Michael,

> We have implemented one channel OFDM using rational resampler and pfb 
> synthesizer and multiply tag block. It's working and we can receiver packets 
> over the air. Thanks for suggestions. 

> We have also tried to implement two channels. We have resampled OFDM signals 
> to 500KHz using rational resampler and combine them using synthesizer. When 
> we run the FG, we can receive from both of the channels in the receiver but i 
> am seeing lots of tPtPtPtP and some Us. The log is given in below:


> root@rcetin-W540:~/workarea/installs $ 
> /home/rcetin/workspace/gohm/bitbucket/physicallayergnuradio/resampled_ofdm.py
>  linux; GNU C++ version 7.3.0; Boost_106501; UHD_003.009.002-0-gf18abe54 
> 
>  -- Initializing core control... 
>  -- Performing register loopback test... pass 
>  -- Performing register loopback test... pass 
>  -- Performing register loopback test... pass 
>  -- Performing CODEC loopback test... pass 
>  -- Performing CODEC loopback test... pass 
>  -- Setting time source to internal 
>  -- Asking for clock rate 16 MHz 
>  -- Actually got clock rate 16 MHz 
>  -- Performing timer loopback test... pass 
>  -- Performing timer loopback test... pass 
>  set_min_output_buffer on block 31 to 65536 
>  ControlPort Monitor running. 
>  set_min_output_buffer on block 8 to 65536 
>  set_min_output_buffer on block 10 to 65536 
>  set_min_output_buffer on block 9 to 65536 
>  set_min_output_buffer on block 9 to 65536 
>  set_min_output_buffer on block 11 to 65536 
>  set_min_output_buffer on block 13 to 65536 
>  set_min_output_buffer on block 14 to 65536 
>  set_min_output_buffer on block 12 to 65536 
>  set_min_output_buffer on block 12 to 65536 
>  set_min_output_buffer on block 15 to 65536 
>  set_min_output_buffer on block 16 to 65536 
>  set_min_output_buffer on block 17 to 65536 
>  set_min_output_buffer on block 19 to 65536 
>  set_min_output_buffer on block 21 to 65536 
>  set_min_output_buffer on block 20 to 65536 
>  set_min_output_buffer on block 20 to 65536 
>  set_min_output_buffer on block 22 to 65536 
>  set_min_output_buffer on block 24 to 65536 
>  set_min_output_buffer on block 25 to 65536 
>  set_min_output_buffer on block 23 to 65536 
>  set_min_output_buffer on block 23 to 65536 
>  set_min_output_buffer on block 26 to 65536 
>  set_min_output_buffer on block 27 to 65536 
>  set_min_output_buffer on block 28 to 65536 
>  gr::log :INFO: controlport - Apache Thrift: -h rcetin-W540 -p 37521 
>  monitor::endpoints() = -h rcetin-W540 -p 37521 
>  running: ['gr-perf-monitorx', 'rcetin-W540', '37521'] 
>  Press Enter to quit: 
> tPtPUtPtPUtPUtPtPtP/home/rcetin/workarea/installs/bin/gr-perf-monitorx 
> requires networkx and matplotlib. Please check that they are installed and 
> try again. 
>  
> tPUUtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPUtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPtPt