logo signal sources by:- surendra babu donepudi uhcl id : 1004771 gnu radio ceng - 5931

22
LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Upload: tyrone-barry-hall

Post on 18-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

LOGO

Signal Sources

By:-

Surendra Babu DonepudiUHCL ID : 1004771

GNU RadioCENG - 5931

Page 2: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Contents

Programming Languages

1 GNU Radio

2

Signal Sources3

Types of Signal Sources4

Conclusion5

Page 3: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

What is GNU Radio ?

• GNU radio is a free/open-source software toolkit for building software radios, in which software defines the transmitted waveforms and demodulates the received waveforms.

• It turns radio hardware problems into software problems.

• GNU Radio provides the signal processing runtime and processing blocks to implement software radios using readily-available, low-cost external RF hardware and commodity processors.

Page 4: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Architecture of GNU Radio

Page 5: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Programming Languages in GNU Radio

There are two programming languages used in GNU Radio, C++ and Python

C++ Extensive library of signal processing blocks Performance-critical modules

Python Environment for composing blocks Glue to connect modulesNon performance-critical modules

Page 7: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

gnuradio.gr.glfsr_source_b Galois LFSR pseudo-random source. gnuradio.gr.glfsr_source_f Galois LFSR pseudo-random source generating float outputs -1.0 - 1.0.gnuradio.gr.lfsr_32k_source_s LFSR pseudo-random source with period of 2^15 bits (2^11 shorts)gnuradio.gr.null_source A source of zeros.gnuradio.gr.noise_source_c random number source gnuradio.gr.noise_source_f random number source gnuradio.gr.noise_source_i random number source gnuradio.gr.noise_source_s random number source gnuradio.gr.sig_source_c signal generator with gr_complex output. gnuradio.gr.sig_source_f signal generator with float output. gnuradio.gr.sig_source_i signal generator with int output. gnuradio.gr.sig_source_s signal generator with short output.

Signal sources

Page 8: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

gnuradio.gr.vector_source_b source of unsigned char’s that gets its data from a vectorgnuradio.gr.vector_source_c source of gr_complex’s that gets its data from a vectorgnuradio.gr.vector_source_f source of float’s that gets its data from a vector gnuradio.gr.vector_source_i source of int’s that gets its data from a vector gnuradio.gr.vector_source_s source of short’s that gets its data from a vectorgnuradio.gr.file_descriptor_source Read stream from file descriptor. gnuradio.gr.file_source Read stream from file.gnuradio.gr.message_source Turn received messages into a stream.gnuradio.gr.udp_source Read stream from an UDP socket. gnuradio.gr.wavfile_source Read stream from a Microsoft PCM (.wav) file, output floats.

Signal sources

Page 9: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Signal sources can be divided into 7 sub groups they are:

•Sinusoidal and constant sources•Noise sources•Null sources•Vector sources•File sources•Audio source•USRP source

Types of signal sources

Page 10: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Sinusoidal and constant sources

Block : gr.sig_source_X.

Usage: gr.sig_source_c [f, i, s] ( double sampling_freq,

gr_waveform_t waveform,

double frequency, double amplitude,

gr_complex [float, integer, short] offset )

The suffix X indicates the data type of the signal source. It can be ‘c’ (complex), ‘f’ (float), ’i’ (4 byte integer) or ‘s’ (2 byte short integer).

Page 11: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

The waveform argument indicates the type of the wave form. gr_waveform_t is an enumeration type defned in gr_sig_source_waveform.h. Its value can be: gr.GR_CONST_WAVEgr.GR_COS_WAVEgr.GR_SIN_WAVE

When you use gr.GR_CONST_WAVE, the output will be a constant voltage, which is the amplitude plus the offset.

Contd…..

Page 12: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Noise sources

Block : gr.noise_source_X.Usage: gr.noise_source_c [f, i, s] ( gr_noise_type_t type, float amplitude, long seed )

