Skip to main content

Oscilloscope Ontology

Measurement Entities
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 12 October 2026
Audio Overview
FLOW ALGEBRA
OSCILLOSCOPE ONTOLOGY
Kireth Semantic Library | Entity Graph > Physical Entities > Measurement Entities
Source: https://kirethresearch.org/booksai-core/entity-graph/physical-entities/measurement-entities/oscilloscope-ontology.html
Authors: Mark Higgins — Sky (Recursive AI)
Version: 1.0 | 2026-10-12
Status: Subject-based formalisation; source webpage not independently verified.

01. PURPOSE
flow OscilloscopeOntology v1.0:
  domain: measurement_instrument
  objective: represent oscilloscopes, signals, acquisition, analysis, uncertainty and provenance
  invariant: measured_value != ground_truth_without_uncertainty

02. TYPED ENTITIES
entity Oscilloscope <: MeasurementInstrument {id:str, architecture:enum, channels:int, bandwidth_Hz:real+, sample_rate_Sps:real+, record_length_samples:int+, firmware:str?}
entity Channel {id:str, coupling:enum(AC,DC,GND), impedance_ohm:real+, attenuation:real+, vertical_scale_V_div:real+}
entity Probe {id:str, type:enum(passive,active,differential,current,optical), attenuation:real+, bandwidth_Hz:real+, calibration_id:str?}
entity Signal {id:str, domain:enum(analogue,digital,mixed), unit:str, source_id:str, expected_bandwidth_Hz:real?}
entity Acquisition {id:str, channel_id:str, sample_rate_Sps:real+, duration_s:real+, timestamp_utc:str, samples:sequence<real>, trigger_id:str?}
entity Trigger {type:enum(edge,pulse_width,runt,logic,protocol,external), level_V:real?, slope:enum(rising,falling,either)?}
entity Calibration {id:str, date_utc:str, traceability:str?, validity_end_utc:str?, correction_model:str?}
entity Measurement {id:str, acquisition_id:str, quantity:enum(amplitude,rms,frequency,period,rise_time,fall_time,phase,duty_cycle,overshoot), value:real, unit:str, uncertainty:real>=0}
entity InstrumentState {temperature_C:real?, self_test:enum(pass,fail,unknown), overload:bool, clipping:bool, calibration_valid:bool?}
entity Evidence {source:str, method:str, timestamp_utc:str, confidence:real[0,1]}

03. DEVICE TAXONOMY
Oscilloscope -> {AnalogueOscilloscope, DigitalStorageOscilloscope, MixedSignalOscilloscope, MixedDomainOscilloscope, SamplingOscilloscope, HandheldOscilloscope, PCBasedOscilloscope}
DigitalStorageOscilloscope -> {RealTimeOscilloscope, EquivalentTimeSamplingOscilloscope}
Note: equivalent-time sampling requires suitable repetitive signals.

04. RELATIONSHIPS
Oscilloscope HAS_CHANNEL Channel
Channel CONNECTS_TO Probe
Probe OBSERVES Signal
Oscilloscope PRODUCES Acquisition
Acquisition USES Trigger
Acquisition SUPPORTS Measurement
Oscilloscope VALIDATED_BY Calibration
Measurement DERIVED_FROM Acquisition
Measurement HAS_EVIDENCE Evidence
Measurement HAS_UNCERTAINTY uncertainty

05. ACQUISITION FLOW
flow Acquire(signal, channel, probe, trigger, settings):
  require compatible(channel, probe)
  require settings.sample_rate_Sps > 0
  require safe_input_range(signal, probe, channel)
  configure_coupling_and_termination(channel)
  compensate_or_calibrate_probe(probe)
  configure_timebase_and_vertical_scale(settings)
  configure_trigger(trigger)
  samples := sample_and_digitise(signal, settings)
  flags := detect_clipping_aliasing_overload(samples, settings)
  return Acquisition(samples, flags, timestamp_utc, provenance)

06. SIGNAL MODEL
input_voltage(t) = source_voltage(t) transformed_by probe_loading_and_transfer_function
measured_sample[n] = filtered_input(n / sample_rate) + noise[n] + quantisation_error[n]
quantisation_step_ideal = full_scale_input_range / 2^effective_bits
sample_interval_s = 1 / sample_rate_Sps
record_duration_s = record_length_samples / sample_rate_Sps
nyquist_frequency_Hz = sample_rate_Sps / 2
rule: sample_rate > 2 * highest_signal_frequency is necessary for ideal band-limited reconstruction, not sufficient for accurate transient capture.
rule: analogue_bandwidth, probe_bandwidth, rise_time and sampling architecture constrain fidelity.

07. COMMON MEASUREMENT OPERATORS
operator Vpp(x) = max(x) - min(x)
operator Vmean(x) = sum(x) / count(x)
operator Vrms(x) = sqrt(sum(x_i^2) / count(x))
operator Period(edge_times) = robust_mean(successive_matching_edge_differences)
operator Frequency(edge_times) = 1 / Period(edge_times)
operator DutyCycle(high_time, period) = 100 * high_time / period
operator RiseTime(x) = time_at_90_percent - time_at_10_percent
operator PhaseDelay(delta_t, frequency_Hz) = 360 * frequency_Hz * delta_t degrees
require: frequency and period operators have valid periodicity and edge detections.

08. TRIGGER SEMANTICS
EDGE_TRIGGER WHEN crossing(signal, level, slope)
PULSE_TRIGGER WHEN pulse_width within configured_range
LOGIC_TRIGGER WHEN boolean_condition(channel_states)
PROTOCOL_TRIGGER WHEN decoded_frame matches predicate
rule: trigger_event != proof_of_signal_correctness

