Funzione onda quadra con Fourier in Matlab
13 messaggi
• Pagina 1 di 2 • 1, 2
0
voti
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..
0
voti
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
instead of
(Anonimo).
...'cos you know that
ain't
, right?
You won't get a sexy tan if you write
in lieu of
.
Take a log for a fireplace, but don't take
for
arithm.
instead of
(Anonimo)....'cos you know that
ain't
, right?You won't get a sexy tan if you write
in lieu of
.Take a log for a fireplace, but don't take
for
arithm.-

DirtyDeeds
55,9k 7 11 13 - G.Master EY

- Messaggi: 7012
- Iscritto il: 13 apr 2010, 16:13
- Località: Somewhere in nowhere
0
voti
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...
0
voti
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)+...] 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)+...]](/forum/latexrender/pictures/b74628c4c1e03d501ae93f2108660df1.png)
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 :
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!
![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)+...] 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)+...]](/forum/latexrender/pictures/b74628c4c1e03d501ae93f2108660df1.png)
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 :
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!

-

DADO91
3.552 3 12 13 - Expert EY

- Messaggi: 965
- Iscritto il: 27 feb 2009, 18:19
- Località: Prov. di Firenze
0
voti
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
instead of
(Anonimo).
...'cos you know that
ain't
, right?
You won't get a sexy tan if you write
in lieu of
.
Take a log for a fireplace, but don't take
for
arithm.
instead of
(Anonimo)....'cos you know that
ain't
, right?You won't get a sexy tan if you write
in lieu of
.Take a log for a fireplace, but don't take
for
arithm.-

DirtyDeeds
55,9k 7 11 13 - G.Master EY

- Messaggi: 7012
- Iscritto il: 13 apr 2010, 16:13
- Località: Somewhere in nowhere
0
voti
ringrazio
DADO91 per la spiegazione,ora rispondo
DirtyDeeds: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...
0
voti
ciao,ho provato a scrivere in matlab la funzione scritta da
DADO91,ecco il testo:
il risultato è il seguente:
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?
- 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:
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?
0
voti
Prova a mettere qualche altra parentesi nella funzione dentro al for, e poi ai dimenticato la frequenza dentro al coseno (ti ho aggiunto f).
Non conosco MATLAB, ma sei sicuro che l'abbia disegnata in funzione di t?
- 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
DADO91 il 19 mar 2012, 19:21, modificato 1 volta in totale.
-

DADO91
3.552 3 12 13 - Expert EY

- Messaggi: 965
- Iscritto il: 27 feb 2009, 18:19
- Località: Prov. di Firenze
0
voti
DirtyDeeds ha scritto:DADO91 ha scritto:perché di per se l'onda quandra non è una funzione.
Perbacco, eccome se lo è!
Hai ragione...

Speriamo di non fare queste figure all'esame!!!

-

DADO91
3.552 3 12 13 - Expert EY

- Messaggi: 965
- Iscritto il: 27 feb 2009, 18:19
- Località: Prov. di Firenze
0
voti
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?
13 messaggi
• Pagina 1 di 2 • 1, 2
Torna a Programmi applicativi: simulatori, CAD ed altro
Chi c’è in linea
Visitano il forum: Nessuno e 17 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)
