Estimación de Estados Observadores Reducidos o de Orden Mínimo. Fernando di Sciascio (2016)

Documentos relacionados
Estimación de Estados Observadores. Fernando di Sciascio (2016)

CONTROL POR REALIMENTACIÓN DE ESTADOS

Teoría de Control Moderna

Control Moderno. Ene.-Jun Diseño de controlador con referencia a la entrada, servosistemas. Dr. Rodolfo Salinas. mayo 2007

VALORES PROPIOS (AUTOVALORES) VECTORES PROPIOS (AUTOVECTORES)

Control Automático. Control con observadores de estado

Parte I. Diseño utilizando Variables de Estado

Control por realimentación del estado

VALORES PROPIOS (AUTOVALORES) VECTORES PROPIOS (AUTOVECTORES) Fernando di Sciascio (2017)

DIAGRAMAS DE ESTADO. Fernando di Sciascio (2016)

DIAGRAMAS DE ESTADO. Fernando di Sciascio (2017)

Controlabilidad, Observabilidad y Detactabilidad

Sistema neumático de control de nivel

Realimentación de Estado DSEÑO DE SSTEMAS DE Los polos del sistema en lazo cerrado se reubican mediante una matriz de ganancias K (dimensiones rxn) qu

TÉCNICA DEL LUGAR GEOMÉTRICO DE LAS RAÍCES

CASOS ESPECIALES DEL LUGAR GEOMÉTRICO DE LAS RAÍCES. Fernando di Sciascio (2017)

Controlabilidad Observabilidad Principio de Dualidad Descomposición Canónica o de de Kalman Realizaciones Balanceadas. Fernando di Sciascio (2016)

11 REPRESENTACIÓN EN EL ESPACIO DE ESTADO. 1.3 SOLUCIÓN DE ECUACIONES DE ESTADO EN TIEMPO

Observadores del estado

Controlabilidad completa del estado para sistemas en tiempo continuo

Control Analógico II M.I. Isidro Ignacio Lázaro Castillo

Control Moderno. Ene.-Jun Observabilidad y Observadores de Estado. Dr. Rodolfo Salinas. mayo 2007

SISTEMAS DE CONTROL AVANZADO

Control Moderno: Paradigmas y Desafíos

6.- Lugar Geométrico de la Raíces en Sistemas Discretos

Observadores de estados

TEORÍA DE CONTROL. Realimentación de Variables de Estado Reasignación de Autovalores

CONTROL DE VELOCIDAD DE UN MOTOR DC, USANDO FILTROS DE KALMAN EN TIEMPO CONTINUO

Diseño en espacio de estados

Los Diagramas de Estado son una extensión de los diagramas de flujo señal y permiten describir gráficamente ecuaciones diferenciales y de estado.

TEORÍA DE CONTROL. Estimador asintótico de estados Caso SISO

6. Diseño Básico de controladores SISO

Sistemas de control con realimentación de la salida

HORARIO DE CLASES SEGUNDO SEMESTRE

Control en el Espacio de Estado 3. Controlabilidad. por Pascual Campoy Universidad Politécnica Madrid

Práctica 4 CONVERSIÓN ENTRE LAS DIFERENTES REPRESENTACIONES DE LOS MODELOS LABORATORIO DE MODELADO DE SISTEMAS

CAPITULO 3 3. METÓDO DE UBICACIÓN DE POLOS PARA EL ANÁLISIS EN EL DISEÑO DEL SISTEMA DEL TIPO REGULADOR.

Modelos en el Espacio de Estado

Descomposiciones Canónicas

Clase 8 Matrices Álgebra Lineal

1.5. Seguimiento de Referencias Acción Integral Controlador con Dos Grados de Libertad 35

- Facultad de Ingeniería-

CORRECCIÓN PRUEBA 2ª EVALUACIÓN

1. Análisis de Sistemas Discretos

Diseño en espacio de estados

Espacios euclídeos. Transformaciones ortogonales

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

Estimación de estados

Sistemas de Control lineal óptimo con realimentación de estado

Diseño de Observadores Lineales Dedicados aplicados al problema del diagnóstico de fallas

SOLUCIONARIO PROBLEMAS REALIMENTACION DE ESTADOS

ELEMENTOS DE ALGEBRA LINEAL

