Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Análisis modal de modelos identificados

Identificar los modelos de estado-espacio de los sistemas. Utilice los modelos para calcular funciones de respuesta de frecuencia y parámetros modales. Este ejemplo requiere una licencia ™ System Identification Toolbox.

Excitación de martillo

Cargue un archivo que contenga datos de excitación de martillo de tres entradas/tres salidas muestreados a 4 kHz. Utilice el primer

<math display="inline">
<mrow>
<msup>
<mrow>
<mn>10</mn>
</mrow>
<mrow>
<mn>4</mn>
</mrow>
</msup>
</mrow>
</math>
muestras para estimación y muestras
<math display="inline">
<mrow>
<mn>2</mn>
<mo>×</mo>
<msup>
<mrow>
<mn>10</mn>
</mrow>
<mrow>
<mn>4</mn>
</mrow>
</msup>
<mtext></mtext>
</mrow>
</math>
Para
<math display="inline">
<mrow>
<mn>5</mn>
<mo>×</mo>
<msup>
<mrow>
<mn>10</mn>
</mrow>
<mrow>
<mn>4</mn>
</mrow>
</msup>
</mrow>
</math>
para la validación de la calidad del modelo. Especifique el tiempo de muestreo como el inverso de la frecuencia de muestreo. Almacene los datos como objetos.@iddata

load modaldata XhammerMISO1 YhammerMISO1 fs  rest = 1:1e4; rval = 2e4:5e4; Ts = 1/fs;  Estimation = iddata(YhammerMISO1(rest,:),XhammerMISO1(rest,:),Ts); Validation = iddata(YhammerMISO1(rval,:),XhammerMISO1(rval,:),Ts,'Tstart',rval(1)*Ts);

Trazar los datos de estimación y los datos de validación.

plot(Estimation,Validation) legend(gca,'show')

Utilice la función para estimar un modelo de espacio de estado de 7a orden del sistema que minimice el error de simulación entre las salidas medidas y las salidas del modelo.ssest Especifique que el modelo de espacio de estado tiene avance.

Orders = 7; opt = ssestOptions('Focus','simulation');  sys = ssest(Estimation,Orders,'Feedthrough',true,'Ts',Ts,opt);

(Para encontrar el orden del modelo que proporciona el mejor equilibrio entre precisión y complejidad, establecido en el código anterior. genera un gráfico de registro de valores singulares que le permite especificar el orden de forma interactiva.Orders1:15ssest La función también recomienda un orden de modelo de 7.)

Valide la calidad del modelo en el conjunto de datos de validación. Trazar la medida de error cuadrado medio de raíz normalizada (NRMSE) de bondad de ajuste. El modelo describe con precisión las señales de salida de los datos de validación.

compare(Validation,sys)

Estimar las funciones de respuesta de frecuencia del modelo. Visualice las funciones utilizando sin argumentos de salida.modalfrf

[frf,f] = modalfrf(sys); modalfrf(sys)

Supongamos que el sistema está bien descrito utilizando tres modos. Calcular las frecuencias naturales, las relaciones de amortiguación y los vectores de forma de modo de los tres modos.

Modes = 3; [fn,dr,ms] = modalfit(sys,f,Modes)
fn = 3×1
103 ×

    0.3727
    0.8525
    1.3706

dr = 3×1

    0.0008
    0.0018
    0.0029

ms = 3×3 complex

   0.0036 - 0.0019i   0.0039 - 0.0005i   0.0021 + 0.0006i
   0.0043 - 0.0023i   0.0010 - 0.0001i  -0.0033 - 0.0010i
   0.0040 - 0.0021i  -0.0031 + 0.0004i   0.0011 + 0.0003i

Calcular y mostrar las funciones de respuesta de frecuencia reconstruidas. Expresar las magnitudes en decibelios.

[~,~,~,ofrf] = modalfit(sys,f,Modes);  clf for ij = 1:3     for ji = 1:3         subplot(3,3,3*(ij-1)+ji)         plot(f/1000,20*log10(abs(ofrf(:,ji,ij))))         axis tight         title(sprintf('In%d -> Out%d',ij,ji))         if ij==3             xlabel('Frequency (kHz)')         end     end end

Proceso inestable controlado

Cargue un archivo que contenga una medición de respuesta de frecuencia de alta densidad modal. Los datos corresponden a un proceso inestable mantenido en equilibrio mediante el control de realimentación. Almacene los datos como un objeto para su identificación.idfrd Trazar el diagrama de Bode.

load HighModalDensData FRF f  G = idfrd(permute(FRF,[2 3 1]),f,0,'FrequencyUnit','Hz'); figure bodemag(G) xlim([0.01,2e3])

Identifique una función de transferencia con 32 polos y 32 ceros.

sys = tfest(G,32,32);

Compare la respuesta de frecuencia del modelo con la respuesta medida.

bodemag(G,sys) xlim([0.01,2e3]) legend(gca,'show')

Extraiga las frecuencias naturales y las relaciones de amortiguación de los primeros 10 modos oscilatorios menos amortiguados. Almacene los resultados en una tabla.

[fn,dr] = modalfit(sys,[],10); T = table((1:10)',fn,dr,'VariableNames',{'Mode','Frequency','Damping'})
T=10×3 table
    Mode    Frequency     Damping 
    ____    _________    _________

      1      82.764       0.011304
      2      85.013       0.015632
      3      124.04       0.025252
      4      142.04       0.017687
      5      251.46      0.0062182
      6      332.79      0.0058266
      7      401.21      0.0043645
      8      625.14      0.0039247
      9      770.49       0.002795
     10      943.64      0.0019943

Consulte también

| |