Em se tratando de valor eficaz de tensão e corrente (RMS) de uma soldagem, considere um arquivo de dados obtidos em um sistema de aquisição de dados do sinal de tensão em vazio de um transformador de soldagem (taxa de aquisição de 25 kHz ; tempo de aquisição de 10 segundos). Como você
desenvolveria um programa para determinar a TENSÃO EFICAZ e a TENSÃO MÉDIA?
desenvolveria um programa para determinar a TENSÃO EFICAZ e a TENSÃO MÉDIA?
Passo 1
O que o enunciado nos dá e o que ele pede (peguei estes dados do enunciado):
- Arquivo de dados contendo o sinal de tensão medido em vazio de um transformador de soldagem.
- Taxa de aquisição:
. - Tempo de aquisição:
. - Com esses dados eu devo desenvolver um programa que determine:
- a TENSÃO EFICAZ (RMS) do sinal;
- a TENSÃO MÉDIA do sinal.
Informações implícitas que vou assumir (não foram dadas no enunciado, então explicito as opções que o programa deve tratar):
- O arquivo pode conter valores em volts já calibrados ou conter contagens ADC que precisam de fator de escala; o programa deve suportar ambos.
- O sinal pode conter componente DC, ruído e pode não ser exatamente um senoidal perfeito (soldagem costuma ter pulsos). Vou explicar as alternativas (média simples, média retificada, RMS total, RMS da componente AC) para que escolha a que for relevante para a prova ou aplicação.
Passo 2
Definições matemáticas que o programa vai usar (aulas rápidas e intuitivas):
- Definição contínua (intuição física):
- A tensão eficaz ou RMS (root-mean-square) de um sinal contínuo
num intervalo de duração é
Interpretação: é a tensão DC que entregaria a mesma potência a uma carga resistiva. - A tensão média de
no mesmo intervalo é
Observação importante: para sinais AC simétricos a média pode ser (e costuma ser) zero; às vezes usa-se a média retificada (valor médio do valor absoluto) quando se quer “média de magnitude”. - A tensão eficaz ou RMS (root-mean-square) de um sinal contínuo
- Discretização (o que efetivamente vamos programar): com
amostras igualmente espaçadas - Número de amostras esperado:
. Com os dados do enunciado:
- Fórmulas discretas:
(esta é a tensão média). (esta é a tensão eficaz total, incluindo qualquer componente DC). - Se a intenção for obter apenas a eficácia da componente AC (remover a média/DC antes de calcular a potência AC), use:
- Se o interesse for “tensão média retificada” (muito usado em eletrônica), calcule:
é - Número de amostras esperado:
Passo 3
Decisões práticas e pré-processamento (o que implementar antes de aplicar as fórmulas):
- Leitura do arquivo:
- Verificar se as amostras estão em volts ou em contagens ADC: se for ADC, o arquivo normalmente tem um metadata com
e resolução (bits). Então a conversão é mais eventual offset. - O programa deve permitir informar um fator de escala e um offset de calibração.
- Verificar se as amostras estão em volts ou em contagens ADC: se for ADC, o arquivo normalmente tem um metadata com
- Filtragem opcional:
- Se houver ruído de alta frequência que não interessa (ou jitter), aplicar um filtro passa-baixas apropriado antes do RMS. Mas atenção: filtrar muda o RMS — só faça se for parte do objetivo.
- Remoção de tendência/DC:
- Se interessar a componente AC, calcule
e subtraia antes do RMS (usar acima). - Se interessa o RMS total (potência entregue a carga), não subtrair nada.
- Se interessar a componente AC, calcule
- Verificações de integridade:
- Conferir que o número real de amostras lidas bate com
. Se houver menos amostras, alertar e ajustar real. - Tratar NaNs ou amostras inválidas (remover ou interpolar).
- Conferir que o número real de amostras lidas bate com
- Alinhamento por período (opcional, recomendado para sinais periódicos):
- Se quiser RMS por ciclo: estimar a frequência fundamental (por exemplo via FFT ou detecção de cruzamento por zero) e selecionar janelas com inteiro número de períodos para evitar erro de amostragem que “corta” períodos.
Passo 4
Algoritmo direto (implementação passo-a-passo para calcular média e RMS sobre todo o arquivo)
- Ler vetorialmente as amostras
já em volts. - Calcular a média simples:
Explanação: soma-se todas as amostras e divide-se por . Isso dá a componente DC média no intervalo. - Calcular o RMS total:
Passo a passo: elevar cada amostra ao quadrado, somar, dividir por , tirar raiz quadrada. - Calcular, se desejado, o RMS da componente AC (sem DC):
- Calcular, se desejado, a média retificada:
é - Reportar as grandezas solicitadas com unidades e número de amostras consideradas.
Passo 5
Código de exemplo (estrutura do programa) — versão simples em Python (pseudo-código comentado; adapte leitura do ficheiro conforme formato real):
- Observação: não misturei fórmulas TeX dentro do código; o código demonstra a lógica prática.
‘’’
import numpy as np
1) carregar dados (supondo um CSV com uma coluna de tensões em volts)
v = np.loadtxt(‘tensao.csv’) # ou usar pandas se houver header/metadata
N = v.size
2) média simples
V_mean = np.mean(v) # corresponde a \bar V
3) RMS total
V_rms = np.sqrt(np.mean(v**2)) # corresponde a V_{\mathrm{rms}}
4) RMS da componente AC (removendo DC)
V_rms_ac = np.sqrt(np.mean((v - V_mean)**2)) # V_{\mathrm{rms,AC}}
5) média retificada
V_mean_rect = np.mean(np.abs(v))
print(‘N =’, N)
print(‘V_média =’, V_mean, ‘V’)
print(‘V_rms =’, V_rms, ‘V’)
print(‘V_rms_AC =’, V_rms_ac, ‘V’)
print(‘V_média_retificada =’, V_mean_rect, ‘V’)
‘’’
print(‘V_média =’, V_mean, ‘V’)
print(‘V_rms =’, V_rms, ‘V’)
print(‘V_rms_AC =’, V_rms_ac, ‘V’)
print(‘V_média_retificada =’, V_mean_rect, ‘V’)
‘’’
- Se o arquivo for grande ou quiser streaming (pouca memória): calcular média e soma dos quadrados online (dois passes ou algoritmo de Welford para variância). Exemplos de estabilidade numérica serão indicados no passo seguinte.
Passo 6
Cuidados numéricos e otimizações (coisas que o programa deve ter para ser robusto)
- Precisão:
- Use ponto flutuante double (64 bits) para somas de muitos termos (250k é ok, mas com sinais grandes pode saturar em single).
- Streaming / uso de memória:
- Se a amostra for maior que memória, calcule em streaming:
- Para a média: acumular soma S = sum(v_i) e depois
. - Para RMS: acumular S2 = sum(v_i^2) e depois
. - Para RMS sem DC em uma única passada use algoritmo de Welford para média e variância:
- Inicialize
. - Para cada nova
: -
- Ao final:
e (ou para população). Então se usar . Para precisão numericamente estável Welford é recomendado.
- Inicialize
- Para a média: acumular soma S = sum(v_i) e depois
- Se a amostra for maior que memória, calcule em streaming:
- Verificações de sanidade:
- Conferir se
(sempre verdade porque ). - Se
é grande eé pequeno, sinal tem grande componente DC.
- Conferir se
- Janelas e estatísticas por janela:
- Para sinais não estacionários (pulsos de soldagem), calcule RMS/mean por janelas (por ex. 10 ms ou por ciclo detectado) e reporte média e desvio das janelas. Assim captura-se variabilidade temporal.
Passo 7
Como validar os resultados (testes rápidos)
- Teste com sinais senoidais sintéticos (saber resultado analítico):
- Se
sem DC, então e . Gere dados sintéticos e compare.
- Se
- Teste DC puro: se todos
, então e . - Checar relação:
Use isso como verificação numérica. - Se houver metadata de um instrumento (multímetro/RMS true RMS) comparar valores.
Passo 8
O que entregar no final do programa (outputs e relatórios)
- Valores numéricos com unidades:
-
(valor em volts)é -
(valor em volts) - Opcionalmente:
eé
-
- Número de amostras
, taxa de amostragem e período de análise (tempo total ou janelas). - Plots (úteis para validação): sinal no tempo, envelope, histograma, FFT do sinal (para ver componentes DC e harmônicas), e evolução temporal do RMS (sliding window).
- Logs de pré-processamento (se aplicou filtro, offset aplicado, conversão ADC->V).
Resposta
Tensão média:
Tensão eficaz (RMS total):
RMS da componente AC (se for o que se deseja):
Média retificada (se desejada):