H(S) EN MATLAB

Fermé
kh_mou - 26 févr. 2008 à 16:32
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 - 26 févr. 2008 à 19:22
Bonjour,
je veux bien ploter une fonction de transfert suivante:
H(s)=num(s)/den(s), avec
num(s)=0.2*(s/fs)¨3 + 0.5*(s/fs)¨2 + 0.14*(s/fs) - 0.25 est d'ordre 3.
den(s) = (s/fs)¨4 + 0.5*(s/fs)¨2 + 0.125 est d'ordre 4.

avec fs: Sampling frequency = 51.2Mhz

frequence central = 100khz avec bandwith de 200khz.

sachant, que jai utilise les fonctions : plot () et simelog().

mai le probleme coment il fo ke je declare fs ???

je considere w= s/fs ? o bien il fo ke je travaille avec frequence f ?

N.B: fonction transfert pour sigma-delta.

merci infiniment.

1 réponse

Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 834
26 févr. 2008 à 17:06
Salut kh_mou
fs=51.2e3;
paslogs=1e-3;
logs=log(300)*(0:paslogs:1);
s=10.^logs;
nums=0.2*(s./fs).^3 + 0.5*(s./fs).^2 + 0.14*(s./fs) - 0.25;
dens=(s./fs).^4 + 0.5*(s./fs).^2 + 0.125;
Hs=nums./dens;
semilogx(s,Hs);

C'était un truc comme ça que tu voulais?
A plus
0
Sacabouffe Messages postés 9427 Date d'inscription dimanche 19 août 2007 Statut Membre Dernière intervention 29 mai 2009 1 834
26 févr. 2008 à 19:22
Arf... Il y a une coquille, j'ai pas pris le logarithme décimal. Et pis c'est peut-être mieux de choisir la plage sur laquelle tu veux tracer...
Correction :
fs=51.2e3; %% en kHz
paslogs=1e-3;
freqhaute=1e6; %% 1GHz (en kHz)
logs=log10(freqhaute)*(0:paslogs:1);
s=10.^logs;
nums=0.2*(s./fs).^3 + 0.5*(s./fs).^2 + 0.14*(s./fs) - 0.25;
dens=(s./fs).^4 + 0.5*(s./fs).^2 + 0.125;
Hs=nums./dens;
semilogx(s,Hs);

A plus
0