cleanup
This commit is contained in:
180
draft/Features_old/[DQC] Data Quality & Calibration Features.md
Normal file
180
draft/Features_old/[DQC] Data Quality & Calibration Features.md
Normal file
@@ -0,0 +1,180 @@
|
||||
<macro class="toc op-uc-placeholder op-uc-toc">
|
||||
</macro>
|
||||
|
||||
# Feature Engineering Specification
|
||||
|
||||
## Data Quality & Calibration Features
|
||||
|
||||
**Feature Group ID:** FG-DQC
|
||||
**Scope:** Sensor Hub (Sub-Hub only)
|
||||
**Target Platform:** ESP32-S3–based Sensor Hub
|
||||
**Applies To:** Indoor poultry farm sensor hubs
|
||||
**Dependencies:** Sensor Data Acquisition Features (FG-DAQ), Diagnostics Features (FG-DIAG), Persistence / DP Stack
|
||||
|
||||
## 1\. Purpose and Objectives
|
||||
|
||||
The **Data Quality & Calibration Features** ensure that all sensor data generated by the Sensor Hub is **valid, trustworthy, correctly classified, and calibrated** throughout the system lifecycle. These features provide mechanisms for:
|
||||
|
||||
* Automatic identification of connected sensors
|
||||
|
||||
* Enforcing correct sensor–slot compatibility
|
||||
|
||||
* Early detection and isolation of faulty sensors
|
||||
|
||||
* Centralized management of machine constants and calibration parameters
|
||||
|
||||
|
||||
The goal is to maintain **high data integrity**, reduce commissioning errors, support **remote reconfiguration**, and ensure safe operation during updates or failures.
|
||||
|
||||
<br>
|
||||
|
||||
<macro class="embedded-table op-uc-placeholder op-uc-embedded-table" data-query-props="{"columns[]":["id","subject","type","status","assignee","priority"],"showSums":false,"timelineVisible":false,"highlightingMode":"none","includeSubprojects":true,"showHierarchies":true,"groupBy":"","filters":"[{\"search\":{\"operator\":\"**\",\"values\":[\"DQC\"]}}]","sortBy":"[[\"id\",\"asc\"]]","timestamps":"PT0S"}">
|
||||
</macro>
|
||||
|
||||
## 2\. Feature Overview and Relationships
|
||||
|
||||
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Feature ID</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Feature Name</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Primary Objective</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Related Features</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-01</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Automatic Sensor Detection</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Detect connected sensors dynamically</p></td><td class="op-uc-table--cell"><p class="op-uc-p">F-DAQ-01, F-DIAG-01</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-02</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Sensor Type Enforcement</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Prevent incorrect sensor-slot usage</p></td><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-01</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-03</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Sensor Failure Detection</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Identify and isolate faulty sensors</p></td><td class="op-uc-table--cell"><p class="op-uc-p">F-DIAG-02</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-04</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Machine Constants & Calibration Management</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Manage static configuration and calibration</p></td><td class="op-uc-table--cell"><p class="op-uc-p">OTA, Persistence, Teardown</p></td></tr></tbody></table></figure>
|
||||
|
||||
## 3\. Functional Feature Descriptions
|
||||
|
||||
### 3.1 F-DQC-01: Automatic Sensor Detection
|
||||
|
||||
**Description**
|
||||
The Sensor Hub shall automatically detect which sensors are physically connected at runtime. Each sensor slot provides a dedicated detection mechanism (e.g., GPIO presence pin or ID signal) that allows the system to determine whether a sensor is installed.
|
||||
|
||||
Detected sensors are dynamically initialized and incorporated into the data acquisition workflow without requiring firmware changes.
|
||||
|
||||
**Key Capabilities**
|
||||
|
||||
* Hardware-based presence detection
|
||||
|
||||
* Runtime sensor enumeration
|
||||
|
||||
* Dynamic initialization during boot or reconfiguration
|
||||
|
||||
* Integration with diagnostics and data acquisition
|
||||
|
||||
|
||||
### 3.2 F-DQC-02: Sensor Type Enforcement
|
||||
|
||||
**Description**
|
||||
Each physical sensor slot on the Sensor Hub is dedicated to a specific sensor type. The system enforces sensor-slot compatibility to prevent incorrect sensor insertion (e.g., humidity sensor in temperature slot).
|
||||
|
||||
This enforcement is achieved via electrical identification, pin mapping, or firmware configuration defined in Machine Constants.
|
||||
|
||||
**Key Capabilities**
|
||||
|
||||
* Fixed sensor-to-slot mapping
|
||||
|
||||
* Sensor identity verification
|
||||
|
||||
* Rejection of invalid sensor configurations
|
||||
|
||||
* Diagnostic reporting of configuration violations
|
||||
|
||||
|
||||
### 3.3 F-DQC-03: Sensor Failure Detection
|
||||
|
||||
**Description**
|
||||
The Sensor Hub continuously monitors sensor behavior to detect failures such as disconnection, out-of-range values, non-responsive sensors, or abnormal signal patterns.
|
||||
|
||||
Detected sensor failures are classified, logged, timestamped, and reported to the Main Hub. Failed sensors are excluded from control and analytics workflows to prevent propagation of invalid data.
|
||||
|
||||
**Key Capabilities**
|
||||
|
||||
* Runtime health monitoring
|
||||
|
||||
* Failure classification
|
||||
|
||||
* Fault isolation
|
||||
|
||||
* Diagnostic event generation
|
||||
|
||||
|
||||
### 3.4 F-DQC-04: Machine Constants & Calibration Management
|
||||
|
||||
**Description**
|
||||
The system maintains a **Machine Constants (MC)** dataset that defines static and semi-static configuration parameters for the Sensor Hub, including:
|
||||
|
||||
* Installed sensor types and slots
|
||||
|
||||
* Communication identifiers and addressing
|
||||
|
||||
* Calibration coefficients and offsets
|
||||
|
||||
* Sensor-specific limits and scaling
|
||||
|
||||
|
||||
Machine Constants are persisted in non-volatile storage (SD card) and loaded during system initialization. Updates may be received from the Main Hub and applied via a controlled teardown and reinitialization process.
|
||||
|
||||
**Key Capabilities**
|
||||
|
||||
* Persistent configuration storage
|
||||
|
||||
* Runtime loading and validation
|
||||
|
||||
* Remote update support
|
||||
|
||||
* Controlled reinitialization sequence
|
||||
|
||||
|
||||
## 4\. System Requirements (Formal SHALL Statements)
|
||||
|
||||
### 4.1 Automatic Sensor Detection
|
||||
|
||||
**SR-DQC-001**
|
||||
The system shall detect the presence of each sensor using a dedicated hardware detection mechanism.
|
||||
|
||||
**SR-DQC-002**
|
||||
The system shall perform sensor presence detection during system startup and after any reinitialization event.
|
||||
|
||||
**SR-DQC-003**
|
||||
The system shall initialize only those sensors that are detected as present.
|
||||
|
||||
### 4.2 Sensor Type Enforcement
|
||||
|
||||
**SR-DQC-004**
|
||||
The system shall assign each sensor slot to a predefined sensor type.
|
||||
|
||||
**SR-DQC-005**
|
||||
The system shall verify that the detected sensor matches the expected sensor type for the slot.
|
||||
|
||||
**SR-DQC-006**
|
||||
The system shall reject and report any sensor-slot mismatch as a diagnostic event.
|
||||
|
||||
### 4.3 Sensor Failure Detection
|
||||
|
||||
**SR-DQC-007**
|
||||
The system shall continuously monitor sensor responsiveness and signal validity during operation.
|
||||
|
||||
**SR-DQC-008**
|
||||
The system shall detect sensor failures including disconnection, non-responsiveness, and invalid measurement ranges.
|
||||
|
||||
**SR-DQC-009**
|
||||
The system shall mark a failed sensor as defective and exclude it from data reporting.
|
||||
|
||||
**SR-DQC-010**
|
||||
The system shall report detected sensor failures to the Main Hub with timestamps and failure classification.
|
||||
|
||||
### 4.4 Machine Constants & Calibration Management
|
||||
|
||||
**SR-DQC-011**
|
||||
The system shall maintain a Machine Constants dataset defining sensor configuration, calibration parameters, and communication identifiers.
|
||||
|
||||
**SR-DQC-012**
|
||||
The system shall persist the Machine Constants dataset in non-volatile storage.
|
||||
|
||||
**SR-DQC-013**
|
||||
The system shall load and apply Machine Constants during system initialization.
|
||||
|
||||
**SR-DQC-014**
|
||||
The system shall support remote updates of the Machine Constants dataset initiated by the Main Hub.
|
||||
|
||||
**SR-DQC-015**
|
||||
The system shall apply updated Machine Constants only after executing a controlled teardown and reinitialization sequence.
|
||||
|
||||
## 5\. Traceability Summary
|
||||
|
||||
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Feature ID</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">System Requirements</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-01</p></td><td class="op-uc-table--cell"><p class="op-uc-p">SR-DQC-001 → SR-DQC-003</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-02</p></td><td class="op-uc-table--cell"><p class="op-uc-p">SR-DQC-004 → SR-DQC-006</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-03</p></td><td class="op-uc-table--cell"><p class="op-uc-p">SR-DQC-007 → SR-DQC-010</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">F-DQC-04</p></td><td class="op-uc-table--cell"><p class="op-uc-p">SR-DQC-011 → SR-DQC-015</p></td></tr></tbody></table></figure>
|
||||
|
||||
##
|
||||
Reference in New Issue
Block a user