PySDR
PySDR is a software-defined radio (SDR) framework that leverages Python for signal processing applications. It provides a platform for developing and implementing various radio communication functionalities using Python programming. With PySDR, users can explore and experiment with radio frequency signals, modulation schemes, and digital signal processing techniques. The framework offers a flexible and accessible environment for SDR enthusiasts, researchers, and developers to work on radio communication projects. By utilizing Python’s capabilities, PySDR simplifies the development process and enables users to delve into the world of software-defined radio with ease and efficiency.
Phased Arrays with Phaser
In this chapter we use the Analog Devices Phaser , (a.k.a. CN0566 or ADALM-PHASER) which is an 8-channel low-cost phased array SDR that combines a PlutoSDR, Raspberry Pi, and ADAR1000 beamformers, des...
📚 Read more at PySDR🔎 Find similar documents
DOA & Beamforming
Direction-of-Arrival (DOA) within DSP/SDR refers to the process of using an array of antennas to estimate the DOA of one or more signals received by that array. Once we know the direction a signal of ...
📚 Read more at PySDR🔎 Find similar documents
Link Budgets
This chapter covers link budgets, a big portion of which is understanding transmit/receive power, path loss, antenna gain, noise, and SNR. We finish by constructing an example link budget for ADS-B, w...
📚 Read more at PySDR🔎 Find similar documents
Filters
In this chapter we learn about digital filters using Python. We cover types of filters (FIR/IIR and low-pass/high-pass/band-pass/band-stop), how filters are represented digitally, and how they are des...
📚 Read more at PySDR🔎 Find similar documents
Channel Coding
In this chapter we introduce the basics of channel coding, a.k.a. forward error correction (FEC), the Shannon Limit, Hamming codes, Turbo codes, and LDPC codes. Channel coding is an enormous area with...
📚 Read more at PySDR🔎 Find similar documents
Pulse Shaping
This chapter covers pulse shaping, inter-symbol-interference, matched filtering, and raised-cosine filters. At the end we use Python to add pulse shaping to BPSK symbols. You can consider this section...
📚 Read more at PySDR🔎 Find similar documents
Synchronization
This chapter covers wireless signal synchronization in both time and frequency, to correct for carrier frequency offsets and perform timing alignment at the symbol and frame level. We will utilize the...
📚 Read more at PySDR🔎 Find similar documents
End-to-End Example
In this chapter we bring together many of the concepts we previously learned about, and walk through a full example of receiving and decoding a real digital signal. We will be looking at Radio Data Sy...
📚 Read more at PySDR🔎 Find similar documents
About the Author
Dr. Marc Lichtman is a wireless communications researcher who specializes in SDR, machine learning, LTE/5G-NR, and spectrum sensing. He is an Adjunct Professor at the University of Maryland, where he ...
📚 Read more at PySDR🔎 Find similar documents
IQ Files and SigMF
In all our previous Python examples we stored signals as 1D NumPy arrays of type “complex float”. In this chapter we learn how signals can be stored to a file and then read back into Python, as well a...
📚 Read more at PySDR🔎 Find similar documents
Frequency Domain
This chapter introduces the frequency domain and covers Fourier series, Fourier transform, Fourier properties, FFT, windowing, and spectrograms, using Python examples. One of the coolest side effects ...
📚 Read more at PySDR🔎 Find similar documents
Noise and dB
In this chapter we will discuss noise, including how it is modeled and handled in a wireless communications system. Concepts include AWGN, complex noise, and SNR/SINR. We will also introduce decibels ...
📚 Read more at PySDR🔎 Find similar documents