Changes between Version 8 and Version 9 of Tutorials/k0SDR/Tutorial14


Ignore:
Timestamp:
Sep 9, 2015, 3:11:04 PM (9 years ago)
Author:
nilanjan
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/k0SDR/Tutorial14

    v8 v9  
    11 == Zynq-based WISER platform - Spectrum Sensing ==
     2
     3[[TOC(Tutorials/k0SDR*)]]
     4
     5=== Description ===
     6This tutorial demos capturing spectrum data using the Zynq-based WISER platform on ORBIT.
     7
     8=== Hardware / Software Resources utilized ===
     9 1. An SB6 node with WISER platform connected to it.
     10 2. ''wiser_sb6_zedboard.ndz'': disk image.
     11
     12=== Set up ===
     13 * Follow the [wiki:Tutorials/k0SDR/Tutorial13 start-up instructions] to set up the load the node image and FPGA images.
     14
     15
     16 * After the set-up is complete, ssh into node1-1 and build the wiserd application
     17{{{
     18root@node1-1:~# cd wiserd
     19root@node1-1:~/wiserd# make clean
     20root@node1-1:~/wiserd# make
     21g++   -Wall -g -O -std=gnu++0x  -c -o channel_status.o channel_status.cpp
     22g++   -Wall -g -O -std=gnu++0x  -c -o consumer_moving_average.o consumer_moving_average.cpp
     23g++   -Wall -g -O -std=gnu++0x  -c -o fft_movavg_dc.o fft_movavg_dc.cpp
     24g++   -Wall -g -O -std=gnu++0x  -c -o fft_movavg_oml.o fft_movavg_oml.cpp
     25g++   -Wall -g -O -std=gnu++0x  -c -o fft_movavg_udp.o fft_movavg_udp.cpp
     26g++   -Wall -g -O -std=gnu++0x  -c -o fft_pow_udp.o fft_pow_udp.cpp
     27g++   -Wall -g -O -std=gnu++0x  -c -o fft_sigpower_oml.o fft_sigpower_oml.cpp
     28g++   -Wall -g -O -std=gnu++0x  -c -o main.o main.cpp
     29g++   -Wall -g -O -std=gnu++0x  -c -o radio.o radio.cpp
     30g++   -Wall -g -O -std=gnu++0x  -c -o recv_consumer_factory.o recv_consumer_factory.cpp
     31g++   -Wall -g -O -std=gnu++0x  -c -o recv.o recv.cpp
     32g++   -Wall -g -O -std=gnu++0x  -c -o signal_from_file.o signal_from_file.cpp
     33g++   -Wall -g -O -std=gnu++0x  -c -o time_samples_to_file.o time_samples_to_file.cpp
     34g++   -Wall -g -O -std=gnu++0x  -c -o tran_consumer_factory.o tran_consumer_factory.cpp
     35g++   -Wall -g -O -std=gnu++0x  -c -o tran.o tran.cpp
     36g++   -Wall -g -O -std=gnu++0x  -c -o usrp.o usrp.cpp
     37g++   -Wall -g -O -std=gnu++0x  -c -o waveform.o waveform.cpp
     38g++   -Wall -g -O -std=gnu++0x  -c -o zynq.o zynq.cpp
     39g++ -L/usr/local/lib channel_status.o consumer_moving_average.o fft_movavg_dc.o fft_movavg_oml.o fft_movavg_udp.o fft_pow_udp.o fft_sigpower_oml.o main.o radio.o recv_consumer_factory.o recv.o signal_from_file.o time_samples_to_file.o tran_consumer_factory.o tran.o usrp.o waveform.o zynq.o -o wiserd -lboost_system -lboost_random -lboost_thread -lboost_program_options -lboost_iostreams -lpthread -llog4cxx -luhd -loml2 -locomm -lfftw3f -lreadline
     40}}}
     41
     42=== Start spectrum sensing ===
     43
     44 * Run the wiserd application with the following arguments.
     45{{{
     46root@node1-1:~/wiserd# ./wiserd --zynq_rx_freq 820e6 --zynq_rx_gain 10 --zynq_fft_bins 256 --zynq_fft_scaling 170 --zynq_avg_window 256
     47linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.002-86-g566dbc2b
     48
     49Zynq constructed
     50zynq_fft_bins 8
     51zynq_fft_scaling 170
     52zynq_rx_freq 820000000
     53zynq_rx_gain 10
     54Ready!
     55Zynq thread started
     56>
     57}}}
     58
     59 * The Zynq parameters passed to the FPGA to configures the RF hardware and FFT engine \\
     60  a) '--zynq_rx_freq 820e6' ----> sets Rx center frequency. Range of values: [400M 4000M] \\
     61  b) '--zynq_rx_gain 10' -------> sets Rx amplifier gain. Range of values: [5.0 20.0] \\
     62  c) '--zynq_fft_bins 256' -----> sets FFT size. Range of values must be power of 2: [8 256] \\
     63  d) '--zynq_fft_scaling 170' --> sets FFT stage scaling. \\
     64  e) '--zynq_avg_window 256' ---> sets time averaging across bins. Range of values: [1 256] \\
     65
     66 Note: the sampling rate not configurable and fixed at 30Msps.
     67
     68* From wiserd enable FFT engine and start streaming frequency bins from the FPGA to host
     69{{{
     70> --fft_engine 1
     71}}}
     72
     73* The FFT bin data is collected in binary file name ''zynq_rx_fft.bin''
     74
     75* From wiserd disable FFT engine and stop streaming data to host
     76{{{
     77> --fft_engine 0
     78}}}
     79
     80* To view a water fall image collected rx spectrum data, run the fPlot script in octave. A sample image is shown below with a tone at 10MHz generated from a USRP.