1.1 To Learn in This Chapter
The skills we aim to develop in this chapter are:
- Recognize what a signal is
- How to digitize signals using software, controlling sample frequency and number of bits per sample
- Artificially generate signals (random and deterministic) for simulations
- Analyze signals using Matlab/Octave and Python
- Use actual hardware to digitize signals
- Read/write digitized signals from/to binary files
- Distinguish digital, analog, continuous-time, discrete-time and sampled signals
- Represent arbitrary signals using impulses, step, sinc and rect functions
- Analytically manipulate the signal dependent and independent variables
- Implement block (or window) processing using software
- Relate signals via C/D, D/C, S/D and D/S conversions, where C, D and S stands for continuous-time, discrete-time and sampled signals, respectively, and understand how these conversions are used to model states of the A/D and D/A processes, where A and D stand for analog and digital signals, respectively
- Understand mathematical models for sampling, quantization and reconstruction
- While the unit for the continuous-time angular frequency is radian/s, observe that the angular frequency in digital domain is an angle and its unit is radian
- Relate the frequencies between continuous and discrete-time versions of a signal
- Design a quantizer that achieves a target signal-to-quantization-noise ratio (SQNR) given the signal statistics
- Review binary number systems used in digital signal processing
- Identify important signal categories (even/odd, periodic/aperiodic, energy/power) and use their properties
- Calculate power, energy, fundamental period and autocorrelation of a signal
- Use autocorrelation for detecting periodicity and crosscorrelation for aligning signals
Specific topics are organized as “Examples” along the text or “Applications” in the end of the chapter. These can be eventually skipped, but the reader is invited to stop just reading and explore these topics using a computer.