Funzione quadrata in matlab

Funzione quadrata in matlab
Questo articolo spiega come generare onde quadrate usando la funzione matlab quadra ().

Questo potente linguaggio di programmazione per il calcolo scientifico ha una vasta libreria di funzioni per generare onde di varie forme.

La sezione seguente spiega l'utilizzo della funzione quadrata () per generare onde quadrate. Di seguito, ti mostreremo esempi pratici e immagini su come creare onde quadrate con parametri diversi e visualizzarli graficamente nell'ambiente MATLAB.

Sintassi della funzione quadrata di matlab

x = quadrato (t)
x = quadrato (t, dovere)

Descrizione della funzione quadrata di Matlab

La funzione matlab quadra () genera onde quadrate da vettori o matrici. Questa funzione consente inoltre di impostare i valori del ciclo di lavoro, spesso utilizzati nei modelli elettronici per controllare i motori PWM della modulazione della larghezza dell'impulso DC. La funzione matlab quadra () genera un'onda quadra a "x" dalla matrice di tempo "T". Il periodo dell'onda generata a "X" è 2PI rispetto agli elementi di "T". I valori di output di "x" sono -1 per metà cicli negativi e 1 per mezzo cicli positivi. Il ciclo del duty è impostato tramite l'ingresso "da dazio" che invia la percentuale del ciclo positivo immesso quando viene chiamata la funzione.

Cos'è e come creare un vettore temporale per generare onde in matlab

Prima di vedere come viene generata un'onda quadra con questa funzione, ti mostreremo brevemente quali vettori e matrici del tempo sono. Fanno parte degli argomenti di input di tutte le funzioni utilizzate per creare onde, indipendentemente dalla loro forma o dalla funzione che li genera. Quello che segue è un vettore tempo "t" che rappresenta un secondo di durata:

t = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000


È essenziale chiarire che un vettore temporale con dieci elementi corrisponde a una velocità di campionamento di 10 Hz e non è raccomandato in pratica. Quindi, lo facciamo soltanto ad esempio in modo da poter vedere meglio di cosa stiamo parlando a causa di un vettore con un campionamento di 1kz. Consisterebbe in 1000 elementi visualizzati sullo schermo. Una velocità di campionamento bassa distorcerebbe la forma d'onda, come mostrato di seguito:


Successivamente, diamo un'occhiata all'espressione per uno dei modi in cui Matlab crea questo tipo di vettore di tempo di intervallo regolare:

T = tempo inizio: intervallo in secondi: fine tempo;


Quindi, per generare questo vettore, dovremmo scrivere la seguente riga di codice:

t = 0: 0.1: 1;

Come creare un'onda quadra con la funzione di matlab quadrata

In questo esempio creeremo un'onda quadra usando la funzione quadrata (). Questa onda ha una durata di un secondo, una frequenza di 5Hz e un'ampiezza di +1, -1. Per fare ciò, creiamo prima un vettore tempo "t" di durata di un secondo con una frequenza di campionamento di 1 kHz o intervalli di 1ms.

t = 0: 0.001: 1;


Quindi, specifichiamo la frequenza dell'onda. L'argomento input di Square () che imposta questo valore è espresso in radianti, quindi dobbiamo convertirsi da Hz in radianti o esprimerlo in quest'ultimo. Per motivi pratici, è sempre meglio esprimere la frequenza in HZ. Pertanto, in questo esempio, faremo la conversione come segue:

f = 5;
rad = f.*2.*pi;


Con il vettore di tempo "T" creato e la frequenza "rad" convertita in radianti, ora chiamiamo la funzione quadrata () come segue:

x = quadrato (rad.*T)


Per graficamente l'onda nell'ambiente MATLAB, utilizzeremo le seguenti funzioni:

trama (t, x);
asse ([0 1 -1.2 1.2])
griglia ("on");


In questo caso, quando non viene utilizzato l'ingresso del ciclo di lavoro, questo valore predefinito è al 50%,. Quindi, Square () produce un'onda simmetrica. Copia e incolla il seguente frammento nella console di comando per visualizzare l'onda generata.

