Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Funzione onda quadra con Fourier in Matlab

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] Funzione onda quadra con Fourier in Matlab

Messaggioda Foto Utentejohnny90 » 16 mar 2012, 17:30

Ciao a tutti,devo svolgere un piccolo esercizio di elettrotecnica con Matlab in cui devo considerare un generatore di tensione ad onda quadra e plottare una corrente del circuito,a parte la risoluzione del circuito che ho già svolto,ora il problema è quello di definire l'onda quadra,il problema chiede che il generatore sia ad onda quadra con periodo,ampiezza e duty-cicle arbitrari,quindi a scelta dell'utente,devo inoltre definire quest'onda con le serie di Fourier,potreste gentilmente aiutarmi nella scrittura delle righe di codice??grazie..
Avatar utente
Foto Utentejohnny90
-2 5
New entry
New entry
 
Messaggi: 84
Iscritto il: 2 gen 2012, 14:42

0
voti

[2] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto UtenteDirtyDeeds » 16 mar 2012, 19:43

johnny90 ha scritto:devo inoltre definire quest'onda con le serie di Fourier


Cioè devi fare il contrario di quello che si farebbe normalmente?

Se dovessi implementare il segnale in matlab lo farei nel dominio del tempo, e poi farei calcolare a matlab la serie di Fourier (con la funzione fft).
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[3] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto Utentejohnny90 » 16 mar 2012, 20:06

praticamente in ingresso al circuito c'è un generatore di tensione ad onda quadra di ampiezza,periodo e duty-cicle arbitrari,ho provato a creare la funzione con la funzione square ma poi inserendo questa funzione(che non è altro che una grande matrice) nelle equazioni del circuito matlab non riesce a risolvere il sistema di equazioni e quindi mi da errore,per questo cercavo un modo semplice di definire l'onda quadra come una funzione e per questo ho pensato di impostarla con una serie di fourier...
Avatar utente
Foto Utentejohnny90
-2 5
New entry
New entry
 
Messaggi: 84
Iscritto il: 2 gen 2012, 14:42

0
voti

[4] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto UtenteDADO91 » 19 mar 2012, 12:14

Ecco la funzione, onda quadra, con la trasformata di fourier
Vq(t)=\frac{V}{2} + \frac{2V}{\pi} [cos(\omega t)+\frac{1}{3}cos(3\omega t)+\frac{1}{5}cos(5\omega t)+\frac{1}{7}cos(7\omega t)+...]
V = ampiezza della funzione in volt
Per ottenere una maggiore precisione basta che aumenti i termini dentro le parentesi quadre, usando solo indici dispari, in pratica diminuisci l'ampiezza e aumenti la frequenza di ogni successiva armonica.
Ricordo che :
\omega = 2\pi f
dove f = frequenza del segnale in Hz.

Non è possibile ottenere una rappresentazione perfetta, perché di per se l'onda quandra non è una funzione.

Spero ti sia utile! :ok:
Arduino + Meteo = TempDuino (Articoli)
www.dmdevs.com
Avatar utente
Foto UtenteDADO91
3.552 3 12 13
Expert EY
Expert EY
 
Messaggi: 965
Iscritto il: 27 feb 2009, 18:19
Località: Prov. di Firenze

0
voti

[5] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto UtenteDirtyDeeds » 19 mar 2012, 17:07

DADO91 ha scritto:perché di per se l'onda quandra non è una funzione.


Perbacco, eccome se lo è!

Problema: cosa capita troncando lo sviluppo ad un numero finito di termini? ;-)

johnny90 ha scritto:nelle equazioni del circuito matlab non riesce a risolvere il sistema di equazioni


Questo potrebbe dipendere da come tu hai impostato il sistema di equazioni, da cosa vuoi ottenere come soluzione ecc. ecc. Ma se non dici di più, difficile risponderti.
It's a sin to write sin instead of \sin (Anonimo).
...'cos you know that cos ain't \cos, right?
You won't get a sexy tan if you write tan in lieu of \tan.
Take a log for a fireplace, but don't take log for \logarithm.
Avatar utente
Foto UtenteDirtyDeeds
55,9k 7 11 13
G.Master EY
G.Master EY
 
