[Discuss-gnuradio] Inexpensive Digital RF Signal Generator
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
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
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