Demux
Estrarre e generare gli elementi di segnale vettoriale virtuale
Librerie:
Simulink /
Commonly Used Blocks
Simulink /
Signal Routing
HDL Coder /
Commonly Used Blocks
HDL Coder /
Signal Routing
Descrizione
Il blocco Demux estrae i componenti di un segnale vettoriale di input e genera segnali separati. Le porte del segnale di output sono ordinate dall'alto verso il basso.
Esempi
È possibile utilizzare il blocco Demux per distribuire un segnale di input in modo uniforme sul numero desiderato di output. Per un vettore di input di lunghezza 6, quando si imposta il parametro Number of outputs (Numero di output) su 3, il blocco Demux crea tre segnali di output, ciascuno di dimensione 2.
Per visualizzare questo comportamento, aprire e simulare il modello di esempio.
mdl = "DemuxVectorUnspecified";
open_system(mdl)
sim(mdl);
Quando si utilizza il blocco Demux per estrarre e generare elementi da un input vettoriale, è possibile utilizzare -1 in un'espressione vettoriale per indicare che il blocco ridimensiona dinamicamente la porta corrispondente. Quando un'espressione vettoriale comprende sia valori positivi che valori -1, il blocco assegna il numero di elementi necessario corrispondente alle porte con valori positivi. Il blocco distribuisce gli elementi rimanenti nel modo più uniforme possibile sulle porte con valori -1.
In questo esempio, il parametro Number of outputs (Numero di output) del blocco Demux è impostato su [-1, 3, -1]. Pertanto, il blocco genera tre segnali, dove il secondo segnale ha sempre tre elementi. Le dimensioni del primo e del terzo segnale dipendono dalla dimensione del segnale di input. Per un vettore di input con sette elementi, il blocco Demux genera due elementi sulla prima porta, tre elementi sulla seconda porta e due elementi sulla terza porta.
Per visualizzare questo comportamento, aprire e simulare il modello di esempio.
mdl = "DemuxVectorSpecified";
open_system(mdl)
sim(mdl);
Esempi approfonditi
Extract Output Elements of Feedback System
Demonstrates how to extract the output elements of a state-space system that uses vector signals.
Porte
Input
Segnale di input vettoriale dal quale il Demux seleziona segnali scalari o vettori più piccoli.
Tipi di dati: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | image
Output
Segnali di output estratti dal vettore di input. Le porte del segnale di output sono ordinate dall'alto verso il basso. Per una descrizione dell'ordine delle porte per i vari orientamenti dei blocchi, vedere Identify Port Location on Rotated or Flipped Block.
Tipi di dati: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | image
Parametri
Specificare il numero di output e, opzionalmente, la dimensionalità di ciascuna porta di output.
Il valore può essere uno scalare che specifica il numero di output o un vettore i cui elementi specificano le larghezze delle porte di output del blocco. Il blocco determina la dimensione dei suoi output dalla dimensione del segnale di input e dal valore del parametro Number of outputs.
Se si specifica uno scalare per il parametro Number of outputs e tutte le porte di output sono collegate, quando si disegna una nuova linea di segnale vicino al lato di output di un blocco Demux, il software aggiunge una porta e aggiorna il parametro Number of outputs.
Per un vettore di input di larghezza n, questa tabella descrive quello che viene generato dal blocco.
| Valore del parametro | Output del blocco | Esempi e commenti |
|---|---|---|
|
| Se l'input è un vettore a tre elementi e si specificano tre output, il blocco genera tre segnali scalari. |
| Errore | Questo valore non è supportato. |
|
| Se l'input è un vettore a sei elementi e si specificano tre output, il blocco genera tre vettori a due elementi. |
|
| Se l'input è un vettore a cinque elementi e si specificano tre output, il blocco genera due segnali vettoriali a due elementi e un segnale scalare. |
|
| Se l'input è un vettore a cinque elementi e si specifica |
Un array che contiene uno o più elementi Ad esempio, si supponga di avere un array a quattro elementi con una larghezza totale di 14 e di specificare il parametro come Il valore del terzo elemento (l'elemento |
| Se |
| Errore | Questo valore non è supportato. |
Se si specifica un numero di output inferiore al numero degli elementi di input, il blocco distribuisce gli elementi nel modo più uniforme possibile tra gli output.
La specificazione di un valore non doppio, come single(3), non è supportata.
Utilizzo programmatico
Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.
| Parametro: | Outputs |
| Valori: | '2' (predefinito) | scalar in quotes | vector in quotes |
| Tipi di dati: | char | string |
Esempio set_param(gcb,'Outputs','4')
Per impostazione predefinita, l'icona del blocco è una barra continua del colore di primo piano del blocco. Per visualizzare l'icona come una casella contenente il nome del tipo di blocco, selezionare none.
Utilizzo programmatico
Per impostare il valore del parametro del blocco in modo programmatico, utilizzare la funzione set_param.
| Parametro: | DisplayOption |
| Valori: | 'bar' (predefinito) | 'none' |
Esempio set_param(gcb,'DisplayOption','none')
Caratteristiche del blocco
Tipi di dati: |
|
Passaggio diretto |
|
Segnali multidimensionali |
|
Segnali di dimensioni variabili |
|
Rilevamento zero-crossing |
|
Funzionalità estese
Il tipo di dati effettivo o il supporto della capacità dipendono dall'implementazione del blocco.
HDL Coder™ fornisce ulteriori opzioni di configurazione che influiscono sull'implementazione HDL e sulla logica sintetizzata.
Questo blocco ha un'architettura HDL predefinita.
| ConstrainedOutputPipeline | Numero di registri da posizionare sugli output spostando i ritardi esistenti nel progetto. La pipeline distribuita non ridistribuisce questi registri. L'impostazione predefinita è |
| InputPipeline | Numero di stadi della pipeline di input da inserire nel codice generato. La pipeline distribuita e la pipeline vincolata in output possono spostare questi registri. L'impostazione predefinita è |
| OutputPipeline | Numero di stadi della pipeline di output da inserire nel codice generato. La pipeline distribuita e la pipeline vincolata in output possono spostare questi registri. L'impostazione predefinita è |
Questo blocco supporta la generazione di codici per segnali complessi.
Generazione di codice PLC
Genera codice di testo strutturato con Simulink® PLC Coder™.
Il tipo di dati effettivo o il supporto della capacità dipendono dall'implementazione del blocco.
Cronologia versioni
Introduzione prima di R2006a
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)
