completeVirtual Instruments & DSP

MATLAB Engineering Suite: Telemetry Apps, DSP Filters & Simulink

Interactive App Designer telemetry instruments, PIC16F84A opcode explorer, Bilinear Transform filter synthesis, Simulink audio pipeline, and HDL export.

  • MATLAB
  • Simulink
  • App Designer
  • DSP
  • HDL Coder
  • Audio
MATLAB Engineering Suite: Telemetry Apps, DSP Filters & Simulink

Project Overview

A consolidated collection of engineering instruments, digital signal processing (DSP) pipelines, and simulation tools built in MATLAB & Simulink across advanced engineering coursework at the University of Brighton (First Class 84% Virtual Instrumentation & Upper Second Class 68% DSP).

The repository bridges graphical desktop application design in MATLAB App Designer, low-level microprocessor architecture simulation, continuous-to-discrete filter synthesis via the Bilinear Transformation, and automated synthesiseable HDL IP core generation.


Flagship App 1: Multi-Channel Telemetry Dashboard

Developed for real-time monitoring of embedded sensors over serial COM interfaces. Features live strip-chart plotting, dynamic gain scaling, calibration offsets, and audible out-of-bounds safety alarms.


Flagship App 2: PIC16F84A Instruction Explorer

An interactive CPU architectural emulator designed for embedded systems pedagogy. Visualises how machine opcodes are decoded and trace register state modifications cycle-by-cycle:


Digital Signal Processing (DSP) Filter Design

The suite includes mathematically rigorous digital filter synthesis using both IIR (Infinite Impulse Response) and FIR (Finite Impulse Response) methodologies:

Filter Type Order Design Method Passband Ripple Stopband Attenuation Phase Response
Butterworth IIR 11th Order Bilinear Transform with Frequency Pre-warping Flat (0 dB) -66 dB / decade roll-off Non-linear
Hamming Window FIR 324th Order Sinc truncation with Hamming window tapering ±0.05 dB -53 dB Perfectly Linear

Frequency Response & Spectrum Analysis

Comparing the attenuation characteristics and stopband rejection between the 11th-order Butterworth IIR filter and 324th-order Hamming FIR filter:

324th-Order Hamming FIR vs 11th-Order Butterworth IIR Spectrum Analysis Figure 1: Spectrum analyser comparison between the synthesised 324th-order Hamming FIR filter and 11th-order Butterworth IIR filter under white noise and audio stimulus.

Bode & Phase Angle Characterisation

Filter Bode Response and Phase Angle Plots Figure 2: Magnitude and phase Bode plots showing pole/zero placement, cutoff transition steepness, and phase linearity across the audible frequency band.


Bilinear Transformation MATLAB Implementation

Below is the core MATLAB algorithm applying frequency pre-warping to translate continuous analogue $s$-domain transfer functions into discrete $z$-domain filter coefficients:

MATLAB Bilinear Transformation Filter Synthesis Card Figure 3: Carbon-style syntax-highlighted MATLAB script computing pre-warped cutoff frequencies and synthesising normalised filter polynomials.


Repository Structure & Modules

  • app_designer/: Contains .mlapp standalone binary and source definitions for the Telemetry Dashboard and PIC16F84A CPU Explorer.
  • dsp_filter_design/: Filter synthesis scripts (Butterworth.m, Hamming.m) and spectrum analysis plotting functions.
  • simulink/: Final_Model_2025A.slx audio crossover simulation harness with dynamic interference injection.
  • hdl_export/: Automated script invoking MATLAB HDL Coder to generate synthesiseable VHDL/Verilog RTL cores from discrete filter objects.

Source Code & Academic Attribution

  • GitHub Repository: HarryRogers073/matlab-projects
  • Author: Harry Rogers (University of Brighton)
  • Environment: MATLAB R2022b–R2024b, Simulink, DSP System Toolbox, HDL Coder
  • Attribution & Provenance:
    • Custom Apps & Scripts: The multi-channel sensor GUI (HarryRogers_22835293_EO631_GUI_APP.mlapp), PIC16F84A Instruction Explorer (PIC16F84A_Instruction_Explorer.mlapp), and DSP spectral comparison scripts (Combined.m, New_Combined.m, partg.m, Part_h.m) were designed and authored by Harry Rogers.
    • Toolbox Generated Filter Objects: Filter transfer function definitions (Butterworth.m, Hamming.m) and coefficient files (.fcf) were exported using MATLAB Signal Processing and DSP System Toolboxes. MATLAB and Simulink are registered trademarks of The MathWorks, Inc.