1. Diseño Óptimo en Variables de Estado 1

Repaso de álgebra de matrices y probabilidad. Javier Santibáñez (IIMAS, UNAM) Regresión Semestre / 58

donde,, es controlable si y solo si la matriz de controlabilidad tiene rango,

2º INGENIERÍA INDUSTRIAL TEORÍA DE CIRCUITOS Y SISTEMAS

8. Consideraciones estructurales en control SISO

CAPÍTULO. Control Proporcional Integral Generalizado. II.1 Introducción. II. Control Proporcional Integral Generalizado

Introducción al control óptimo

INGENIERIA DE CONTROL II

FACULTAD DE INGENIERÍA

UNIVERSIDAD NACIONAL DEL CALLAO

Estadística III Repaso de Algebra Lineal

Planificaciones Teoría de Control II. Docente responsable: SACO ROBERTO. 1 de 5

INTRODUCCIÓN A MATLAB. Laboratorio de Biofísica, U.T.P

Control Automático I - Certamen 2 Pauta de Correción

c-inversa o inversa generalizada de Rao

SISTEMAS ELECTRÓNICOS DE CONTROL

El principio básico del control en lazo cerrado clásico se muestra en la siguiente figura: Acciones de Control. Elementos de medición

Unidad I Análisis de Sistemas Realimentados

PRÁCTICA Nº 10. ANÁLISIS DE LA RESPUESTA EN FRECUENCIA UTILIZANDO MATLAB. DIAGRAMA DE NYQUIST

10. Diseño avanzado de controladores SISO

CONTROL AVANZADO I TRABAJO PRACTICO 2: REALIMENTACION DE ESTADOS

1. Problema de Generación de Trayectoria

Pontificia Universidad Católica del Perú ICA624: Control Robusto. 2. Características de los Sistemas MIMO Valores Singulares Normas Matriciales

3.1. Operaciones con matrices. (Suma, resta, producto y traspuesta)

PROBLEMAS RESUELTOS SELECTIVIDAD ANDALUCÍA 2008 MATEMÁTICAS II TEMA 3: ESPACIO AFIN Y EUCLIDEO

Representación en el espacio de estado. Sistemas Control Embebidos e Instrumentación Electrónica UNIVERSIDAD EAFIT

Rancagua, Agosto 2009

d (ii) 1() 1() 0 G s H s (5.18) Además, si al evaluar: 0, raíces de multiplicidad par =0, raíces de multiplicidad impar y hay cambio de signo. (5.

Examen Ingeniería de Control 12/2014

Universidad Nacional de Ingeniería - Facultad de Ingeniería Mecánica Departamento Académico de Ingeniería Aplicada

ESCUELA POLITÉCNICA DEL EJÉRCITO DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA CARRERA DE INGENIERÍA EN ELECTRÓNICA, AUTOMATIZACIÓN Y CONTROL

Automatización de Procesos/Sistemas de Control Ing. Biomédica e Ing. Electrónica Capitulo V Controladores PID

Trabajo autónomo 6: Diagrama de Bode y Nyquist

15. LUGAR DE LAS RAICES - CONSTRUCCION


Linealización por realimentación. Linealización por realimentación

1 Control Óptimo. 1.1 Introducción Problema típico de control óptimo

1. Control de Mínima Varianza

Programación MATLAB: Ecuaciones, polinomios, regresión e interpolación.

MATEMÁTICA Semejanza Guía Nº 4

{ẋ t =Ax t Bu t. Modelos en el espacio de estados. y t =Cx t Du t. Objetivos específicos. Materiales y equipo. Introducción Teórica

PROBLEMAS DE ÁLGEBRA LINEAL INGENIERÍA DE TELECOMUNICACIONES - E.T.S.I.T. CURSO 2005/06

Regulación y Control de Máquinas Navales Práctica Módulo 1: Modelado de Sistemas Curso

Espacio de estado.- el espacio n dimensional cuyos ejes de coordenadas consisten en el eje X1, X2... Xn y se denomina espacio de estado

Transcripción:

Estimación de Estados Observadores Reducidos o de Orden Mínimo Fernando di Sciascio (206)

Observadores reducidos o de orden mínimo o El vector de estado x(t) es de dimensión n y la salida y(t) es un escalar medible que se expresa como una combinación lineal de las variables de estado (y(t)=cx(t)). Por lo que no necesitan estimarse las n variables de estado, sino sólo n-. Así, el observador de orden reducido se vuelve un observador de (n-)-ésimo orden. 2

Procedimiento de diseño de un observador reducido Paso ) El modelo de estados ( A, B, C, D ) se transforma a la forma Canónica Controlable b o beta ( A, B, C, D ). En estas coordenadas la salida queda como el primer estado (así, no es necesario construir un observador para estimar todo el estado, sino solamente los n - restantes). Si el par (A,C) es observable, usamos la matriz de observabilidad (que es no singular) como matriz de transformación o cambio de base llevamos la planta original a la forma Canónica Controlable b (FCCb). n C CA CA T A A 0 0 0 0 0 0 0 0 0 a a a a 0 2 n 3

B a a2 an b0 a a 0 b 2 2 3 0 0 n n n 2 n a 0 0 0 b b M - b C C 0 0 0, D 0 n B Donde los coeficientes se obtienen de la función de transferencia Gs () n n n 0 n n 0 Ys () bns b s b s b Us () n s a s a s a El cambio de base a la FCCb se hace teniendo en cuenta que la matriz de transformación es la matriz de observabilidad del sistema original. 4

Paso 2) Se particiona el vector de estados x en dos partes xa (un escalar) y xb [un vector de dimensión (n-)]. Aquí la variable de estado xa es igual a la salida y de modo que se mide directamente, y xb es la parte no medible del vector de estado. De esta forma, el estado particionado y las ecuaciones de salida son xa( t) Aaa Aab xa( t) Ba ut () x ( t) A A x ( t) B b ba bb b b yt ( ) 0 n x a () t x () t b Paso 3) Se determina la matriz de ganancia del observador L,, 2,..., n- son los valores propios deseados para el observador de orden mínimo. si A LA ( s )( s ) ( s ) bb ab 2 n n n 2 n 2 0 s s s 0 5