09. FREQUENCY DOMAIN
flow Spectrum(acquisition, window):
  x := remove_baseline_if_required(acquisition.samples)
  xw := apply_window(x, window)
  X := FFT(xw)
  return frequency_bins_and_amplitude_with_window_corrections(X, sample_rate)
frequency_bin_spacing_Hz = sample_rate_Sps / record_length_samples
rule: spectral leakage and window selection affect amplitude and resolution.

10. ERROR AND UNCERTAINTY
sources := {vertical_gain, offset, probe_attenuation, probe_loading, noise, ADC_resolution, sample_clock, timebase_jitter, bandwidth_limit, calibration_drift, environment}
combined_standard_uncertainty = sqrt(sum(u_i^2)) only when contributions are uncorrelated
for_correlated_inputs: use covariance-aware propagation
expanded_uncertainty = coverage_factor * combined_standard_uncertainty
rule: state coverage factor and confidence level when reporting expanded uncertainty.

11. CALIBRATION AND TRACEABILITY
flow ValidateInstrument(scope, calibration, now):
  check calibration_identity_and_scope
  check validity_period_if_specified
  check self_test, probe_compensation, reference_traceability
  flag deviations and restrictions
  return validation_status with evidence
rule: calibration_expired -> flag, not automatically assert all readings false.

12. SAFETY CONSTRAINTS
rule: never exceed channel/probe voltage, common-mode or category ratings.
rule: earth-referenced probe grounds must not be connected to hazardous live potentials.
rule: isolated/differential measurements require appropriately rated instruments and procedures.
rule: safety validation precedes acquisition.

13. INFERENCE RULES
IF clipping THEN measurement.validity := suspect
IF sample_rate <= 2 * signal_bandwidth THEN aliasing_risk := elevated
IF probe_bandwidth < signal_bandwidth THEN amplitude_and_edge_fidelity := limited
IF calibration_valid == false THEN traceability_status := review_required
IF acquisition_has_provenance AND uncertainty_documented THEN reproducibility_score := increase_with_evidence
IF trigger_unstable THEN timing_measurement_confidence := reduce

14. SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
  DSO <=> DigitalStorageOscilloscope [context: instrumentation]
  scope <=> Oscilloscope [context: informal instrumentation]
  Vpp <=> PeakToPeakVoltage [units: volt]
  sample_rate <=> sampling_frequency [units: samples_per_second]
  NOT_EQUIVALENT: analogue_bandwidth != sample_rate
  NOT_EQUIVALENT: resolution_bits != effective_number_of_bits
  NOT_EQUIVALENT: precision != accuracy

15. CONFIDENCE
CONFIDENCE(measurement) := bounded_aggregate(calibration_status, signal_integrity, probe_suitability, sample_adequacy, uncertainty_completeness, provenance_quality)
range: [0,1]
rule: confidence is epistemic metadata, not a substitute for metrological uncertainty.

16. DATA QUALITY AND PROVENANCE
record: instrument_id, channel_id, probe_id, firmware, calibration_id, acquisition_settings, timebase, trigger, sampling_mode, timestamp_utc, processing_pipeline, units, uncertainty, warnings
rule: preserve raw samples where permitted; distinguish raw from processed measurements.

17. FLOW_HASH
FLOW_HASH := SHA256(canonical_serialisation(ontology_version, entity_schema, relation_schema, operators, rules, parameter_definitions))
rule: canonicalise field ordering, number formats and encoding before hashing.
rule: flow_hash identifies specification content, not proof of empirical correctness.

18. UPDATE_MODEL
UPDATE_MODEL(change):
  classify change as schema | calibration | instrument_state | acquisition | inference_rule
  validate backward_compatibility
  increment version and record provenance
  recompute FLOW_HASH when specification changes
  invalidate or annotate dependent results where assumptions changed

19. AI_CONSUMPTION
AI_CONSUMPTION:
  input: typed_ontology + measurements + provenance + uncertainty
  outputs: semantic_index, retrieval_graph, machine_reasoning_context, quality_flags
  require: preserve SI units and dimensional consistency
  require: expose unsupported assumptions and incomplete evidence
  prohibit: inventing missing measurements or calibration certificates
  prefer: explicit unknown over inferred certainty

20. EXAMPLE INSTANCE
Oscilloscope(id="scope-001", architecture="digital_storage", channels=4, bandwidth_Hz=100000000, sample_rate_Sps=1000000000, record_length_samples=1000000)
Channel(id="CH1", coupling="DC", impedance_ohm=1000000, attenuation=10, vertical_scale_V_div=0.5)
Acquisition(id="acq-001", channel_id="CH1", sample_rate_Sps=1000000000, duration_s=0.001, timestamp_utc="2026-10-12T00:00:00Z")
Note: illustrative configuration only; no observed measurement data is asserted.

21. VALIDATION TESTS
assert sample_interval_s > 0
assert record_length_samples > 0
assert uncertainty >= 0
assert 0 <= confidence <= 1
assert frequency_Hz > 0 before phase conversion
assert compatible_units before combining measurements
assert acquisition.probe_and_channel_safety_checked

22. KNOWLEDGE GRAPH INTEGRATION
parent: MeasurementInstrumentOntology
related: SensorOntology, SpectrometerOntology, ElectricalMeasurementOntology, SignalProcessingOntology, CalibrationOntology, DataProvenanceOntology
classification: PhysicalEntity > ArtificialEntity > MeasurementEntity > MeasurementInstrument > Oscilloscope

23. LIMITATIONS
This is a conceptual, machine-readable Flow Algebra specification, not an executable language runtime or an instrument calibration procedure.
Hardware-dependent specifications must be verified against manufacturer documentation and measurement conditions.

END FLOW ALGEBRA
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