Pular para conteúdo

Funções utilizadas na análise de ocorrências

Nessa seção são apresentadas as funções utilizadas no cálculo das grandezas que não são lidas diretamente do arquivo DAT.

Classe que contém as funções usadas na análise de ocorrências.

Functions

angles(x, f, win) async classmethod

Calcula o ângulo em referência a um sinal senoidal (com frequência de f hz) de um vetor de dados x com N elementos. O valor de ângulo é obtido através da decomposição em serie de Fourier, sendo utilizado o ângulo da componente de frequência fundamental.

\[ \mathbf{Eb}[i] = \frac{1}{win} \sum^{i-1}_{k=i-win} \mathbf{x}[k] \sin \left( \frac{120 \, \pi \, (i-k-1)}{f} \right) , i = win, \dotsc, N \]
\[ \mathbf{Ea}[i] = \frac{1}{win} \sum^{i-1}_{k=i-win} \mathbf{x}[k] \cos \left( \frac{120 \, \pi \, (i-k-1)}{f} \right) , i = win, \dotsc, N \]
\[ \mathbf{res}[i] = \arctan(\mathbf{Eb}[i], \mathbf{Ea}[i]) \]

Parameters:

Name Type Description Default
x numpy.ndarray

\(\mathbf{x}\): Vetor de dados com N elementos.

required
f float

Frequência de aquisição.

required
win int

Número de pontos corresponde ao intervalo de tempo desejado.

required

Returns:

Type Description
numpy.ndarray

Ângulo entre duas fases, em graus, no intervalo entre 0 e 360.

calculate_real_values(IV, ca, cb, cc, cd, cp) async classmethod

Calcula os valores reais de corrente ou tensão (IV) para um vetor de dados do arquivo DAT de acordo com os parâmetros ca, cb, cc, cd e cp do arquivo CFG.