Determinación de la matriz de ganancia del observador de orden reducido L con MATLAB Debido a la dualidad del diseño de asignación de polos y del observador, se puede aplicar el mismo algoritmo a ambos problemas. Así los comandos de Matlab acker y place se pueden utilizar para determinar la matriz de ganancia del observador L. T T T bb ab 2 n L acker( A, A,[ ]) Donde, 2,..., n- son valores propios deseados para el observador de orden mínimo. También se puede utilizar T T T bb ab 2 n L place( A, A,[ ]) 6

Paso 4) Se construye el siguiente sistema de orden n que genera una estima asintótica de x(t). ( t) Aˆ ( t) Fu ˆ ( t) By ˆ ( t) Aˆ ( t) Fˆ u() t Bˆ yt () y( t) 0 n ( t) ( t) xˆ( t) Cˆ Dˆ Cˆ ( t) Dy ˆ ( t) ( t) Ly( t) I L y( t) y( t) n donde Aˆ A LA bb Bˆ AL ˆ A LA ba Fˆ B LB b ab a aa Cˆ Dˆ 0 L n I n 7

El diseño anterior lo verificamos en una simulación sin realimentación de los estados. El scripts siguiente simula este caso. 8

clear, clc, close all planta_original=ss(zpk([-2+2i -2-2i],[- -.5+2i -.5-2i -3],2.344)); [A,B,C,D]=ssdata(planta_original); % OBSERVADOR DE ORDEN REDUCIDO % ) Se pasa la planta a la FCCb. [Acc,Bcc,Ccc,Dcc]=ss2ss(A,B,C,D,obsv(A,C)); planta_fccb=ss(acc,bcc,ccc,dcc); x0=[3 2-3 -]; % Condiciones iniciales % Realizo la partición de las matrices Acc y Bcc Aaa=Acc(,); Aab=Acc(,2:end); Aba=Acc(2:end,); Abb=Acc(2:end,2:end); Ba=Bcc(); Bb=Bcc(2:end); %Se especifican los autovalores deseados del observador y se determina L lambdas_obs=[-0-0 -0]; L=acker(Abb',Aab',lambdas_obs)'; % Calculo las matrices y vectores con sombrero (hat)ahat, Bhat, Chat, Dhat, Fhat Ahat=Abb-L*Aab; Bhat=Ahat*L+Aba-L*Aaa; Chat=[zeros(,length(A)-);eye(length(A)-)]; Dhat=[;L]; Fhat=Bb-L*Ba; observer=ss(ahat,[bhat Fhat],eye(length(A)-),zeros(length(A)-,2)); % Se simula la planta ya que se necesita y(t) t=[0:0.0:5];u=zeros(length(t),); [y,t,x]=lsim(planta_fccb,u,t, x0); % Se simula el observador [z,t]=lsim(observer,[y u]',t); %xe=chat*z'+dhat*y; z=z'; for i=:length(t); xe(i,:)=chat*z(:,i)+dhat*y(i); end; subplot(2,2,);plot(t,xe(:,),'r',t,x(:,),'b','linewidth',2); line([0 max(t)],[0 0],'LineWidth',,'Color','k','LineStyle','-') %Eje real legend('xe(t)','x(t)'); xlabel('tiempo [seg]'); ylabel('y(t)=x(t)=xe(t)'); grid on subplot(2,2,2);plot(t,xe(:,2),'r',t,x(:,2),'b','linewidth',2); axis([0 t(end)... min(min(x(:,2)),min(xe(:,2))) max(max(x(:,2)),max(xe(:,2)))]) line([0 max(t)],[0 0],'LineWidth',,'Color','k','LineStyle','-') %Eje real legend('x2e(t)','x2(t)'); xlabel('tiempo [seg]'); ylabel('x2(t), x2e(t)'); grid on subplot(2,2,3);plot(t,xe(:,3),'r',t,x(:,3),'b','linewidth',2); axis([0 t(end)... min(min(x(:,3)),min(xe(:,3))) max(max(x(:,3)),max(xe(:,3)))]) line([0 max(t)],[0 0],'LineWidth',,'Color','k','LineStyle','-') %Eje real legend('x3e(t)','x3(t)'); xlabel('tiempo [seg]'); ylabel('x3(t), x3e(t)'); grid on subplot(2,2,4);plot(t,xe(:,4),'r',t,x(:,4),'b','linewidth',2); axis([0 t(end)... min(min(x(:,4)),min(xe(:,4))) max(max(x(:,4)),max(xe(:,4)))]) line([0 max(t)],[0 0],'LineWidth',,'Color','k','LineStyle','-') %Eje real legend('x4e(t)','x4(t)'); xlabel('tiempo [seg]'); ylabel('x4(t), x4e(t)'); grid on 9

