HP_DFT

Este bloco implementa um filtro digital passa alta, calculando um ganho a ser aplicado ao sinal de saída em função da frequencia de corte (cf) especificada.

GAIN |
     |
   1 |                        --------------------------------
     |                       /
     |                      /
     |                     /
     |                    /
     |                   /
     |                  /
     |                 /
   0 +-------------------------------------------------------
                      cf                              F(Hz)

O bloco utiliza a seguinte equação

rc   = 1.0 / (2 * PI * cf)  onde:

rc = constante de tempo do filtro
cf = frequencia de corte do filtro

Y(k) = (rc / (rc + ts)) * (Y(k-1) + X(k) - X(k-1))   onde:

Y(k)   = saída do filtro no instante k
Y(k-1) = saída do filtro no instante anterior
X(k)   = valor da entrada no instante k
X(k-1) = valor da entrada no instante anterior
ts     = período de amostragem do sinal

Bloco

              HP_DFT
         +---------------+
BOOL ----|START       OUT|---- REAL
         |               |
REAL ----|INP         UPD|---- BOOL
         |               |
TIME ----|C_TME          |
         |               |
REAL ----|CUT_OFF        |
         +---------------+

Quando a entrada START estiver inativa o valor da saída OUT segue o valor da entrada INP

Importante

Quando o bloco estiver ativo, (START = TRUE) alterações nos valores dos parâmetros C_TME e CUT_OFF não afetam o cálculo. Para que estes parâmetros sejam reavaliados a entrada START deve sofrer uma transição de OFF para ON.

Parâmetros

Nome

Parâmetro

Tipo Dado

V. Ini.

Descrição

START

Entrada

BOOL

TRUE

Habilita filtro do sinal de entrada quando ativo

INP

Entrada

REAL

0.0

valor corrente do dado a ser filtrado

C_TME

Entrada

TIME

T#20ms

Tempo de ciclo

CUT_OFF

Entrada

REAL

0.0

Frequencia de corte em Hz

OUT

Saída

REAL

0.0

Sinal de saida filtrado (se START = FALSE, OUT = INP)

UPD

Saída

BOOL

FALSE

Valor de saida atualizado (pulso)

Exemplo

Declaração de Variáveis

Nome

Tipo

Descrição

my_HP_DFT

HILS.HP_DFT

Instancia do filtro

Clique aqui para baixar a tabela de variáveis

Código ST

(* Exemplo de ativação do bloco dentro da POU *)
(* ... *)

my_HP_DFT(  // HP_DFT
  START   := TRUE,    // [BOOL] Habilita filtro do sinal de entrada quando ativo
  INP     := 1.5,     // [REAL] valor corrente do dado a ser filtrado
  C_TME   := T#50ms,  // [TIME] Tempo de ciclo
  CUT_OFF := 500      // [REAL] Frequencia de corte em Hz
  //OUT     => ,      // [REAL] Sinal de saida filtrado (se START = FALSE, OUT = INP)
  //UPD     =>        // [BOOL] Valor de saida atualizado (pulso)
  );

(* ... *)