# Block 2 — Signal Processing

<p class="block-meta"><span class="b-block">Block 02</span><span class="b-time">Lessons 15–27</span></p>

<p class="block-synopsis">Turn a real-world signal into bits a computer can act on. We build the frequency domain and the four ideal filter types, model capacitors and inductors as complex resistors so every Block 1 tool keeps working, then build real filters out of R, L, and C. From there: sampling, aliasing, quantization, and the signal conditioning that makes a transducer fit an ADC — finishing with digital logic and finite state machines.</p>

## What you'll learn

:::{container} obj-list
- **2.1** — I can graph a given sinusoidal signal, including DC components, in both the time and frequency domains and determine its bandwidth.
- **2.2** — I can identify types of ideal filters, determine their cutoff frequencies, and analyze their output given an input sinusoidal signal or signal spectrum.
- **2.3** — I can model capacitors and inductors as complex resistors and use circuit analysis tools (such as voltage dividers, Ohm’s Law, and the power equation) to calculate voltage, current, and power in AC circuits containing these components.
- **2.4** — I can determine the filter type, gain, and cutoff frequency of simple series circuits containing a resistor, capacitor, and/or inductor.
- **2.5** — I can calculate the ADC sampling rate, voltage resolution, and digital output based on a given input voltage and the ADC's operational parameters, and determine the number of bits a required resolution demands.
- **2.6** — I can implement signal conditioning to avoid aliasing and clipping and to ensure maximum compatibility of the dynamic ranges between two devices.
- **2.7** — I can relate digital inputs to digital outputs using tools such as fundamental digital logic gates (AND, OR, NOT), truth tables, and Sum of Products (SOP) and Product of Sums (POS) Boolean expressions.
- **2.8** — I can model Moore and Mealy Finite State Machines (FSMs) using tools such as state transition diagrams, transition tables, and combinational and sequential logic circuits.
:::

## In this block

<div class="block-toc">
  <a class="bt-card bt-reading" href="L15.html">
    <span class="bt-kind">Lesson 15</span>
    <h4>Frequency Domain and Ideal Filters</h4>
    <p>Time versus frequency, bandwidth, and the four ideal filter types. Objectives 2.1, 2.2.</p>
  </a>
  <a class="bt-card bt-reading" href="L16.html">
    <span class="bt-kind">Lesson 16</span>
    <h4>Complex Math and Impedance</h4>
    <p>Rectangular and phasor form, the sinusoid-to-phasor transform, impedance, and why every Block 1 tool still works. Objective 2.3.</p>
  </a>
  <a class="bt-card bt-reading" href="L17.html">
    <span class="bt-kind">Lesson 17</span>
    <h4>Analog Filters</h4>
    <p>Real filters, rolloff, the −3 dB point, and identifying filter type by inspection. Objective 2.4.</p>
  </a>
  <a class="bt-card bt-slides" href="L18.html">
    <span class="bt-kind">Lesson 18</span>
    <h4>Midterm Review</h4>
    <p>Midterm logistics, the 1 / 0.5 / 0 rubric, and a refresher across Objectives 1.1–1.7 and 2.1–2.3.</p>
  </a>
  <a class="bt-card bt-slides" href="L19.html">
    <span class="bt-kind">Lesson 19</span>
    <h4>Analog Filter Lab</h4>
    <p>Build an R-C filter and find its cutoff, swap the components, then hypothesize and test a third circuit.</p>
  </a>
  <a class="bt-card bt-reading" href="L20.html">
    <span class="bt-kind">Lesson 20</span>
    <h4>Analog-to-Digital Conversion</h4>
    <p>Sampling and Nyquist, aliasing, quantization, resolution, the digital output value and its error, and what a recording costs in bits. Objective 2.5.</p>
  </a>
  <a class="bt-card bt-reading" href="L21.html">
    <span class="bt-kind">Lesson 21</span>
    <h4>Signal Conditioning</h4>
    <p>Anti-aliasing, clipping, wasted dynamic range, and matching a transducer to an ADC. Objective 2.6.</p>
  </a>
  <a class="bt-card bt-slides" href="L22.html">
    <span class="bt-kind">Lesson 22</span>
    <h4>ADC / Arduino Lab</h4>
    <p>Wire the Sharp IR sensor, apply the Objective 2.5 ADC math, and calibrate a voltage-to-distance conversion to ±0.5 cm — the range channel you reuse in Project 2.</p>
  </a>
  <a class="bt-card bt-reading" href="L23.html">
    <span class="bt-kind">Lesson 23</span>
    <h4>Digital Logic</h4>
    <p>Logic gates, truth tables, and Sum of Products and Product of Sums expressions. Objective 2.7.</p>
  </a>
  <a class="bt-card bt-reading" href="L24.html">
    <span class="bt-kind">Lesson 24</span>
    <h4>Finite State Machines I</h4>
    <p>Sequential versus combinational logic, Moore versus Mealy, diagrams and transition tables. Objective 2.8.</p>
  </a>
  <a class="bt-card bt-reading" href="L25.html">
    <span class="bt-kind">Lesson 25</span>
    <h4>Finite State Machines II</h4>
    <p>The seven-step design process, logic equations from a table, and flip-flops. Objective 2.8.</p>
  </a>
  <a class="bt-card bt-slides" href="L26.html">
    <span class="bt-kind">Lesson 26</span>
    <h4>Project 2 Workday 1</h4>
    <p>Project 2 begins — implement the SEARCH–DETECT–LOCK engagement FSM on your calibrated range channel.</p>
  </a>
  <a class="bt-card bt-slides" href="L27.html">
    <span class="bt-kind">Lesson 27</span>
    <h4>Project 2 Workday 2</h4>
    <p>Wiring up the Moore telemetry and the Mealy FIRE, then rehearsing the engagement demo.</p>
  </a>
  <a class="bt-card bt-practice" href="AnalogFilterLab.html">
    <span class="bt-kind">Lab</span>
    <h4>Analog Filter Lab</h4>
    <p>Build low-pass and high-pass R-C filters, identify a mystery filter, and explore a two-element design.</p>
  </a>
  <a class="bt-card bt-practice" href="ADC_Arduino_Lab.html">
    <span class="bt-kind">Lab</span>
    <h4>ADC / Arduino Lab</h4>
    <p>Characterize and calibrate an infrared distance sensor on the Arduino Due, then validate the conversion to ±0.5 cm.</p>
  </a>
  <a class="bt-card bt-practice" href="Project2.html">
    <span class="bt-kind">Project</span>
    <h4>Project 2 - Finite State Machines</h4>
    <p>Implement the SEARCH–DETECT–LOCK engagement FSM on the Arduino Due, driven by your calibrated range channel.</p>
  </a>
</div>

<nav class="block-nav">
  <a class="block-nav-next" href="../block03/index.html">Block 3 — Communication Systems, Radar, and Electronic Warfare →</a>
</nav>