The suffix ‘X’ indicates the data type of the signal source. It can be ‘c’ (complex), ‘f’ (float), ‘i’ (4 byte integer) or ‘s’ (2 byte short integer).

Page 13: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

The type argument indicates the type of the noise. gr_noise_type_t is an enumeration type defined in gr_noise_type.h. Its value can be:

GR_UNIFORMGR_GAUSSIANGR_LAPLACIANGR_IMPULSE

Choosing GR_UNIFORM generates uniformly distributed signal between [-amplitude, amplitude].GR_GAUSSIAN gives us normally distributed deviate with zero mean and variance amplitude2. GR_LAPLACIAN and GR_IMPLUSE represent a Laplacian distribution and a impulse distribution respectively. All these noise source blocks are based on the pseudo random number generator block gr.random.

Contd…..

Page 14: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Null sources

Block: gr.null_source.

Usage: gr.null_source ( size_t sizeof_stream_item )

gr.null_source produces constant zeros. The argument sizeof_stream_item specifies the data type of the zero stream, such as gr_complex, float, integer and so on.

Page 15: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Vector sources

Block: gr.vector_source_X.Usage: gr.vector_source_c [f, i, s, b] ( const std::vector< gr_complex > & data, bool repeat = false ) (gr_complex can be replaced by float, integer, short, unsigned char)

The suffix ‘X’ indicates the data type of the signal source. It can be ‘c’ (complex), ‘f’ (float), ‘i’ (4 byte integer), ‘s’ (2 byte short integer), or ‘b’ (1 byte unsigned char).

These sources get their data from a vector. The argument repeat decides whether the data in the vector is sent repeatedly. As an example, we can use the block in this way in Python:

src_data = (-3, 4, -5.5, 2, 3)src = gr.vector_source_f (src_data)

Page 16: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

File sources

Block: gr.file_sourceUsage: gr.file_source ( size_t itemsize, const char * filename, bool repeat )

gr.file_source reads the data stream from a file. The name of the file is specified by filename. The first argument item size determines the data type of the stream, such as gr_complex, float, unsigned char. The argument repeat decides whether the data in the file is sent repeatedly.

As an example, we can use the block in this way in Python:

src = gr.file_source (gr.sizeof_char, "/home/dshen/payload.dat", TRUE)

Page 17: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Audio source

Block: gr.audio_source

Usage: gr.audio_source (int sampling_rate)

audio_source reads data from the audio line-in. The argument sampling_rate specifies the data rate of the source, in samples per second.

Page 18: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

USRP sourceBlock: usrp.source_c [s]Usage: usrp.source_c (s) ( int which_board, unsigned int decim_rate, int ncha = 1, int mux = -1, int mode = 0 )

when we design a receiver using GNU Radio, i.e. working on the RX path, probably we need the USRP as the data source. The suffix ‘c’ (complex), or ‘s’ (short) specifies the data type of the stream from USRP.

which_board specifies which USRP to open, which is probably ‘0’ if there is only one USRP board.

decim_rate tells the digital down converter (DDC) the decimation factor D.

Page 19: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

• Mux sets input MUX configuration, which determines which ADC(or constant zero) is connected to each DDC input .

`-1' means we preserve the default settings.

• Mode sets the FPGA mode, which we seldom touch. The default value is 0,representing the normal mode.

• Quite often we only specify the first two arguments, using the default values for the others. For example:

usrp_decim = 250src = usrp.source_c (0, usrp_decim)

Contd…..

Page 20: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

Conclusion

•Signal sources are used to generate the required signals in the program.

•Software radio is a revolution in radio design due to its ability to create radios that change on the fly, creating new choices for users.

• GNU Radio is widely used in hobbyist, academic and commercial environments to support wireless communications research as well as to implement real-world radio systems.

Page 22: LOGO Signal Sources By:- Surendra Babu Donepudi UHCL ID : 1004771 GNU Radio CENG - 5931

LOGO

Thank You !