% Qui viene generata l'onda
t = 0: 0.001: 1;
rad = 5 .* 2 .* pi;
x = quadrato (rad .* T );
% Qui l'onda è graficata
trama (t, x);
asse ([0 1 -1.2 1.2]);
griglia ("on");


La seguente immagine mostra la forma d'onda generata dalla funzione quadrata () tracciata nell'ambiente MATLAB:

Come controllare la frequenza, l'ampiezza, il ciclo di lavoro e la velocità di campionamento quando si genera un'onda con la funzione Matlab Square ().

Questo esempio mostra come controllare i parametri di frequenza, ampiezza, ciclo di lavoro e tasso di campionamento. A tale scopo, creeremo una semplice applicazione console che verrà utilizzata per inserire questi valori e quindi graficamente graficamente l'onda generata dai parametri di input. Useremo le funzioni prompt () e input () per inserire questi parametri tramite la console. Memorizzeremo questi parametri nelle seguenti variabili:

s_rate: Frequenza di campionamento in Hz

FREQ: Frequenza dell'onda in Hz

Amp: Ampiezza dell'onda

d_cycle: ciclo di lavoro

Queste variabili vengono elaborate rispettivamente per impostare i parametri "t_sample" nel vettore tempo.

Di seguito, vediamo lo script completo per questa applicazione. Per renderlo leggibile, abbiamo diviso il codice in sei blocchi, spiegando cosa fa ognuno di loro nei commenti all'inizio.

mentre 1
% Qui inseriamo il tasso di campionamento "s_rate" in hz e dividiamo 1
% da questo valore per ottenere l'intervallo di tempo tra i campioni
% espresso in secondi "t_sample" e crea il vettore del tempo.
prompt = 'immettere una velocità di campionamento';
s_rate = input (prompt);
t_sample = 1 ./ s_rate;
t = 0: t_sample: 1;
% Qui inseriamo la frequenza "f" in hz dell'onda e convertiamo.
% esso a radians "rad".
prompt = 'immettere una frequenza';
f = input (prompt);
rad = f .* 2 .* pi;
% Qui inseriamo il duty cycle "DC" espresso in percentuale.
prompt = 'immettere un ciclo di lavoro';
dc = input (prompt);
% Qui impostiamo l'ampiezza dell'onda.
prompt = 'immettere un'ampiezza';
amp = input (prompt);
% Qui chiamiamo la funzione quadra () con i parametri "rad" che
% imposta la frequenza e "DC" che imposta il ciclo di lavoro. Dopo
% Moltiplichiamo il risultato per il valore memorizzato in "amp" a
% Imposta l'ampiezza dell'onda su "X".
x = amp * quadrato (rad * t, dc);
% Qui trasformiamo l'onda generata.
trama (t, x);
asse ([0 1 -5 5])
griglia ("on");
FINE


Crea uno script, incolla questo codice e premi "Esegui". Per chiudere l'applicazione, premere Ctrl+C. Nelle seguenti immagini, è possibile visualizzare le onde risultanti con parametri diversi immessi nell'applicazione tramite la console di comando:


Questa immagine corrisponde a un'onda da 8 Hz con una velocità di campionamento di 1Kz, un ciclo di lavoro del 50%e un'ampiezza di picco a picco di 2.


Questa immagine corrisponde a un'onda da 10 Hz con una velocità di campionamento di 10 kz, un ciclo di lavoro dell'85%e un'ampiezza di picco a picco di 6


Questa immagine corrisponde a un'onda da 3 Hz con una velocità di campionamento di 1Kz, un ciclo di lavoro del 15%e un'ampiezza di picco a picco di 8.

Conclusione

Questo articolo ha spiegato come generare onde quadrate usando la funzione matlab quadrata ().
Include anche una breve descrizione dei vettori e delle matrici del tempo che formano gli argomenti di input di questo tipo di funzione, in modo da poter ottenere una comprensione completa di come la maggior parte dei generatori della forma d'onda nella casella degli strumenti di analisi del segnale nel matlab funziona. Questo articolo include anche esempi pratici, grafici e script che mostrano come funziona la funzione Square () in MATLAB. Speriamo che tu abbia trovato utile questo articolo di Matlab. Vedi altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.