Contenuto principale

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Modellazione black-box

Selezione della struttura e dell'ordine del modello black-box

La modellazione black-box è utile quando l’interesse principale è l’adattamento dei dati, a prescindere da una particolare struttura matematica del modello. La toolbox fornisce numerose strutture del modello black-box lineare e non lineare che, tradizionalmente, sono state utili per rappresentare sistemi dinamici. La complessità di queste strutture del modello varia a seconda della flessibilità necessaria per considerare la dinamica e il rumore del proprio sistema. È possibile scegliere una di queste strutture e calcolarne i parametri per adattarli ai dati di risposta misurati.

La modellazione black-box è solitamente un processo per prove ed errori, in cui si stimano i parametri di diverse strutture e si confrontano i risultati. Tipicamente, si inizia con la struttura del modello lineare semplice per passare a strutture più complesse. Un determinato tipo di struttura può anche essere scelto perché lo si conosce più approfonditamente o poiché risponde a specifiche esigenze applicative.

Le strutture black-box lineari più semplici richiedono il minor numero di opzioni di configurazione:

La stima di alcune di queste strutture utilizza anche algoritmi di stima non iterativi che riducono ulteriormente la complessità.

È possibile configurare una struttura del modello utilizzando l’ordine del modello. La definizione dell'ordine del modello varia a seconda del tipo di modello selezionato. Ad esempio, se si sceglie una rappresentazione di una funzione di trasferimento, l’ordine del modello è correlato al numero di poli e di zeri. Per la rappresentazione nello spazio degli stati, l’ordine del modello corrisponde al numero degli stati. In alcuni casi, come per le strutture del modello ARX lineare o nello spazio degli stati, è possibile stimare l’ordine del modello dai dati.

Se le strutture del modello semplice non producono buoni modelli, si possono selezionare strutture del modello più complesse:

  • Specificando un ordine superiore del modello per la stessa struttura del modello lineare. Un ordine superiore del modello ne aumenta la flessibilità per l’acquisizione di fenomeni complessi. Tuttavia, un ordine inutilmente alto può rendere il modello meno affidabile.

  • Modellando il rumore in modo esplicito includendo il termine He(t), come mostrato nella seguente equazione.

    y(t) = Gu(t) + He(t)

    In questo caso, H modella il disturbo additivo trattando il disturbo come l’uscita di un sistema lineare guidato da una sorgente di rumore bianco e(t).

    L’utilizzo di una struttura del modello che modelli il disturbo additivo in modo esplicito può aiutare a migliorare l’accuratezza della componente misurata G. Inoltre, tale struttura del modello è utile quando l’interesse principale è utilizzare il modello per predire valori di risposta futuri.

  • Utilizzando una diversa struttura del modello lineare.

    Vedere Linear Model Structures.

  • Utilizzando una struttura del modello non lineare.

    I modelli non lineari sono maggiormente flessibili nell’acquisizione di fenomeni complessi rispetto ai modelli lineari di ordini simili. Vedere Nonlinear Model Structures.

In definitiva, si scelga la struttura del modello più semplice che fornisca il miglior adattamento ai dati misurati. Per ulteriori informazioni, vedere Stima dei modelli lineari utilizzando Quick start.

Indipendentemente dalla struttura scelta per la stima, è possibile semplificare il modello in base alle esigenze applicative. Ad esempio, è possibile separare la dinamica misurata (G) dalla dinamica del rumore (H) per ottenere un modello semplice che rappresenti esclusivamente la relazione tra y e u. È inoltre possibile linearizzare un modello non lineare su un punto operativo.

Quando è consigliato l'utilizzo di strutture del modello non lineare?

Un modello lineare è spesso sufficiente per descrivere accuratamente la dinamica di sistema e, nella maggior parte dei casi, è buona norma provare prima ad adattare i modelli lineari. Se l’uscita del modello lineare non riproduce adeguatamente l’uscita misurata, potrebbe essere necessario utilizzare un modello non lineare.

