# anamol7khadka/radar architecture

> Architecture diagram of the GitHub repository anamol7khadka/radar, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/anamol7khadka/radar
- Repository: https://github.com/anamol7khadka/radar

## Overview

This MATLAB/Simulink proof of concept simulates a 77 GHz FMCW radar detecting a virtual human and estimating range, angle, and breathing rate. The documented workflow starts with setup, configures radar and target inputs, generates an echo, models the analog front end and ADC, simulates STM32 processing, then extracts detections and displays results. The graph follows README-described behavior; source excerpts were unavailable, so implementation-level call wiring is not asserted.

Main entry points: [`setup_radar_poc.m`](https://github.com/anamol7khadka/radar/blob/main/setup_radar_poc.m) (Run setup), [`radar_signal_processing.m`](https://github.com/anamol7khadka/radar/blob/main/radar_signal_processing.m) (Radar processing), [`generate_fmcw_echo.m`](https://github.com/anamol7khadka/radar/blob/main/generate_fmcw_echo.m) (FMCW echo), [`build_simulink_model.m`](https://github.com/anamol7khadka/radar/blob/main/build_simulink_model.m) (Analog front end)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_configuration["Radar setup"]
  node_setup["Run setup<br/>[setup_radar_poc.m]"]
  node_params["Radar parameters<br/>[radar_parameters.m]"]
  node_target["Target scene"]
end

subgraph group_signal_chain["Signal chain"]
  node_echo["FMCW echo"]
  node_afe["Analog front end"]
  node_adc["ADC quantizer<br/>[adc_quantize.m]"]
end

subgraph group_processing["Embedded processing"]
  node_mcu["STM32 FFT"]
  node_signal_processing["Radar processing"]
end

subgraph group_results["Detection and display"]
  node_plots["Static plots"]
  node_live["Live display"]
end

node_user(("MATLAB user"))

node_user -->|"runs"| node_setup
node_setup -->|"loads settings"| node_params
node_setup -->|"sets scene"| node_target
node_setup -->|"generates echo"| node_echo
node_setup -->|"builds model"| node_afe
node_setup -->|"processes signal"| node_signal_processing
node_params -->|"configures"| node_echo
node_target -->|"defines target"| node_echo
node_echo -->|"feeds signal"| node_afe
node_afe -->|"filters and amplifies"| node_adc
node_adc -->|"provides samples"| node_mcu
node_mcu -->|"passes FFT data"| node_signal_processing
node_setup -->|"plots results"| node_plots
node_setup -->|"runs display"| node_live
node_signal_processing -->|"provides detections"| node_plots
node_signal_processing -->|"provides detections"| node_live

click node_setup "https://github.com/anamol7khadka/radar/blob/main/setup_radar_poc.m"
click node_params "https://github.com/anamol7khadka/radar/blob/main/radar_parameters.m"
click node_target "https://github.com/anamol7khadka/radar/blob/main/radar_target_scene.m"
click node_echo "https://github.com/anamol7khadka/radar/blob/main/generate_fmcw_echo.m"
click node_afe "https://github.com/anamol7khadka/radar/blob/main/build_simulink_model.m"
click node_adc "https://github.com/anamol7khadka/radar/blob/main/adc_quantize.m"
click node_mcu "https://github.com/anamol7khadka/radar/blob/main/stm32_fixed_point_fft.m"
click node_signal_processing "https://github.com/anamol7khadka/radar/blob/main/radar_signal_processing.m"
click node_plots "https://github.com/anamol7khadka/radar/blob/main/plot_instrumentation_results.m"
click node_live "https://github.com/anamol7khadka/radar/blob/main/radar_live_display.m"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_setup,node_params,node_target,node_user toneBlue
class node_echo,node_afe,node_adc toneAmber
class node_mcu,node_signal_processing toneMint
class node_plots,node_live toneRose
```

## Components

### Radar setup

- [Run setup](https://github.com/anamol7khadka/radar/blob/main/setup_radar_poc.m): `setup_radar_poc.m`
- [Radar parameters](https://github.com/anamol7khadka/radar/blob/main/radar_parameters.m): `radar_parameters.m`
- [Target scene](https://github.com/anamol7khadka/radar/blob/main/radar_target_scene.m): `radar_target_scene.m`

### Signal chain

- [FMCW echo](https://github.com/anamol7khadka/radar/blob/main/generate_fmcw_echo.m): `generate_fmcw_echo.m`
- [Analog front end](https://github.com/anamol7khadka/radar/blob/main/build_simulink_model.m): `build_simulink_model.m`
- [ADC quantizer](https://github.com/anamol7khadka/radar/blob/main/adc_quantize.m): `adc_quantize.m`

### Embedded processing

- [STM32 FFT](https://github.com/anamol7khadka/radar/blob/main/stm32_fixed_point_fft.m): `stm32_fixed_point_fft.m`
- [Radar processing](https://github.com/anamol7khadka/radar/blob/main/radar_signal_processing.m): `radar_signal_processing.m`

### Detection and display

- [Static plots](https://github.com/anamol7khadka/radar/blob/main/plot_instrumentation_results.m): `plot_instrumentation_results.m`
- [Live display](https://github.com/anamol7khadka/radar/blob/main/radar_live_display.m): `radar_live_display.m`

### Other components

- **MATLAB user**

## Connections

- MATLAB user → Run setup: runs
- Run setup → Radar parameters: loads settings
- Run setup → Target scene: sets scene
- Run setup → FMCW echo: generates echo
- Run setup → Analog front end: builds model
- Run setup → Radar processing: processes signal
- Radar parameters → FMCW echo: configures
- Target scene → FMCW echo: defines target
- FMCW echo → Analog front end: feeds signal
- Analog front end → ADC quantizer: filters and amplifies
- ADC quantizer → STM32 FFT: provides samples
- STM32 FFT → Radar processing: passes FFT data
- Run setup → Static plots: plots results
- Run setup → Live display: runs display
- Radar processing → Static plots: provides detections
- Radar processing → Live display: provides detections