\[ \mathbf{res} = \left\{ \begin{array}{cl} (c_a \cdot \mathbf{IV} + c_b) \cdot c_c/c_d & : \ c_p = \text{'S'} \\ c_a \cdot \mathbf{IV} + c_b & : \ c_p = \text{'P'} \end{array} \right. \]

Parameters:

Name Type Description Default
IV numpy.ndarray

Vetor de dados.

required
ca float

Parâmetro a do arquivo CFG.

required
cb float

Parâmetro b do arquivo CFG.

required
cc float

Parâmetro c do arquivo CFG.

required
cd float

Parâmetro d do arquivo CFG.

required
cp str

Parâmetro que indica se o dado é primário (P)

required

Returns:

Type Description
numpy.ndarray

Vetor de valores reais.

negative_sequency(IV, frequency) async classmethod

Calcula a sequência negativa de corrente ou tensão (IV).

Ao calcular a sequência negativa de corrente ou tensão (IV) tomando a fase 0 (ou white) como referência, a partir da equação:

\[ \text{NegSeq}: \mathbf{res}[i] = 1/3 \left( \mathbf{IV}_a[i] + \Gamma \left( \mathbf{IV}_b, i, \frac{-2 \pi}{3}, f \right) + \Gamma \left( \mathbf{IV}_c, i, \frac{-4 \pi}{3}, f \right) \right) \]

em que

\[ \Gamma (\mathbf{Y}, x, \alpha, f) = \mathbf{Y} \left[x - \alpha \cdot \frac{f}{120 \pi} \right] \]

Parameters:

Name Type Description Default
IV numpy.ndarray

\(\mathbf{IV}\): Matriz contendo os dados de corrente (I) ou tensão (V) para os quais será calculada a sequência negativa; as colunas da matriz corresponde aos vetores de cada uma das fases a, b e c.

required
frequency float

Frequência de aquisição dos dados.

required

Returns:

Type Description
numpy.ndarray

Sequência negativa.

rms(x, win) async classmethod

Calcula o Valor Eficaz (RMS) de um vetor de dados x com N elementos.

\[ \text{RMS}[i] = \sqrt{ \frac{\sum^{win-i}_{k=i} \mathbf{x}[k]^2 }{win}}, i = win, \dotsc, N \]

Parameters:

Name Type Description Default
x numpy.ndarray

Vetor de dados com N elementos.

required
win int

Número de pontos corresponde ao intervalo de tempo desejado.

required

Returns:

Type Description
numpy.ndarray

Valor eficaz (RMS).

spreadsheet(z2LTR, z2LTI, KM, v2SMOD, v2SANG, i2SMOD, i2SANG, v2RMOD, v2RANG, i2RMOD, i2RANG) async classmethod

Calcula o local da falha seguindo a metodologia da planilha Localização de faltas por Sequência Negativa.xlsx.

Equações:

\[ \begin{array}{rll} |Z_2^{LT}| = & \sqrt{ \text{Re}\left( Z_2^{LT} \right)^2 + \text{Im}\left( Z_2^{LT} \right)^2 } \\ \alpha_{Z_2^{LT}} = & \arctan \bigg( \text{Im}\left( Z_2^{LT} \right), \text{Re}\left( Z_2^{LT} \right) \bigg) 180 / \pi \\ |Z_2^{S}| = & \frac{|V_2^{S}|}{|I_2^{S}|} \\ \alpha_{Z_2^{S}} = & \alpha_{V_2^{S}} - \alpha_{I_2^{S}} - 180 \\ |Z_2^{R}| = & \frac{|V_2^{R}|}{|I_2^{R}|} \\ \alpha_{Z_2^{R}} = & \alpha_{V_2^{R}} - \alpha_{I_2^{R}} - 180 \\ \text{Re}\left( Z_2^{R} \right) = & |Z_2^{R}| \cos \left( \alpha_{Z_2^{R}} \tfrac{\pi}{180} \right) \\ \text{Im}\left( Z_2^{R} \right) = & |Z_2^{R}| \sin \left( \alpha_{Z_2^{R}} \tfrac{\pi}{180} \right) \\ \\ a = & |I_2^{S}| |Z_2^{S}| \cos \bigg( \left( \alpha_{I_2^{S}} + \alpha_{Z_2^{S}} \right) \pi/180 \bigg) \\ b = & |I_2^{S}| |Z_2^{S}| \sin \bigg( \left( \alpha_{I_2^{S}} + \alpha_{Z_2^{S}} \right) \pi/180 \bigg) \\ c = & |I_2^{S}| |Z_2^{LT}| \cos \bigg( \left( \alpha_{I_2^{S}} + \alpha_{Z_2^{LT}} \right) \pi/180 \bigg) \\ d = & |I_2^{S}| |Z_2^{LT}| \sin \bigg( \left( \alpha_{I_2^{S}} + \alpha_{Z_2^{LT}} \right) \pi/180 \bigg) \\ e = & \text{Re}\left( Z_2^{TL} \right) + \text{Re}\left( Z_2^{R} \right) \\ f = & \text{Im}\left( Z_2^{TL} \right) + \text{Im}\left( Z_2^{R} \right) \\ g = & \text{Re}\left( Z_2^{TL} \right) \\ h = & \text{Im}\left( Z_2^{TL} \right) \\ \\ A = & \left. |I_2^{R}| \right. ^2 (g^2 + h^2) - (c^2 + d^2) \\ B = & -2 \, \left. |I_2^{R}| \right. ^2 \, \left( e \cdot g + f \cdot h \right) -2 \left( a \cdot c + b \cdot d \right) \\ C = & \left. |I_2^{R}| \right. ^2 ( e^2 + f^2) - ( a^2 + b^2) \\ m_1 = & \frac{-B + \sqrt{B^2 - 4 \cdot A \cdot C}}{2 A} \\ m_2 = & \frac{-B - \sqrt{B^2 - 4 \cdot A \cdot C}}{2 A} \end{array} \]

Parameters:

Name Type Description Default
z2LTR float

\(\text{Re}\left( Z_2^{LT} \right)\): Componente real da Impedância total da LT (Ohms)

required
z2LTI float

\(\text{Im}\left( Z_2^{LT} \right)\): Componente imaginário da Impedância total da LT (Ohms)

required
KM float

Comprimento da LT (km)

required
v2SMOD float

\(|V_2^{S}|\): Módulo da Tensão Negativa V- (V) para o terminal S

required
v2SANG float

\(\alpha_{V_2^{S}}\): Diferença do Ângulo da Tensão Negativa V- (grau) para o terminal S

required
i2SMOD float

\(|I_2^{S}|\): Módulo da Corrente Negativa I- (A) para o terminal S

required
i2SANG float

\(\alpha_{I_2^{S}}\): Diferença do Ângulo da Corrente Negativa I- (grau) para o terminal S

required
v2RMOD float

\(|V_2^{R}|\): Módulo da Tensão Negativa V- (V) para o terminal R

required
v2RANG float

\(\alpha_{V_2^{R}}\): Diferença do Ângulo da Tensão Negativa V- (grau) para o terminal R

required
i2RMOD float

\(|I_2^{R}|\): Módulo da Corrente Negativa I- (A) para o terminal R

required
i2RANG float

\(\alpha_{I_2^{R}}\): Diferença do Ângulo da Corrente Negativa I- (grau) para o terminal R

required

Returns:

Type Description
dict

Dicionário contendo local da falha a partir do terminal S (km), região da falha considerando erro de 5% do valor nominal encontrado, raízes da equacao do 2o grau e variáveis auxiliares.

Usado para auxiliar na validação dos dados.

Functions

get_angle_seq_neg_arange(rmsI2) async classmethod

Auxilia a validação da sequência negativa.

get_neg_seq_arange_current(I2) async classmethod

Auxilia a validação da sequência negativa da corrente.

get_rms_arange_current(rmsI_) async classmethod

Auxilia a validação dos valores reais (RMS) da corrente.