15 KiB
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 Service180D, Measurement2A37.timestamp: instante real de cada amostra persistida.rrIntervalsMs: intervalos RR quando o sensor enviar esse campo no pacote2A37.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:
- Métricas BPM-only: podem ser calculadas hoje com FC timestampada.
- Métricas dependentes de perfil: exigem FCmáx, FCrepouso, idade e/ou sexo informados ou estimados.
- 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:
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
sampleCounte 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:
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:
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:
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:
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:
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:
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:
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:
HRR_1min = FC_fim_ou_pico - FC_60s_após
HRR_2min = FC_fim_ou_pico - FC_120s_após
Algoritmo recomendado:
- Ao fechar a janela, manter monitor contínuo ativo.
- Guardar FC no fim da janela e pico dos últimos minutos.
- Buscar amostra mais próxima de
endedAt + 60seendedAt + 120s. - 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:
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
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:
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
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:
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:
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
- Substituir lista simples por uma grade tabular de instrumentos com linhas compactas.
- 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.
- Exibir métricas dependentes de perfil como bloqueadas ou “perfil necessário”, sem inventar FCmáx/FCrepouso silenciosamente.
- Exibir HRV/VFC como indisponível quando não houver RR intervals confiáveis.
- 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.
- Para uso espacial eficiente, usar tabela em linhas densas, trilhos e separadores do Corner Instrument — não cards genéricos.
Referências acadêmicas
- 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/
- 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/
- 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/
- 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/
- 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/
- 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/
- Achten J, Jeukendrup AE. Heart rate monitoring: applications and limitations. Sports Med. 2003. PubMed: https://pubmed.ncbi.nlm.nih.gov/12762827/
- 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/
- 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/
- 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/
- 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/
- 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/