È possibile valutare la necessità di dover utilizzare una struttura del modello non lineare tracciando la risposta del sistema su un ingresso. Se si osserva che la risposte differiscono a seconda del livello di ingresso o del segno di ingresso, provare ad utilizzare un modello non lineare. Ad esempio, se la risposta in uscita relativa a un gradino crescente è più veloce rispetto alla risposta relativa a un gradino decrescente, potrebbe essere necessario utilizzare un modello non lineare.

Prima di creare un modello non lineare di un sistema che si sa essere non lineare, provare a trasformare le variabili in ingresso e in uscita affinché la relazione tra le variabili trasformate sia lineare. Ad esempio, si consideri un sistema i cui ingressi sono costituiti dalla corrente e dalla tensione di un riscaldatore a immersione e la cui uscita consiste nel liquido riscaldato. L’uscita dipende dagli ingressi attraverso la potenza del riscaldatore, che è uguale al prodotto della corrente per la tensione. Anziché creare un modello non lineare per questo sistema a due ingressi e a uscita singola, è possibile creare una nuova variabile in ingresso prendendo il prodotto della corrente per la tensione e creando un modello lineare che descriva la relazione tra la potenza e la temperatura.

Se non è possibile determinare le trasformazioni delle variabili che producono una relazione lineare tra le variabili in ingresso e in uscita, è possibile utilizzare strutture non lineari, come i modelli ARX non lineari o Hammerstein-Wiener. Per un elenco delle strutture del modello non lineare supportate e quando utilizzarle, vedere Nonlinear Model Structures.

Esempio di stima black-box

È possibile utilizzare l’app System Identification o i comandi per stimare modelli lineari e non lineari di diverse strutture. Nella maggior parte dei casi, si sceglie una struttura del modello e si stimano i parametri del modello utilizzando un unico comando.

Si consideri il sistema massa-molla-smorzatore descritto in Sistemi e modelli dinamici. Se non si conosce l’equazione di moto di questo sistema, si può utilizzare un approccio di modellazione black-box per creare un modello. Ad esempio, è possibile stimare le funzioni di trasferimento o i modelli nello spazio degli stati specificando gli ordini di queste strutture del modello.

Una funzione di trasferimento è un rapporto di polinomi:

G(s)=(b0+b1s+b2s2+...)(1+f1s+f2s2+...)

Per il sistema massa-molla-smorzatore, questa funzione di trasferimento è

G(s)=1(ms2+cs+k)

che è un sistema senza zeri e con 2 poli.

Nel tempo discreto, la funzione di trasferimento del sistema massa-molla-smorzatore può essere

G(z1)=bz1(1+f1z1+f2z2)

dove gli ordini del modello corrispondono al numero di coefficienti del numeratore e del denominatore (nb = 1 e nf = 2) e il ritardo in ingresso-in uscita è uguale all’esponente di ordine più basso di z–1 nel numeratore (nk = 1).

Nel tempo continuo, è possibile creare un modello di funzione di trasferimento lineare utilizzando il comando tfest.

m = tfest(data,2,0)

In questo caso, data sono i dati in ingresso-in uscita misurati, rappresentati come un oggetto iddata, mentre l’ordine del modello è l’insieme del numero di poli (2) e del numero di zeri (0).

Allo stesso modo, è possibile creare una struttura dell’errore in uscita del modello a tempo discreto utilizzando il comando oe.

m = oe(data,[1 2 1])

L’ordine del modello è [nb nf nk] = [1 2 1]. Di solito, gli ordini del modello non sono noti in anticipo. Provare diversi valori di ordine del modello finché non vengono trovati gli ordini che producono un modello accettabile.

In alternativa, si può scegliere una struttura nello spazio degli stati per rappresentare il sistema massa-molla-smorzatore e stimare i parametri del modello utilizzando il comando ssest o n4sid.

m = ssest(data,2)

In questo caso, il secondo argomento 2 rappresenta l’ordine o il numero di stati nel modello.

Nella modellazione black-box, non è necessaria l’equazione di moto per il sistema, ma solo un’ipotesi degli ordini del modello.

Per ulteriori informazioni sulla creazione dei modelli, vedere Steps for Using the System Identification App e Model Estimation Commands.