0

Realimentación de los Estados Estimados

Realimentación de los estados estimados Ahora queremos utilizar el observador de orden reducido que hemos obtenido en el controlador (realimentación de los estados estimados). Para regulación como muestra la figura. 2

o para seguimiento. 3

Si analizamos la script anterior vemos que primero simulamos la planta y después el observador introduciendo la misma u(t) y la salida y(t) de la simulación de la planta. Ahora con el sistema a lazo cerrado esa estrategia de simulación no la podemos emplear. En el observador de orden completo no tuvimos este inconveniente ya que disponíamos del modelo completo a lazo cerrado. xt () A BK x() t BF rt () xt ˆ () LC A LC BK xˆ () t BF A cl B cl y( t) C 0 C cl xt () xt ˆ( ) No tenemos en el observador de orden reducido un modelo a lazo cerrado similar al de orden completo. 4

Existen varias alternativas para realizar la simulación a lazo cerrado. ) Utilizar el comando connect para construir en Matlab el modelo a lazo cerrado. 2) La solución más sencilla es construir el modelo a lazo cerrado en Simulink. y realizar la simulación desde Matlab con el comando sim en vez del lsim. 5

3) Obtener la función de transferencia del observador de orden reducidocontrolador Goc() s como hicimos en el observador de orden completo y analizar la respuesta del sistema con la salida. En este caso perdemos la información de la evolución de los estados de la planta y de los del observador (estimaciones) pero se asume que si la salida es la adecuada todo va bien (recordemos que los estados son un medio para construir un controlador que nos de la salida deseada). 6

Función de Transferencia Observador de orden reducido-controlador La función de transferencia conjunta del observador de orden reducidocontrolador Goc() s es: (ver deducción en Ogata) Us () C adj( si A) B si A D Goc( s) C ( si A) B D Ys () si A 7

