# tahmid-mahmud-fahim/pcb-amplitude-modulator architecture

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

- Interactive diagram: https://gitdiagram.com/tahmid-mahmud-fahim/pcb-amplitude-modulator
- Repository: https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator

## Overview

1. **Repository type**
   - This is an **Altium Designer PCB project** for an **analog AM (amplitude modulation) circuit**. It is not a software application; the source of truth is the schematic and PCB layout files.

2. **Top-level structure**
   - `Problem_2.PrjPcb` is the **project container** that links the design artifacts.
   - `Problem_2.SchDoc` is the **electrical schematic**.
   - `Problem_2.PcbDoc` is the **physical PCB layout**.
   - `README.md` documents the intended circuit and shows schematic/board renderings.

3. **Functional architecture**
   - The design is split into two main analog subsystems:
     - an **AM generator** stage
     - an **amplifier** stage
   - The README states these are implemented with **two inverting op-amp amplifiers**, so the circuit is centered on analog signal conditioning rather than digital control.

4. **Signal flow**
   - The **message signal `Vm`** and **carrier signal `Vc`** are provided externally from a **signal generator**.
   - These inputs feed the AM generator portion of the circuit.
   - The resulting modulated signal is then passed through the amplifier stage.
   - The final **AM output** is intended to be observed on an **oscilloscope**.

5. **Schematic boundary**
   - `SchDoc` defines the **logical connectivity**: component symbols, nets, and the relationships between the op-amp stages and I/O.
   - This is where the modulator’s functional behavior is captured independently of board placement.

6. **PCB boundary**
   - `PcbDoc` defines the **physical realization**: component placement, trace routing, board outline, and copper layers.
   - The repo includes both a 2D board view and a 3D view, indicating the layout is meant to be inspected as a manufacturable board, not just a conceptual schematic.

7. **External interfaces**
   - The circuit is designed to connect to **lab instrumentation**, not embedded firmware:
     - input: signal generator for `Vm` and `Vc`
     - output: oscilloscope for the AM waveform
   - Any power input is not described in the README, but the op-amp-based architecture implies a required analog supply boundary.

8. **Design intent**
   - The repository’s goal is to demonstrate the **practical implementation of AM modulation** in hardware.
   - The key architectural concern is preserving the analog signal path from input generation through modulation and amplification to the output test point.

9. **Project-level dependency chain**
   - The project file ties the schematic and PCB together, meaning the normal flow is:
     - define circuit in `SchDoc`
     - transfer/netlist into `PcbDoc`
     - validate by comparing physical layout against the schematic
   - There are no source-code modules, build scripts, or runtime services beyond the EDA project itself.

10. **What to diagram**
   - A correct architecture diagram would show:
     - external signal sources (`Vm`, `Vc`)
     - AM generator block
     - amplifier block
     - AM output to measurement equipment
     - schematic-to-PCB design artifact boundary
   - The repository is fundamentally a **single-board analog signal-processing design** with documentation and layout artifacts.

Main entry points: [`Problem_2.SchDoc`](https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.SchDoc) (Schematic), [`Problem_2.PcbDoc`](https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.PcbDoc) (PCB layout), [`Problem_2.PrjPcb`](https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.PrjPcb) (Project), [`README.md`](https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/README.md) (README)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_g_artifacts["EDA artifacts"]
  node_n_project["Project<br/>[Problem_2.PrjPcb]"]
  node_n_schematic["Schematic<br/>logical circuit<br/>[Problem_2.SchDoc]"]
  node_n_pcb["PCB layout<br/>board layout<br/>[Problem_2.PcbDoc]"]
  node_n_readme["README<br/>documentation<br/>[README.md]"]
end

subgraph group_g_signal["Analog signal path"]
  node_n_am["AM generator<br/>analog stage"]
  node_n_amp["Amplifier<br/>analog stage"]
end

subgraph group_g_lab["Lab I/O"]
  node_n_vm(("Vm input<br/>message signal"))
  node_n_vc(("Vc input<br/>carrier signal"))
  node_n_out(("AM output<br/>test output"))
end

node_n_project -->|"defines"| node_n_schematic
node_n_project -->|"defines"| node_n_pcb
node_n_readme -.->|"describes"| node_n_schematic
node_n_readme -.->|"shows"| node_n_pcb
node_n_vm -->|"feeds"| node_n_am
node_n_vc -->|"feeds"| node_n_am
node_n_am -->|"passes to"| node_n_amp
node_n_amp -->|"drives"| node_n_out
node_n_schematic -.->|"transfers to"| node_n_pcb

click node_n_project "https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.PrjPcb"
click node_n_schematic "https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.SchDoc"
click node_n_pcb "https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.PcbDoc"
click node_n_readme "https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/README.md"

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_n_project,node_n_schematic,node_n_pcb,node_n_readme toneBlue
class node_n_am,node_n_amp toneAmber
class node_n_vm,node_n_vc,node_n_out toneMint
```

## Components

### EDA artifacts

Project, schematic, PCB, and documentation files

- [Project](https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.PrjPcb): Altium project · Links the schematic and PCB design artifacts · `Problem_2.PrjPcb`
- [Schematic](https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.SchDoc): logical circuit · Defines component symbols, nets, and AM stage connectivity · `Problem_2.SchDoc`
- [PCB layout](https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/Problem_2.PcbDoc): board layout · Physical placement, routing, and board realization · `Problem_2.PcbDoc`
- [README](https://github.com/tahmid-mahmud-fahim/pcb-amplitude-modulator/blob/main/README.md): documentation · Describes the intended AM circuit and shows renders · `README.md`

### Analog signal path

Functional AM generation and amplification blocks

- **AM generator**: analog stage · First inverting op-amp stage that produces the modulated signal
- **Amplifier**: analog stage · Second inverting op-amp stage that boosts or conditions the AM waveform

### Lab I/O

External signal sources and measurement equipment

- **Vm input**: message signal · External message input from a signal generator
- **Vc input**: carrier signal · External carrier input from a signal generator
- **AM output**: test output · Final modulated signal observed on an oscilloscope

## Connections

- Project → Schematic: defines · Project references the schematic as the logical source
- Project → PCB layout: defines · Project references the PCB as the physical board
- README → Schematic: describes · Documentation explains the intended circuit behavior
- README → PCB layout: shows · Documentation includes schematic and board renderings
- Vm input → AM generator: feeds · Message signal enters the modulator stage
- Vc input → AM generator: feeds · Carrier signal enters the modulator stage
- AM generator → Amplifier: passes to · Modulated signal is sent to the amplifier stage
- Amplifier → AM output: drives · Final AM waveform is routed to the measurement output
- Schematic → PCB layout: transfers to · Logical design is realized as board layout
