Skip to main content
Glama

noise_floor

Compute thermal noise power, cascade amplifier noise figures, and determine receiver sensitivity to validate RF designs against physical limits.

Instructions

Calculate thermal noise power (kTB), cascaded noise figure, and receiver sensitivity.

Computes the fundamental thermal noise floor N = k_B * T * B, which is -174 dBm/Hz at the IEEE standard temperature of 290K. Optionally cascades multiple amplifier/filter stages using the Friis noise figure formula F_total = F_1 + (F_2-1)/G_1 + (F_3-1)/(G_1G_2) + ..., the receiver's effective input noise temperature T_e = T_0(F-1) with T_0 = 290 K (the IEEE reference at which noise figure is defined, independent of temperature_k), and receiver sensitivity S_min = k_B*(T_A + T_e)BSNR_required, which reduces to N_floor + NF + SNR_required when temperature_k = 290 K.

Use this tool when you need to:

  • Determine the thermal noise floor for a receiver bandwidth

  • Cascade noise figures through a multi-stage receiver chain

  • Calculate minimum detectable signal / receiver sensitivity

  • Validate that a claimed noise figure is physically plausible

Returns a PhysicalViolationError dict if inputs violate thermodynamic limits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stagesNoOptional list of stages, each with 'gain_db' and 'noise_figure_db' keys
bandwidth_hzYesReceiver bandwidth in Hz (must be > 0)
temperature_kNoSource/antenna noise temperature T_A in Kelvin used for the kTB floor (default: 290K, must be >= 0)
required_snr_dbNoRequired SNR in dB for sensitivity calculation

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.2.1
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / bandwidth_hz / description
      Added value: +"Receiver bandwidth in Hz (must be > 0)"
    • addedInput schema / properties / required_snr_db / description
      Added value: +"Required SNR in dB for sensitivity calculation"
    • addedInput schema / properties / stages / description
      Added value: +"Optional list of stages, each with 'gain_db' and 'noise_figure_db' keys"
    • addedInput schema / properties / temperature_k / description
      Added value: +"Source/antenna noise temperature T_A in Kelvin used for the\nkTB floor (default: 290K, must be >= 0)"
  2. First observedv0.2.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and delivers: it reveals the exact formulas, the crucial semantic that T_0 = 290 K is the noise-figure reference independent of temperature_k, and that a PhysicalViolationError dict is returned on thermodynamic violations. These are exactly the behavioral subtleties an agent could not infer from the schema alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded single-sentence summary followed by formulas, a bulleted use-case list, and an error-behavior note. Slightly verbose — T_0 = 290 K is introduced twice and the formula block is dense — but each section earns its place and the structure aids scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter, three-computation tool with subtle reference-temperature semantics, zero annotations, and a loose stage-object schema, the description covers the physics, parameter roles, routing criteria, and error behavior. An output schema exists so return-value format needn't be repeated; nothing an agent needs to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description exceeds it by tying each parameter into its formula: bandwidth_hz is B in k_B*T*B, required_snr_db appears in the S_min expression, and the Friis formula defines how stages' gain_db and noise_figure_db are consumed. Most valuably, it clarifies that temperature_k is the source temperature T_A, not the noise-figure reference temperature.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

First sentence names a specific verb (Calculate) and three concrete outputs: thermal noise power (kTB), cascaded noise figure, and receiver sensitivity. The subject matter — thermal noise, Friis cascading, sensitivity — is clearly distinct from siblings like rf_link_budget, shannon_hartley, and radar_range, so an agent can route correctly by topic alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Includes an explicit 'Use this tool when you need to' bulleted list with four concrete use cases, including a diagnostic one (validate that a claimed noise figure is physically plausible). It does not name sibling alternatives or give when-not-to-use conditions, so it stops short of the top bar but is well above vague context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.