Donde : Aˆ A LA bb Bˆ AL ˆ A LA Fˆ B LB b ba a ab aa K K K, K k, K k k k, a b a b 2 3 n A Aˆ FK ˆ b B Bˆ Fˆ( K K L ) C K b D ( K K L) % Cálculo de la matriz de ganancia de realimentación del estado K A = [0 0;0 0 ;0-24 -0]; B = [0;0;-80]; C = [ 0 0]; D=0; lambdas_cont = [-+2*i --2*i -5]; K = acker(a,b,lambdas_cont); % K=.2500.2500 0.9375 % Cálculo de la matriz de ganancia del observador L Aaa=0; Aab=[ 0]; Aba=[0;0]; Abb=[0 ;-24-0];Ba=0; Bb=[0;-80]; lambdas_obs= [-0-0]; L = acker(abb',aab',lambdas_obs)'; % L=[0-24]' % Determinación de la función de transferencia del controlador-observador a a b b 8

Ka =.25; Kb = [.25 0.9375]; Ahat = Abb-L*Aab; Bhat = Ahat*L+Aba-L*Aaa; Fhat = Bb-L*Ba; Atilde = Ahat-Fhat*Kb; Btilde = Bhat-Fhat*(Ka+Kb*L); Ctilde = -Kb; Dtilde = -(Ka+Kb*L); [num,den] = ss2tf(atilde, Btilde, -Ctilde, -Dtilde); Gc=tf(num,den) % La función de transferencia del observador-controlador es: % 9. s^2 + 73.5 s + 25 % G(s) = ---------------------- % s^2 + 7 s - 30 % La función de transferencia es propia (no estrictamente propia), esto significa que el % orden del numerador es igual al del denominador (número de ceros igual al número de polos). %Llegamos a la misma función de transferencia con la function diofantina Acl=poly([lambdas_cont lambdas_obs]); [b,a]=ss2tf(a,b,c,d); [R,S] = diofantina(a,b,acl); Gc_diofantina=zpk(tf(S,R)) % Da la misma función de transferencia: % 9. s^2 + 73.5 s + 25 % G_diofantina(s) = ---------------------- % s^2 + 7 s - 30 9

Diseño alternativo de observadores de orden reducido Paso ) Se transforma el modelo de estados original ( A, B, C, D ) a la forma Canónica Controlable b o beta ( A, B, C, D ). En estas coordenadas la salida queda como el primer estado. Paso 2) a. Se elige una matriz F cualquiera que sea Hurwitz de ( n ) ( n ) y que no tenga autovalores en común con los de A (o los de A ya que son los mismos). Una opción es a partir de los valores propios deseados del observador, 2,..., n- construir la matriz diagonal F 0 0 0 0 2 diag([ ]) n- 0 0 n- b. Se elige un vector L cualquiera de ( n ) tal que el par ( FL, ) sea controlable. Una opción es elegir las componentes de L aleatorios L=rand(n-,), y verificar que ctrb(f,l) sea de rango completa. 20

Paso 3) Se calcula T, la solución única no singular, de la ecuación de Sylvester: TA FT LC Notar que T es una matriz rectangular de ( n ) n. Paso 4) Se construye el siguiente sistema de orden n que genera z(t). z( t) Fz( t) TBu( t) Ly( t) Fz( t) TB u() t L y() t Paso 5) Se realiza la siguiente transformación lineal para obtener xt ˆ() xt ˆ( ) C y() t T z() t 2

Observar que y( t) xˆ ( t ) C y( t) C yt ( ) y( t) Cxˆ( t) xˆ ( t) xˆ( t) xˆ( t) T z( t) T z( t) z( t) Txˆ ( t) 22

