Contenuto principale

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

Discrete Derivative

Calcolare la derivata a tempo discreto

  • Discrete Derivative block

Librerie:
Simulink / Discrete

Descrizione

Il blocco Discrete Derivative calcola una derivata a tempo discreto opzionalmente ridimensionata come segue

y(tn)=K(u(tn)u(tn1)Ts)

dove

  • u(tn) e y(tn) sono rispettivamente l'input e l'output del blocco nel passaggio temporale corrente.

  • u(tn1) è l'input del blocco nel passaggio temporale precedente.

  • K è un fattore di ridimensionamento opzionale, specificato utilizzando il parametro Gain value.

  • Ts è la dimensione discreta del passaggio della simulazione, che deve essere fissa.

Nota

Non utilizzare questo blocco in sottosistemi con attivazione non periodica, ad esempio sottosistemi a chiamata di funzione non periodica. Questa configurazione produce risultati non accurati.

Esempi

espandi tutto

Questo esempio mostra come utilizzare il blocco Discrete Derivative per calcolare la derivata a tempo discreto di un segnale di input in virgola mobile. La derivata a tempo discreto non filtrata viene confrontata con una derivata a tempo discreto filtrata calcolata dal blocco Discrete Filter.

Porte

Input

espandi tutto

Segnale di input, specificato come scalare, vettore o matrice.

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Output

espandi tutto

Derivata a tempo discreto opzionalmente ridimensionata, specificata come scalare, vettore o matrice. Per ulteriori informazioni su come il blocco calcola la derivata a tempo discreto, vedere Descrizione. Il tipo di dati del segnale di output viene specificato con il parametro Output data type.

Tipi di dati: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Parametri

espandi tutto

Principale

Fattore di ridimensionamento applicato alla derivata computazionale, specificato come valore scalare reale.

Utilizzo programmatico

Parametro dei blocchi: gainval
Tipo: vettore di caratteri
Valori: scalare
Impostazione predefinita: '1.0'

Condizione iniziale per l'input ridimensionato precedente, specificato come scalare.

Utilizzo programmatico

Parametro dei blocchi: ICPrevScaledInput
Tipo: vettore di caratteri
Valori: scalare
Impostazione predefinita: '0.0'

Specificare se il blocco esegue un'elaborazione basata su campioni o su frame:

  • Columns as channels (frame based): tratta ciascuna colonna dell'input come un canale separato (elaborazione basata su frame).

    Nota

    L'elaborazione basata su frame richiede una licenza DSP System Toolbox™.

    Per ulteriori informazioni, vedere Sample- and Frame-Based Concepts (DSP System Toolbox).

  • Elements as channels (sample based): tratta ciascun elemento dell'input come un canale separato (elaborazione basata su campioni).

Utilizzare Input processing per specificare se il blocco esegue un'elaborazione basata su campioni o su frame. Per ulteriori informazioni su queste due modalità di elaborazione, vedere Sample- and Frame-Based Concepts (DSP System Toolbox).

Utilizzo programmatico

Parametro dei blocchi: InputProcessing
Tipo: vettore di caratteri
Valori: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
Impostazione predefinita: 'Elements as channels (sample based)'

Attributi del segnale

Valore inferiore dell'intervallo di output controllato dal software.

Il software utilizza il minimo per eseguire:

Suggerimenti

Output minimo non satura e non taglia il segnale di output effettivo. Utilizzare invece il blocco Saturation.

Utilizzo programmatico

Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.

Parametro: OutMin
Valori: '[]' (predefinito) | scalar in quotes

Valore superiore dell'intervallo di output controllato dal software.

Il software utilizza il valore massimo per eseguire:

Suggerimenti

Output massimo non satura e non taglia il segnale di output effettivo. Utilizzare invece il blocco Saturation.

Utilizzo programmatico

Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.

Parametro: OutMax
Valori: '[]' (predefinito) | scalar in quotes

Specificare il tipo di dati di output. È possibile impostarlo su:

  • Una regola che eredita un tipo di dati, ad esempio Inherit: Inherit via back propagation

  • Il nome di un tipo di dati integrato, ad esempio single

  • Il nome di un oggetto di tipo dati, ad esempio un oggetto Simulink.NumericType

  • Un'espressione che viene valutata come un tipo di dati, ad esempio fixdt(1,16,0)

Data Type Assistant aiuta a impostare gli attributi dei dati. Per utilizzare Data Type Assistant, fare clic su the Show data type assistant button. Per ulteriori informazioni, vedere Specify Data Types Using Data Type Assistant.

Utilizzo programmatico

Parametro dei blocchi: OutDataTypeStr
Tipo: vettore di caratteri
Valori: 'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)'
Impostazione predefinita: 'Inherit: Inherit via internal rule'

Selezionare questo parametro per evitare che gli strumenti in virgola fissa sovrascrivano il tipo di dati di Output specificato nel blocco. Per ulteriori informazioni, vedere Use Lock Output Data Type Setting (Fixed-Point Designer).

Utilizzo programmatico

Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.

Parametro: LockScale
Valori: 'off' (predefinito) | 'on'

Specificare il metodo di arrotondamento per le operazioni in virgola fissa. Per ulteriori informazioni, vedere Rounding Modes (Fixed-Point Designer).

I parametri del blocco vengono sempre arrotondati al valore rappresentabile più vicino. Per controllare l'arrotondamento di un parametro del blocco, inserire un'espressione utilizzando una funzione di arrotondamento di MATLAB® nel campo della maschera.

Utilizzo programmatico

Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.

Parametro: RndMeth
Valori: 'Floor' (predefinito) | 'Ceiling' | 'Convergent' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'

Quando si seleziona questa casella di spunta, gli overflow vengono saturati al valore massimo o minimo che il tipo di dati può rappresentare. In caso contrario, gli overflow si avvolgono.

Quando si seleziona questa casella di spunta, la saturazione si applica a ogni operazione interna sul blocco, non solo all'output o al risultato. In generale, il processo di generazione di codice può rilevare quando l'overflow non è possibile. In questo caso, il generatore di codice non produce codice di saturazione.

Utilizzo programmatico

Parametro dei blocchi: DoSatur
Tipo: vettore di caratteri
Valori: 'off' | 'on'
Impostazione predefinita: 'off'

Caratteristiche del blocco

Tipi di dati:

double | fixed point | integer | single

Passaggio diretto

Segnali multidimensionali

no

Segnali di dimensioni variabili

Rilevamento zero-crossing

no

Funzionalità estese

espandi tutto

Generazione di codice PLC
Genera codice di testo strutturato con Simulink® PLC Coder™.

Conversione a virgola fissa
Progetta e simula sistemi a virgola fissa con Fixed-Point Designer™.

Cronologia versioni

Introduzione prima di R2006a