Período de amostragem, PRBS (Tb e Nb), modelo ARX e validação com os ensaios na LaunchPad
Universidade Federal do Pará
2026-10-01
Filtro passa-baixas de 2ª ordem (Sallen-Key, ganho unitário) ligado à LaunchPad:
SK01Degrau (onda quadrada 0,6 ↔︎ 1,4 V) e SK02PRBS (PRBS 1,0 ± 0,4 V), gravados com \(T_s\) = 1 ms e \(T_b\) = 5 ms.Placa e exportação dos dados: Placa LAUNCHXL-F28379D.
| Grandeza (modelo identificado) | Valor |
|---|---|
| Ganho estático \(K\) | 1,00 |
| Polo lento | 36 rad/s (5,7 Hz; \(\tau_1\) = 28 ms) |
| Polo rápido | 120 rad/s (19 Hz; \(\tau_2\) = 8,4 ms) |
| Tempo de subida | 66 ms |
| Acomodação (2 %) | 118 ms |
| Ruído de medida | 0,5 mV |
O ARX(2,2,1) identificado com as amostras de 1 ms sai com ganho 1,18 e polo lento de 60 ms (o dobro do real). Com os mesmos dados, tomados a cada 5 ms, o ajuste vai de 69 % a 96 %.
O ARX escolhe os coeficientes que melhor preveem \(y(k)\) a partir de \(y(k-1)\), \(y(k-2)\), \(u(k-1)\), \(u(k-2)\):
| \(T_s\) | 1 ms | 2 ms | 5 ms | 10 ms |
|---|---|---|---|---|
| \(\omega_1 T_s\) (polo lento) | 0,036 | 0,072 | 0,18 | 0,36 |
| \(\omega_2 T_s\) (polo rápido) | 0,12 | 0,24 | 0,60 | 1,20 |
Em toda subida de \(u\), \(y\) salta 0,17 V e fica num patamar por ≈ 10 ms antes de subir; na descida, não. Por ser só na subida, não é linear (provavelmente o amplificador operacional). Com 1 ms, esse trecho pesa na previsão de um passo; a cada 5 ms, quase some.
Varredura simulada (planta = modelo identificado, ruído de 0,5 mV, 50 ensaios), ajuste do ARX no degrau:
| \(T_s\) × \(T_b\) | 5 ms | 10 ms | 20 ms | 40 ms |
|---|---|---|---|---|
| 1 ms | 90,7 % | 92,3 % | 92,7 % | 92,9 % |
| 2 ms | — | 99,0 % | 98,8 % | 98,8 % |
| 5 ms | 99,9 % | 99,9 % | 99,9 % | 99,9 % |
Mesmo sem o patamar da subida, 1 ms já perde 7 a 9 pontos: o \(T_s\) é o que mais pesa.
Registrador de 8 bits (\(x^8 + x^6 + x^5 + x^4 + 1\)): 255 bits; bit de duração \(T_b = N_b T_s\).
| Grandeza | Ensaio feito | Recomendado |
|---|---|---|
| \(T_s\), \(N_b\) | 1 ms, 5 | 5 ms, 4 |
| \(T_b = N_b T_s\) | 5 ms | 20 ms |
| Faixa excitada \(0{,}44/T_b\) | 88 Hz | 22 Hz |
| Pulso mais longo \(8\,T_b\) | 40 ms | 160 ms |
| 2000 amostras | 2 s (1,6 período) | 10 s (2 períodos) |
Com \(T_b\) = 5 ms, a energia vai até 90 Hz, onde o filtro já atenua mais de 30 dB. Com \(T_b\) = 20 ms, ela fica até ≈ 22 Hz, cobrindo os dois polos.
Bits de 5 ms são curtos para o filtro: \(y\) quase nunca chega aos níveis 0,6 e 1,4 V. Para a identificação, os dados foram tomados a cada 5 ms (os bits de 5 ms continuam exatos).
Nas variações em torno do ponto de operação (\(u_0\) = 1,0 V), com atraso de uma amostra (o firmware lê \(y(k)\) antes de escrever \(u(k)\) no DAC):
\[ y(k) = a_1\,y(k-1) + a_2\,y(k-2) + b_1\,u(k-1) + b_2\,u(k-2) \]
Identificação com os primeiros 70 % das amostras; validação com os 30 % finais e com o degrau.
| \(a_1\) | \(a_2\) | \(b_1\) | \(b_2\) | \(K\) | \(\tau_1\), \(\tau_2\) | |
|---|---|---|---|---|---|---|
| ARX, \(T_s\) = 1 ms | 1,726 | −0,730 | 0,0048 | 0,0002 | 1,18 | 60 ms, 3,4 ms |
| ARX, \(T_s\) = 5 ms | 1,373 | −0,447 | 0,0505 | 0,0241 | 1,00 | 29 ms, 7,9 ms |
| OE, \(T_s\) = 5 ms | 1,386 | −0,460 | 0,0507 | 0,0231 | 1,00 | 28 ms, 8,4 ms |
Com \(T_s\) = 5 ms, ARX e OE praticamente coincidem: ajuste de 96 % no degrau e 98 % na PRBS.
Simulação livre do ARX (\(T_s\) = 5 ms) com a entrada medida, a partir de dados que não entraram na identificação: ajuste de 98 %.
Os dois dão a mesma forma de modelo, \(G(z) = \dfrac{b_1 z^{-1} + b_2 z^{-2}}{1 - a_1 z^{-1} - a_2 z^{-2}}\); muda só o critério do ajuste:
| ARX | OE (erro de saída) | |
|---|---|---|
| O que minimiza | erro da previsão de um passo, com o \(y\) medido | erro da simulação livre, com o \(y\) do próprio modelo |
| Cálculo | mínimos quadrados (uma conta) | otimização iterativa (oe do MATLAB) |
| Sensível a \(T_s\) pequeno e ruído | sim | pouco |
SK02PRBSSK01Degrau pode ficar em 1 ms: para validar, toma-se uma amostra a cada 5.| Nota | Modelo | Origem |
|---|---|---|
| Planejamento, Controle P, Controle PI | ARX(1,3,1), \(T_s\) = 5 ms | ensaio PRBS anterior (DadosPRBS01.csv) |
| Controle Preditivo | ARX(2,2,1), \(T_s\) = 1 ms | ensaio PRBS anterior (DadosPRBS1ms.csv) |
c2d(d2c(G, 'zoh'), 1e-3).Código: analise/ident_sk.m (figuras e números desta apresentação).