# FightRate — métricas científicas derivadas de frequência cardíaca e HRV/VFC > Documento técnico-educacional. Nenhuma métrica abaixo deve ser apresentada como diagnóstico médico. Interpretação clínica exige contexto, validação, exame adequado, controle de artefatos e revisão profissional. ## Escopo Este relatório consolida fórmulas, algoritmos e limites de interpretação para transformar dados reais do FightRate em indicadores de saúde, desempenho e carga interna. A base foi limitada a literatura acadêmica indexada em PubMed/PMC ou páginas de periódico científico. ## Premissa de dados do app O FightRate já pode usar: - `bpm`: frequência cardíaca instantânea enviada pelo Heart Rate Service `180D`, Measurement `2A37`. - `timestamp`: instante real de cada amostra persistida. - `rrIntervalsMs`: intervalos RR quando o sensor enviar esse campo no pacote `2A37`. - `workout_sessions`: janelas de treino marcadas dentro do fluxo contínuo. - `continuous_heart_rate_samples`: amostras contínuas, inclusive fora da janela de treino. Separação crítica: 1. **Métricas BPM-only**: podem ser calculadas hoje com FC timestampada. 2. **Métricas dependentes de perfil**: exigem FCmáx, FCrepouso, idade e/ou sexo informados ou estimados. 3. **Métricas HRV/VFC reais**: exigem RR intervals confiáveis, filtragem de artefatos e janela adequada. ## Matriz de implementação | Métrica | Dados mínimos | Pode entrar já? | Observação | | --- | --- | --- | --- | | FC atual/média/mín/máx | BPM + timestamp | Sim | Baixo risco; métrica central. | | Amplitude e variabilidade de BPM | BPM + timestamp | Sim | Útil para esforço estável vs intervalado. | | Tempo em zonas fixas | BPM + timestamp | Sim | Usar como zona operacional até existir perfil. | | Tendência/deriva de FC | BPM + timestamp | Sim | Rotular como tendência, não causa fisiológica. | | Recuperação pós-janela | BPM contínuo após fim da janela | Sim, quando houver dados pós-esforço | Precisa continuar monitorando após encerrar janela. | | Zonas por FCmáx | BPM + FCmáx ou idade | Parcial | FCmáx por idade tem erro individual. Preferir FCmáx manual. | | Karvonen/HRR | BPM + FCmáx + FCrepouso | Parcial | Mais individualizado, mas exige perfil. | | TRIMP | BPM + duração + FCmáx + FCrepouso + coeficiente | Parcial | Útil como carga estimada; limitações em intervalados. | | RMSSD/SDNN/pNN50 | RR intervals limpos | Só se RR vier do sensor | Não derivar de BPM médio. | | LF/HF/frequência | RR + interpolação + janela adequada | Futuro | Alto risco de interpretação; evitar MVP. | | HRV-guided readiness | RR matinal padronizado | Futuro | Depende de protocolo diário consistente. | ## 1. Frequência cardíaca atual, média, mínima e máxima **Fonte fisiológica:** monitoramento direto de FC é prático e barato, mas a relação FC↔intensidade é afetada por hidratação, temperatura, fadiga, cafeína, estresse e deriva cardiovascular. Achten & Jeukendrup destacam que FC é útil em campo, mas limitada para estimar gasto energético ou VO₂ individual com alta precisão. **Dados:** BPM válido e timestamp. **Fórmulas:** ```text FC_atual = último BPM válido FC_média = soma(BPM) / n FC_mín = min(BPM) FC_máx = max(BPM) Amplitude = FC_máx - FC_mín ``` **Uso no FightRate:** - Mostrar como leitura primária nos Insights. - Usar `sampleCount` e duração para indicar qualidade/confiança. - Não exibir quando não houver amostras reais. ## 2. Variabilidade simples de BPM Esta não é HRV/VFC. É variabilidade da frequência cardíaca agregada por amostras de BPM. Ainda assim, é útil para caracterizar treino contínuo, intervalado ou caótico. **Dados:** BPM timestampado. **Fórmulas:** ```text média = soma(BPM) / n variância = soma((BPM - média)^2) / n DP_BPM = sqrt(variância) CV_BPM = DP_BPM / média Amplitude = FC_máx - FC_mín ``` **Classificação operacional sugerida:** ```text CV_BPM < 0.06 = esforço estável 0.06–0.12 = misto / progressivo > 0.12 = intervalado / oscilante ``` **Limitação:** CV alto pode indicar treino intervalado, sensor instável ou mudanças bruscas de contexto. Rotular como “oscilação de FC”, não HRV. ## 3. FC máxima estimada e zonas por %FCmáx Tanaka, Monahan e Seals revisaram a fórmula clássica `220 - idade` e propuseram uma equação mais robusta para adultos saudáveis: ```text FCmáx_estimada = 208 - 0.7 × idade %FCmáx = BPM / FCmáx ``` **Zonas operacionais comuns:** | Zona | %FCmáx | Uso prático | | --- | ---: | --- | | Z1 | <60% | recuperação / muito leve | | Z2 | 60–70% | base aeróbia | | Z3 | 70–80% | moderado / tempo | | Z4 | 80–90% | alta pressão | | Z5 | >90% | redline / esforço máximo relativo | **Limitação:** Tanaka et al. deixam claro que FCmáx é amplamente explicada pela idade em população saudável, mas a estimativa individual pode errar bastante. Para o app, a FCmáx manual do usuário deve ter prioridade sobre fórmula. ## 4. Reserva cardíaca / Karvonen / HRR Karvonen, Kentala e Mustala popularizaram o uso da faixa entre FC de repouso e FC máxima como referência de intensidade. Swain & Leutholtz demonstraram que `%HRR` se alinha melhor a `%VO₂ reserve` do que a `%VO₂max`. **Dados necessários:** BPM, FCmáx, FCrepouso. **Fórmulas:** ```text Reserva = FCmáx - FCrepouso Intensidade_HRR = (BPM - FCrepouso) / Reserva Alvo_BPM = FCrepouso + Intensidade_alvo × Reserva ``` **Uso no FightRate:** - Quando perfil existir, mostrar zonas por HRR como modo mais personalizado. - Sem FCrepouso confiável, cair para zonas por %FCmáx ou zonas operacionais fixas. ## 5. Tempo em zona Tempo em zona é um dos indicadores mais úteis para leitura visual compacta, porque combina intensidade e duração. **Dados:** BPM timestampado e função `zona(BPM)`. **Algoritmo:** ```text para i de 1 até n-1: delta = timestamp[i] - timestamp[i-1] delta_limitado = min(delta, gapMaxMs) zona = zona(BPM[i]) tempo[zona] += delta_limitado ``` **Regras de robustez:** - Ignorar ou limitar gaps grandes para não atribuir minutos sem sinal a uma zona. - Exibir duração e percentual. - Usar o mesmo cálculo para janela de treino, uso contínuo e faixa customizada. ## 6. Carga interna / TRIMP Banister introduziu o conceito de treinamento como “dose” fisiológica, combinando duração e intensidade. O TRIMP clássico usa FC relativa à reserva e um peso exponencial. Desgorces et al. discutem que TRIMP é histórico e útil, mas não é intercambiável com métodos alternativos e pode falhar em exercícios intermitentes quando usa FC média. **Dados necessários:** duração, BPM, FCmáx, FCrepouso, coeficiente. **Banister TRIMP clássico:** ```text HRr = (FCmédia - FCrepouso) / (FCmáx - FCrepouso) TRIMP_homem = duração_min × HRr × 0.64 × e^(1.92 × HRr) TRIMP_mulher = duração_min × HRr × 0.86 × e^(1.67 × HRr) ``` **TRIMP acumulado por amostra, mais adequado ao FightRate:** ```text para cada intervalo entre amostras: HRr_i = clamp((BPM_i - FCrepouso) / (FCmáx - FCrepouso), 0, 1.2) peso_i = coeficiente_a × e^(coeficiente_b × HRr_i) TRIMP += delta_min × HRr_i × peso_i ``` **Uso no FightRate:** - Chamar de **carga estimada**. - Se FCmáx/FCrepouso não existirem, mostrar “perfil incompleto”. - Para treino de luta intervalado, preferir versão acumulada, não FC média única. ## 7. Recuperação cardíaca pós-esforço (HRR recovery) Cole et al. definiram recuperação como a queda da FC do pico ao primeiro minuto após o exercício; em teste clínico, queda `≤ 12 bpm` no primeiro minuto foi associada a maior mortalidade. No FightRate, isso deve ser usado apenas como referência educativa, pois o contexto é treino livre, não teste clínico padronizado. **Dados necessários:** fim da janela de treino e monitoramento contínuo por 1–2 min depois. **Fórmulas:** ```text HRR_1min = FC_fim_ou_pico - FC_60s_após HRR_2min = FC_fim_ou_pico - FC_120s_após ``` **Algoritmo recomendado:** 1. Ao fechar a janela, manter monitor contínuo ativo. 2. Guardar FC no fim da janela e pico dos últimos minutos. 3. Buscar amostra mais próxima de `endedAt + 60s` e `endedAt + 120s`. 4. Exibir apenas se houver amostras suficientes depois da janela. ## 8. Deriva cardiovascular / tendência de drift Coyle & González-Alonso definem a deriva cardiovascular como queda progressiva do volume sistólico após 10–20 min de exercício, acompanhada por aumento de FC. Sem potência, velocidade, temperatura e hidratação, o app só deve inferir “tendência de deriva de FC”, não causa. **Dados:** série BPM longa e timestampada. **Fórmulas operacionais:** ```text média_inicial = média de uma janela inicial estável média_final = média da janela final Deriva_abs = média_final - média_inicial Deriva_% = Deriva_abs / média_inicial × 100 ``` **Janela sugerida para app:** - Se duração ≥ 20 min: comparar primeiros 20% vs últimos 20%, ignorando aquecimento curto. - Se duração < 10 min: não calcular deriva; mostrar “janela curta”. ## 9. HRV/VFC com RR intervals A Task Force ESC/NASPE estabeleceu padrões clássicos de medição e interpretação de HRV. Shaffer & Ginsberg detalham métricas de domínio do tempo, frequência e não lineares, reforçando que duração da janela, artefatos, respiração, idade, sexo e método de medição mudam a interpretação. **Dados necessários:** RR/NN intervals em milissegundos, limpos de artefatos. ### Domínio do tempo ```text SDNN = desvio padrão dos intervalos NN RMSSD = sqrt(média((NN[i+1] - NN[i])²)) NN50 = contagem de pares sucessivos com |ΔNN| > 50 ms pNN50 = NN50 / número_de_pares × 100 ``` **Interpretação resumida:** - RMSSD é uma das métricas mais usadas para atividade vagal de curto prazo. - SDNN depende fortemente da duração da janela; 24h e 5 min não são intercambiáveis. - pNN50 é correlacionado com RMSSD, mas RMSSD costuma ser preferido. ### Domínio de frequência Bandas clássicas: ```text VLF: 0.0033–0.04 Hz LF: 0.04–0.15 Hz HF: 0.15–0.40 Hz LF/HF = potência_LF / potência_HF ``` **Limitação importante:** LF/HF é controverso como “balanço simpático-vagal”; respiração, postura e não estacionaridade podem distorcer a leitura. Para MVP, não usar LF/HF como score principal. ### Não lineares ```text SD1 = dispersão perpendicular no Poincaré; relacionado a RMSSD SD2 = dispersão longitudinal no Poincaré SampEn = regularidade/complexidade da série DFA α1 = correlação fractal de curto prazo ``` **Uso no FightRate:** futuro, apenas após validação de RR do sensor e filtros de artefato. ## 10. HRV-guided readiness / prontidão Kiviniemi et al. testaram prescrição diária guiada por HRV em treino de endurance: quando HRV matinal caía significativamente, o treino era reduzido para baixa intensidade ou repouso. Buchheit argumenta que medidas quase diárias de 5 min em repouso e FC submáxima podem ser úteis quando interpretadas individualmente com erro de medida, menor mudança importante e contexto de carga. **Requisitos para FightRate:** - Protocolo matinal padronizado, não amostra aleatória de treino. - RR intervals reais. - Baseline individual de vários dias. - Exibir como prontidão/protocolo, não diagnóstico. **Algoritmo futuro:** ```text baseline = média móvel de LnRMSSD dos últimos 7–10 dias limite = baseline - desvio_ou_SWC se LnRMSSD_hoje < limite: sugestão = reduzir intensidade / recuperar senão: sugestão = treino planejado permitido ``` ## 11. Alertas e anomalias **Dados:** BPM, timestamp, perfil opcional. Regras não clínicas úteis: ```text Sem sinal = nenhuma amostra válida por N segundos Pico abrupto = |BPM_atual - BPM_anterior| > limiar em poucos segundos Alta sustentada = BPM > limite por N segundos Queda pós-pico = FC cai X bpm em 60/120s após janela ``` **Cuidado:** alertas de saúde reais exigem validação médica. No app, usar linguagem operacional: “verifique sensor”, “pausa recomendada”, “zona alta sustentada”. ## Recomendações diretas para a tela Insights 1. Substituir lista simples por uma **grade tabular de instrumentos** com linhas compactas. 2. Priorizar métricas calculáveis hoje: - FC atual/média/mín/máx; - duração e amostras; - tempo em zonas; - variabilidade BPM; - carga observada/carga estimada; - tendência de deriva; - recuperação pós-janela quando existir. 3. Exibir métricas dependentes de perfil como **bloqueadas** ou “perfil necessário”, sem inventar FCmáx/FCrepouso silenciosamente. 4. Exibir HRV/VFC como **indisponível** quando não houver RR intervals confiáveis. 5. Cada métrica deve ter: - valor; - unidade; - status (`OK`, `perfil`, `RR`, `janela curta`, `sem dados`); - frase curta de leitura; - base de cálculo/confiança. 6. Para uso espacial eficiente, usar tabela em linhas densas, trilhos e separadores do Corner Instrument — não cards genéricos. ## Referências acadêmicas 1. Task Force ESC/NASPE. *Heart rate variability: standards of measurement, physiological interpretation and clinical use*. Circulation. 1996. PubMed: https://pubmed.ncbi.nlm.nih.gov/8598068/ 2. Shaffer F, Ginsberg JP. *An Overview of Heart Rate Variability Metrics and Norms*. Front Public Health. 2017. PMC: https://pmc.ncbi.nlm.nih.gov/articles/PMC5624990/ 3. Tanaka H, Monahan KD, Seals DR. *Age-predicted maximal heart rate revisited*. J Am Coll Cardiol. 2001. PubMed: https://pubmed.ncbi.nlm.nih.gov/11153730/ 4. Karvonen MJ, Kentala E, Mustala O. *The effects of training on heart rate; a longitudinal study*. Ann Med Exp Biol Fenn. 1957. PubMed: https://pubmed.ncbi.nlm.nih.gov/13470504/ 5. Swain DP, Leutholtz BC. *Heart rate reserve is equivalent to %VO2 reserve, not to %VO2max*. Med Sci Sports Exerc. 1997. PubMed: https://pubmed.ncbi.nlm.nih.gov/9139182/ 6. Cole CR, Blackstone EH, Pashkow FJ, Snader CE, Lauer MS. *Heart-rate recovery immediately after exercise as a predictor of mortality*. N Engl J Med. 1999. PubMed: https://pubmed.ncbi.nlm.nih.gov/10536127/ 7. Achten J, Jeukendrup AE. *Heart rate monitoring: applications and limitations*. Sports Med. 2003. PubMed: https://pubmed.ncbi.nlm.nih.gov/12762827/ 8. Coyle EF, González-Alonso J. *Cardiovascular drift during prolonged exercise: new perspectives*. Exerc Sport Sci Rev. 2001. PubMed: https://pubmed.ncbi.nlm.nih.gov/11337829/ 9. Buchheit M. *Monitoring training status with HR measures: do all roads lead to Rome?* Front Physiol. 2014. PubMed/PMC: https://pubmed.ncbi.nlm.nih.gov/24578692/ 10. Kiviniemi AM, Hautala AJ, Kinnunen H, Tulppo MP. *Endurance training guided individually by daily heart rate variability measurements*. Eur J Appl Physiol. 2007. PubMed: https://pubmed.ncbi.nlm.nih.gov/17849143/ 11. Desgorces FD, Hourcade JC, Dubois R, Toussaint JF, Noirez P. *Training load quantification of high intensity exercises: discrepancies between original and alternative methods*. PLoS One. 2020. PMC: https://pmc.ncbi.nlm.nih.gov/articles/PMC7398532/ 12. Foster C, Florhaug JA, Franklin J, et al. *A new approach to monitoring exercise training*. J Strength Cond Res. 2001. PubMed: https://pubmed.ncbi.nlm.nih.gov/11708692/