create_rf_block_diagram
Generate an RF signal chain block diagram from a JSON description with auto-layout, signal flow arrows, and color-coded shapes. Supports cumulative gain and noise figure annotations using the Friis formula.
Instructions
Generates an RF signal chain block diagram from a JSON description and opens it in draw.io. Provide an array of blocks with type, label, and optional RF parameters. The tool auto-layouts blocks left-to-right with signal flow arrows and color-coded shapes. Injection sources (e.g. LO for a mixer) are placed below their target block with dashed arrows. Supports cumulative gain and noise figure annotations using the Friis formula.
Supported block types: Amplifiers: lna, pa, amplifier, driver Filters: bpf, lpf, hpf, notch Mixer: mixer Attenuators: attenuator, dsa Converters: adc, dac Oscillators: vco, oscillator, pll Antenna: antenna Passive: coupler, splitter, combiner, circulator, isolator, balun, duplexer, diplexer Switches: switch, spdt, sp4t Other: detector, custom
Each block object in the chain array accepts: type (required): one of the types above label: display name (defaults to standard abbreviation) sublabel: smaller text below the label (e.g. frequency) gain_db: gain in dB (defaults from component database) nf_db: noise figure in dB (defaults from component database) inject_to: label of the main chain block this injects into (for LO sources, etc.)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Array of block objects describing the signal chain in order. Blocks without inject_to form the main chain (left to right). Blocks with inject_to are injection sources placed below their target. | |
| title | No | Diagram title displayed at the top | |
| show_cumulative | No | Show cumulative gain and noise figure annotations below each main chain block (Friis formula). Default: false | |
| signal_flow_arrows | No | Draw signal flow arrows between adjacent main chain blocks. Default: true | |
| auto_open | No | Automatically open the diagram in draw.io. Set to false to return XML only. Default: true |