Discrete Derivative
Calcolare la derivata a tempo discreto
Librerie:
Simulink /
Discrete
Descrizione
Il blocco Discrete Derivative calcola una derivata a tempo discreto opzionalmente ridimensionata come segue
dove
e sono rispettivamente l'input e l'output del blocco nel passaggio temporale corrente.
è l'input del blocco nel passaggio temporale precedente.
è un fattore di ridimensionamento opzionale, specificato utilizzando il parametro Gain value.
è 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
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
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
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
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:
Il controllo dell'intervallo dei parametri (vedere Specify Minimum and Maximum Values for Block Parameters) per alcuni blocchi.
Il controllo dell'intervallo di simulazione (vedere Specify Signal Ranges e Enable Simulation Range Checking).
La scalatura automatica dei tipi di dati in virgola fissa.
L'ottimizzazione del codice generato dal modello. Questa ottimizzazione può rimuovere il codice algoritmico e influenzare i risultati di alcune modalità di simulazione, come la modalità SIL o la modalità esterna. Per ulteriori informazioni, vedere Optimize using the specified minimum and maximum values (Embedded Coder).
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:
Il controllo dell'intervallo dei parametri (vedere Specify Minimum and Maximum Values for Block Parameters) per alcuni blocchi.
Il controllo dell'intervallo di simulazione (vedere Specify Signal Ranges e Enable Simulation Range Checking).
La scalatura automatica dei tipi di dati in virgola fissa.
L'ottimizzazione del codice generato dal modello. Questa ottimizzazione può rimuovere il codice algoritmico e influenzare i risultati di alcune modalità di simulazione, come la modalità SIL o la modalità esterna. Per ulteriori informazioni, vedere Optimize using the specified minimum and maximum values (Embedded Coder).
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 propagationIl nome di un tipo di dati integrato, ad esempio
singleIl nome di un oggetto di tipo dati, ad esempio un oggetto
Simulink.NumericTypeUn'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
. 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: |
|
Passaggio diretto |
|
Segnali multidimensionali |
|
Segnali di dimensioni variabili |
|
Rilevamento zero-crossing |
|
Funzionalità estese
Dipende dal tempo assoluto quando utilizzato all'interno di una gerarchia di sottosistemi attivati.
In determinate condizioni, il codice generato poggia sulle funzioni
memcpyomemset(string.h).
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
Vedi anche
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.
Americhe
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)