clear, clc, close all planta_original=ss(zpk([-2+2i -2-2i],[- -.5+2i -.5-2i -3],2.344)); [A,B,C,D]=ssdata(planta_original); % OBSERVADOR DE ORDEN REDUCIDO DE CHEN % ) Se pasa la planta a la FCCb. La matriz de transformación es la matriz de observabilidad del sistema original. [Acc,Bcc,Ccc,Dcc]=ss2ss(A,B,C,D,obsv(A,C)); % Se describe la planta en las nuevas coordenadas planta=ss(acc,bcc,ccc,dcc); % Se simula la planta t=[0:0.0:5];u=ones(length(t),); [y,t,x]=lsim(planta,u,t,[3 2-3 -]); % 2) Se especifican los autovalores deseados del observador y se eligen F y L lambdas_obs=[-5-6 -7]; F=diag(lambdas_obs);L=rand(length(Acc)-,); % 3)Se calcula T resolviendo la ecuación de Sylvester -F*T+T*Acc=L*Ccc T = sylvester(-f,acc,l*ccc); % 4) Se construye el siguiente sistema de orden n- que genera una estima de x(t). Aob=F; Bob=[T*Bcc L]; Cob=eye(length(Aob));Dob=zeros(length(Aob),2); observer=ss(aob,bob,cob,dob); [z,t]=lsim(observer,[u y]',t); % 5) Se realiza la transformación final para obtener el estimador xe(t) P=inv([Ccc;T]); zz=[y z]'; for i=:length(t); xe(:,i)=p*zz(:,i); end; subplot(2,2,);plot(t,zeros(,length(t)),'k',t,xe(,:),'r',t,x(:,),'b','linewidth',2); title('y(t)=x(t)=xe(t)'); xlabel('tiempo [seg]'); ylabel('y(t)=x(t)=xe(t)') subplot(2,2,2);plot(t,zeros(,length(t)),t,xe(2,:),'r',t,x(:,2),'b','linewidth',2); axis([0 t(end) -5 5]) title('x2(t)(azul), x2e(t)(rojo)'); xlabel('tiempo [seg]'); ylabel('x2(t), x2e(t)') subplot(2,2,3);plot(t,zeros(,length(t)),t,xe(3,:),'r',t,x(:,3),'b','linewidth',2); axis([0 t(end) -20 5]) title('x3(t)(azul), x3e(t)(rojo)'); xlabel('tiempo [seg]'); ylabel('x3(t), x3e(t)') subplot(2,2,4);plot(t,zeros(,length(t)),t,xe(4,:),'r',t,x(:,4),'b','linewidth',2); axis([0 t(end) -0 40]) title('x4(t)(azul), x4e(t)(rojo)'); xlabel('tiempo [seg]'); ylabel('x4(t), x4e(t)') 23

24

Función de Transferencia Observador de orden reducido-controlador Para este caso la fórmula cerrada del observador de orden reducido-controlador es muy complicada: Us () C 0 C Goc( s) K K Ys () T ( si F) TB T ( si F) L clear, clc, close all A = [0 0;0 0 ;0-24 -0]; B = [0;0;-80]; C = [ 0 0]; D=0; [Acc,Bcc,Ccc,Dcc]=ss2ss(A,B,C,D,obsv(A,C)); lambdas_cont = [-+2*i --2*i -5]; lambdas_obs=[-0-2]; K = acker(acc,bcc,lambdas_cont); % OBSERVADOR DE ORDEN REDUCIDO CHEN F = diag(lambdas_obs); L = rand(length(a)-,); T = sylvester(-f,acc,l*ccc); syms s G_Chen=inv(+K*inv([Ccc;T])*[0 ; inv(eye(length(a)-)*s-f)*t*bcc])*k*... inv([ccc;t])*[;inv(eye(length(a)-)*s-f)*l]; G_Chen=collect(G_Chen,s); [num,den]=numden(g_chen); cnum=coeffs(num); cnum=flip(cnum); cden=coeffs(den);cden=flip(cden); cnum=double(cnum/cden()); cden=double(cden/cden()); G_Chen=zpk(tf(cnum,cden)) %.6 (s+5.593) (s+2.32) % G_Chen = ------------------------ % (s+20.96) (s-.956) 25

Es más fácil utilizar la diofantina clear, clc, close all A = [0 0;0 0 ;0-24 -0]; B = [0;0;-80]; C = [ 0 0]; D=0; lambdas_cont = [-+2*i --2*i -5]; lambdas_obs=[-0-2]; Acl=poly([lambdas_cont lambdas_obs]); [b,a]=ss2tf(a,b,c,d); [R,S] = diofantina(a,b,acl); Gc_Chen_diofantina=zpk(tf(S,R)) % Da la misma función de transferencia: %.6 (s+5.593) (s+2.32) % G_Chen_diofantina = ------------------------ % (s+20.96) (s-.956) 26