Messaggi: 7012
Iscritto il: 13 apr 2010, 16:13
Località: Somewhere in nowhere

0
voti

[6] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto Utentejohnny90 » 19 mar 2012, 18:19

ringrazio Foto UtenteDADO91 per la spiegazione,ora rispondo Foto UtenteDirtyDeeds:dato un circuito costituito da alcuni elementi resistivi e un induttore e un condensatore devo plottare la funzione iL(t) dell'induttore quando il generatore è appunto ad onda quadra...
Avatar utente
Foto Utentejohnny90
-2 5
New entry
New entry
 
Messaggi: 84
Iscritto il: 2 gen 2012, 14:42

0
voti

[7] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto Utentejohnny90 » 19 mar 2012, 19:05

ciao,ho provato a scrivere in matlab la funzione scritta da Foto UtenteDADO91,ecco il testo:
Codice: Seleziona tutto
v=10
syms t

y=0
for i=1:2:101
    y=y+1/i*cos(i*2*pi*t)
end
x=v/2+(2*v/pi)*y



ezplot(x)


il risultato è il seguente:
ondaquadra.jpg
ondaquadra.jpg (32.59 KiB) Osservato 8533 volte


il risultato ,anche se non mi sembra corrispondere ad un onda quadra,è giusto?
inoltre,come posso utilizzare il duty cicle nella formula da te presentata?
Avatar utente
Foto Utentejohnny90
-2 5
New entry
New entry
 
Messaggi: 84
Iscritto il: 2 gen 2012, 14:42

0
voti

[8] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto UtenteDADO91 » 19 mar 2012, 19:15

Prova a mettere qualche altra parentesi nella funzione dentro al for, e poi ai dimenticato la frequenza dentro al coseno (ti ho aggiunto f).
Codice: Seleziona tutto
y=y+(1/i)*cos(i*2*pi*t*f)

Non conosco MATLAB, ma sei sicuro che l'abbia disegnata in funzione di t?
Ultima modifica di Foto UtenteDADO91 il 19 mar 2012, 19:21, modificato 1 volta in totale.
Arduino + Meteo = TempDuino (Articoli)
www.dmdevs.com
Avatar utente
Foto UtenteDADO91
3.552 3 12 13
Expert EY
Expert EY
 
Messaggi: 965
Iscritto il: 27 feb 2009, 18:19
Località: Prov. di Firenze

0
voti

[9] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto UtenteDADO91 » 19 mar 2012, 19:19

DirtyDeeds ha scritto:
DADO91 ha scritto:perché di per se l'onda quandra non è una funzione.

Perbacco, eccome se lo è!


Hai ragione... :oops: Ho confuso ascisse e ordinate, ho risposto mentre stavo studiando proprio analisi matematica e il cervello era un po' fuso... ?^!
Speriamo di non fare queste figure all'esame!!! #-o
Arduino + Meteo = TempDuino (Articoli)
www.dmdevs.com
Avatar utente
Foto UtenteDADO91
3.552 3 12 13
Expert EY
Expert EY
 
Messaggi: 965
Iscritto il: 27 feb 2009, 18:19
Località: Prov. di Firenze

0
voti

[10] Re: Funzione onda quadra con Fourier in Matlab

Messaggioda Foto Utentejohnny90 » 19 mar 2012, 19:24

DADO91 ha scritto:Prova a mettere qualche altra parentesi nella funzione dentro al for, e poi ai dimenticato la frequenza dentro al coseno (ti ho aggiunto f).
Codice: Seleziona tutto
y=y+(1/i)*cos(i*2*pi*t*f)

Non conosco MATLAB, ma sei sicuro che l'abbia disegnata in funzione di t?

si,per questo esempio avevo considerato frequenza proprio 1 e quindi l'avevo omesso...siccome la traccia mi da anche il duty cicle,come posso utilizzarlo nella funzione?
Avatar utente
Foto Utentejohnny90
-2 5
New entry
New entry
 
Messaggi: 84
Iscritto il: 2 gen 2012, 14:42

Prossimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti