Skip to content

Digital Signal Processing

Course Overview

  • Institution: University of California, Berkeley
  • Course code: EE 123
  • Track: Digital Signal Processing
  • Tier: A
  • Role: Alternative
  • Level: Not standardized by provider (use prerequisites)
  • Last reviewed: 2026-07-28

University of California, Berkeley's Digital Signal Processing develops applied DSP through SDR and amateur-radio labs plus code, with hardware, frequency law, licensing, and tool versions requiring local review.

Why choose this course

Alternative course. A reliable option that can serve as a main course or strong alternative. Review note: A content / B tooling

Before you start

  • Recommended foundation: Signals and Systems
  • Recommended foundation: Probability, Statistics, and Random Processes
  • Recommended foundation: Programming and Engineering Computing

Verifiable learning outcomes

  • Explain the core models in Digital Signal Processing, including their assumptions and limits
  • Solve representative derivations and problems, checking units, limiting cases, or numerical results
  • Complete a reproducible experiment or implementation with raw data, parameters, versions, and verification

Workload and pacing

10 weeks at 8 hours/week. This maintainer planning estimate is derived from course role and the density of public practice and labs; it is not a provider workload promise. Pilot two weeks while logging instruction, practice, lab, and review time, then adjust the remaining plan when actual effort differs by more than 25%.

Safety level

Low energy. Keep work isolated, current-limited, and low energy; verify ratings, grounding, short-circuit risk, and emergency shutdown before power-up.

Course Resources

Software, hardware, and cost

Software

  • Maintainer-suggested open-source/free verification path: Python 3, Jupyter, NumPy, SciPy, Matplotlib, and GNU Octave
  • The resource inventory lists public code coverage; pin interpreter, dependencies, toolchain, datasets, and PDK versions where applicable

Hardware

  • The resource inventory lists lab coverage; prefer borrowing or sharing the following equipment: a course-specified audio interface, DSP/microcontroller board, or software-defined radio; validate with recorded data first. Verify ratings, authorization, and safety conditions only after the provider lab manual explicitly calls for them

Cost note

The suggested software stack is available open source or free; this is not a provider requirement or bill of materials. The actual boards, components, fabrication, and instruments—and their costs—depend on the provider lab manual, region, and local availability; prefer simulation, borrowing, or sharing before purchase.

Public resource coverage

Resource type Completeness
Video No public material
Notes Complete
Practice Partial
Labs Complete
Exams Partial
Code Complete

Resources and access

Resource Access License Status Verified
Course home Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Miki_Lustig_hw01_sol.tex Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Jupyter Notebook and Data Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Python Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Open Spreadsheet, Week schedule in new window Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Project Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28
Videos Open access Provider-specific terms; verify before reuse Listed by official page 2026-07-28

“Listed by official page” means the link was discovered on a successfully fetched official source on the verification date; it does not guarantee that every region or account can open the target directly. Access does not grant redistribution rights. Re-check the provider page, target link, and third-party notices before downloading, adapting, or publishing material.

Practice and Verification

Practice loop

Digital Signal Processing · University of California, Berkeley EE 123: Filter Implementation and Fixed-Point Error Benchmark

This is a maintainer-suggested self-study project for Digital Signal Processing · University of California, Berkeley EE 123, not an official course assignment. Design and implement a digital filtering or spectral-estimation pipeline for Digital Signal Processing, comparing floating-point, fixed-point, and reference-library amplitude, phase, noise, and execution cost.

Origin: Maintainer-suggested project

Deliverables

  • Measurable specifications for sample rate, pass and stop bands, latency, width, and overflow policy
  • Floating reference, from-scratch implementation, fixed-point implementation, and automated tests
  • Raw outputs, frequency responses, errors, and runtimes for impulse, sweep, and noise inputs
  • A report comparing specifications, quantization noise, overflow, and boundary effects

Verification

  • Keep floating-point normalized RMSE against the reference library below 1e-8
  • Meet predeclared fixed-point passband ripple and stopband attenuation with no undetected overflow
  • Cover DC, Nyquist, full scale, all-zero, and shortest-record boundaries
  • Reduce word length stepwise and report the first specification failure and SNR or runtime curve

Reproducibility

  • Commit design, implementation, test, signal-generation, and plotting sources
  • Pin dependencies, widths, rounding and saturation modes, sample rate, and random seeds
  • Preserve raw waveforms, coefficients, performance logs, and the generated report

Safety boundary: Simulation only — Process synthetic or public signals only; do not use the exercise filter for medical monitoring, protection relays, flight control, or other safety-critical decisions.

Risks, gaps, and boundaries

The 2019 SDR and amateur-radio laboratories require hardware, local frequency-law awareness, license checks, and tool-version updates.

Completion evidence

  • Weekly learning log with time, questions, corrected errors, decisions, next steps, and links to that week's reproducible artifacts
  • Simulation package with model or netlist, inputs, solver and version, parameter-sweep script, benchmark comparison, expected results, and one rerun command
  • Code repository with pinned dependencies and toolchain, a minimal run command, tests or waveform/benchmark checks, expected output, and license notes
  • Experiment package with schematic/setup, calibration record, raw data, uncertainty, safety checks, failed runs, and steps to rebuild plots from raw data