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