Nondestructive Evaluation
Nondestructive Evaluation (NDE) refers to a range of techniques used to evaluate the properties of a material, component, or system without causing damage. NDE is crucial in various industries, including aerospace,automotive, and manufacturing, as it ensures the integrity and reliability of products and structures. This three-day course is designed is designed for engineers, scientists, technicians, implementers, and managers who need to understand and apply current
Description
This three-day course will provide the foundational skills required to develop software defined radios using the GNURadio framework. This course consists of both lecture material and worked SDR software examples. The course begins with a background in SDR technologies and communications theory. The course then covers programming in the Linux environment common to GNURadio via examples of SDR without a framework like GNURadio. Then introductory GNURadio is presented to demonstrate the utility of the stock framework. Worked examples in the GNURadio Companion GUI are used to demonstrate basic SDR signal processing functions. Then the class will cover how to develop and debug custom signal processing blocks. A worked example of an OOK modem is used to demonstrate working with data buffers in GNURadio. The advanced features of GNURadio will be covered such as RPC, message passing, data tagging, and burst (event) processing. Finally, additional open-source packages such as GQRX, and gr-modes (ADS-B) are presented. Each student will receive a complete set of lecture notes as well as a complete SDR development environment (Virtual Machine) preloaded with the worked examples of GNURadio applications.
Each attendee needs a laptop/desktop for this class. Requirements for the computer are: 1) A 3.0 USB port, 2) Minimum of 4GB RAM and, 3) Intel i5 processor or better. An understanding of programming is recommended.
A RTL-SDR dongle is also provided to each student (to keep) for the worked examples in the class.
Course Outline:
- Basic Communications Theory. Spectrum analysis. Media access. Carrier modulation. Bandwidth utilization. Error correcting codes.
- Basic Radio Signal Processing. Sampling theory. Filtering. Carrier recovery. Timing recovery. Equalization. Modulation and demodulation.
- Channel and Hardware Signal Impairments. Path loss. Multi-path. Noise. Doppler. IP3, 1-dB Compression, Noise Figure, IQ Imbalance.
- Software-Defined Radio Development in Linux. C++ and Python software development in Linux. Worked example of building C++ and Python signal processing programs in Linux. Build systems. Debugging using GDB. Worked examples of debugging with GDB. Profiling tools to measure SDR software performance. Integrated Development Environments. Eclipse and LiClipse. Worked examples of the SWIG C++ to Python interface generator used in GNURadio.
- Introduction to GNURadio. GNURadio architecture. Flowgraphs and data buffers. Stock signal processing blocks. How to set-up a GNURadio development environment (like the one provided with the class). Developing with GNURadio Companion. Worked examples in GNURadio Companion including a QPSK data modem. Worked example of a python GNURadio app. Working with SDR hardware such as the USRP. Worked example with RTL-Dongle.
- Custom Signal Processing in GNURadio. Worked example of how to write a GNURadio signal processing block. Generating block skeleton code. Populating the signal processing. Compiling and debugging the signal processing. Communicating with and monitoring the signal processing in operation.
- Burst processing in GNURadio. Worked example for custom signal processing to demodulate OOK burst signals. Demonstration of working with GNURadio data buffers and writing general work functions to consume and produce data in processing blocks.
- Advanced GNURadio features. Overview of advanced GNURadio features. Worked examples of system logging. Worked examples of message passing and burst processing with PDUs. Worked examples of metadata passing using stream tags. Worked example of burst processing using metadata enabled tagged-streams. Worked example of external process monitoring using GNURadio control port. Worked example of hardware accelerated signal processing using the VOLK optimized kernel library.
- Open source SDR projects. Discussion and simple demonstration of available open-source SDR projects. Scanner utilities such as GQRX, SDR#, and Baudline. SDR modems projects such as ADS-B, AIS, Airprobe and OpenBTS.
What You Will Learn:
- What applications utilize SDR.
- Common SDR architectures.
- Basic communications theory (spectrum access, modulation).
- Basic algorithms utilized in SDR (carrier recovery, timing recovery).
- Channel and Hardware Impairments.
- Modem structure.
- Linux software development and debugging. (with worked examples)
- SDR development in GNURadio Companion. (with worked examples)
- Custom signal processing in GNURadio. (with worked examples)
- Worked examples of SDR Modems in GNURadio. (with worked examples)
- Advanced GNURadio features (with examples of stream tags, message passing, control port)
From this course you will obtain the knowledge to understand the range of NDE methods available and when to apply them.
Instructor(s):
Don J. Roth, Ph.D. has 40+ years in the NDT, Aerospace, and Aviation industry. He has had the roles of NDE team lead, Principal Engineer, Inspection Fellow, ASNT and NAS-410 RT/DR/CT Level III, and Global Applications Team Leader at various organizations. These include at NASA, GE Aviation, GE / Waygate Inspection Technologies, and Joby Aviation. He is currently President and Consultant at Roth Technical Consulting, LLC\Global X-ray Inspection Institute and serves as the Inspection Technical Fellow for Wohlers Associates powered by ASTM International. Dr. Roth has a Ph.D. in Materials Science from Case Western Reserve University.