RFC 027 - Ressonância Estocástica (SR) Aplicada
Status: Parcialmente Implementado (v0.0.1) Pilar: S1 (Segurança / Camada Física)
1. Resumo
A visão para a v2+ do PAEBIRU introduz o uso de Ressonância Estocástica (SR) para superar as limitações físicas de hardware na detecção de sinais fracos. Através da injeção deliberada de ruído controlado via software (Dinâmica Estocástica Adaptativa), o protocolo permite que dispositivos de borda com baixa sensibilidade (como sensores alimentados por energy harvesting) mantenham a conectividade na malha P2P mesmo em ambientes de alta atenuação.
2. Motivação
Sinais de rádio distantes ou obstruídos frequentemente chegam com amplitude inferior ao limiar de detecção dos conversores analógico-digitais (ADC) de microcontroladores de baixo custo. Em sistemas lineares, esse sinal é perdido. Na física não-linear, o ruído pode atuar como um amplificador se injetado na dose correta. A SR permite “ressuscitar” esses sinais, aumentando a capilaridade da malha sem exigir hardware de rádio sofisticado.
3. Especificação Técnica
3.1. SNR e Pico de Ressonância
O nó busca continuamente o nível ótimo de ruído $D$ que maximiza a detecção, seguindo a relação:
$$ SNR \propto \frac{1}{D} \exp\left(-\frac{\Delta U}{D}\right) $$
Onde $\Delta U$ representa a barreira de potencial do receptor físico.
O pico teórico ocorre em $D = \Delta U$, derivado de:
$$ \frac{d}{dD}\left[\frac{1}{D} \exp\left(-\frac{\Delta U}{D}\right)\right] = 0 $$
3.2. Dinâmica Estocástica via Langevin
A injeção de ruído $\eta(t)$ é governada pelas Equações de Langevin para acompanhar a entropia ambiental:
$$ \frac{dx}{dt} = -\gamma x + \eta(t) $$
Isso garante que a amplificação se adapte em tempo real às mudanças de temperatura e interferência, evitando que o ruído injetado degrade sinais que já são fortes.
3.3. Ciclo de Vida da Injeção
- Fase de Detecção (Preamble): A SR é ativada para detectar o sincronismo da onda.
- Fase de Dados (Payload): Uma vez estabelecido o handshake x402, a injeção cessa para garantir a integridade absoluta do Compute-over-Data e das provas criptográficas.
4. Impacto Arquitetural
4.1. HAL — Submódulo sr_amplifier
Implementado em crates/hal/src/radio/sr_amplifier.rs.
SrAmplifier(trait object-safe) eSrAmplifierImpl(struct concretano_std).- Ciclo de vida
SrPhase::{Preamble, Payload}com pass-through automático em Payload. - Processamento de buffers IQ intercalados com injeção de ruído controlado.
- Adaptação de $D$ via discretização da equação de Langevin.
- Conversão de bytes de entropia bruta em amostras de ruído
f64no intervalo[-1.0, 1.0]. - Integrado ao trait
PaebiruHalvia métodosr_amplifier().
4.2. Math — Aproximadores Rápidos via Taylor Series
Implementado em crates/math/src/domain/thermodynamics/stochastic_resonance.rs.
exp_taylor(x, order)— aproximação polinomial deexp(x)por série de Taylor truncada.amplify_fast(signal, delta_t, order)— amplificação SR sem dependência delibm::exp.optimal_noise_intensity()— retorna $D = \Delta U$ (pico teórico).snr_peak_taylor(order)esnr_factor_taylor(order)— cálculo do pico de SNR emno_std.
A ordem padrão de 10–12 garante erro relativo $< 10^{-9}$ para $|x| \leq 2$, cobrindo a região de operação típica onde $x = -\Delta U/D \approx -1$.
4.3. Kernel — Bridge Entropia → Ruído Branco
Implementado em crates/kernel/src/domain/entropy/sr_bridge.rs.
SrNoiseSource<S: EntropySource>— adaptador que consome entropia auditada (ex.:StochasticHealthMonitor) e produz amostrasf64para oSrAmplifier.- Preserva o isolamento hexagonal: o Kernel não depende do HAL; a conexão ocorre na camada de aplicação (
apps/node). - Cada amostra consome 2 bytes de entropia bruta (16 bits →
i16normalizado).
4.4. Kernel — Pipeline SR de Ciclo de Vida do Rádio
Implementado em crates/kernel/src/domain/entropy/sr_pipeline.rs.
SrAmplifierPort— porta hexagonal que oapps/nodeimplementa sobre oSrAmplifierdo HAL.SrRadioPipeline<A, E>— orquestração completa do ciclo de vida:enter_preamble()→ ativa SR,process_iq()gera ruído físico viaSrNoiseSourcee aplica ao buffer.enter_payload()→ desativa SR (pass-through garantido).
SrAutoTuner— auto-tuning de ΔU por gradiente ascendente estocástico:- Janela deslizante de detecções (default 32 amostras).
- Aumenta ΔU quando taxa < 30% (sinal fraco, precisa de mais capilaridade).
- Reduz ΔU quando taxa > 95% (sinal forte, ruído desnecessário).
- Clamp em [0.1, 10.0] para evitar divergência.
SrPipelineError— erros tipados (entropy, buffer overflow, tuning divergence).
4.5. Apps/Node — Wiring (esboço arquitetural)
O apps/node conecta as peças sem violar o isolamento hexagonal:
#![allow(unused)]
fn main() {
// No construtor do nó:
let sr_noise = SrNoiseSource::new(mixed_entropy);
let sr_amp = SrAmplifierImpl::new(barrier, initial_noise, friction);
let mut sr_pipeline = SrRadioPipeline::new(sr_amp, sr_noise, SrPipelineConfig::default());
// Na recepção de rádio:
sr_pipeline.enter_preamble();
sr_pipeline.process_iq(&mut iq_buffer)?;
if preamble_detected {
sr_pipeline.report_detection(true);
sr_pipeline.enter_payload();
// ... processa payload com integridade criptográfica intacta
} else {
sr_pipeline.report_detection(false);
}
}
5. Checklist de Implementação
- HAL:
sr_amplifiercom trait e struct concreta (no_std). - HAL: Ciclo de vida Preamble / Payload.
- HAL: Integração ao trait
PaebiruHal. - Math: Aproximação Taylor Series para
expe pico de SNR. - Math: Métodos
amplify_fast,optimal_noise_intensity,snr_peak_taylor. - Kernel:
SrNoiseSourcebridge entreEntropySourcee ruído branco formatado. - Kernel:
SrRadioPipelinecomSrAmplifierPort,SrAutoTunere fase management. - Apps/Node: Wiring completo do
SrRadioPipelineao daemon principal e drivers de rádio reais.