Bonjour, depuis quelques je suis en train de faire un programme en MATLAB qui me permettra de faire une conversion analogique en numérique et vice versa c'est à dire une conversion numérique en analogique.
J'ai commencé la première partie ( conversion analogique en numérique). Il me reste la deuxième partie (conversion numérique en analogique) qui me pose d'énormes problèmes. Je viens en vous pour demander de l'aide pour la réalisation de cette partie. MERCI D'AVANCE
Voici ce que j'ai fait pour la première partie:
close all
clear all
%conversion analogie en numerique
% l'untite de frequence est deHZet celle de temps est s
fmax=input('entrer la frequence maximale');
%la frequence et le temps de l_echantillonnage
fe='frequence de l_echantillonnage'
fe=2*fmax
te='le pas de l_echantillonnage'
te=1/fe
ti=input('entrer le temp initial de l_echantillonge')
tf=input('entrer le temp final de l_echantillonge')
t_echantillonnage=ti:te:tf
%valeur de l echantillonnage
v='valeur de l_echantillonnage'
v=sin(2*fmax*pi*t_echantillonnage) % echantillonnage
x='valeur maximuim de l_echantillonnage'
x= max(v)
z='valeur minimuim de l echantillonnage'
z=min(v)
S=x-z
%figure(1)
plot(2*fmax*pi*t_echantillonnage,sin(2*fmax*pi*t_echantillonnage))
hold on
stem(2*fmax*pi*t_echantillonnage,tan(2*fmax*pi*t_echantillonnage))
% erreur max et le nombre de bit de la quantification
n='le mombre de bit de la quantification'
E_max=' erreur max'
t=((2.^n)-1)
q='pas de quantification'
q=2*E_max
nombre_niveau=2 ^ n
d=(1 / t)
q=S*d
f=input('entrer un nombre entier')
if(f==0)
n=input('le mombre de bit de la quantification')
q=S*d
nombre_niveau=2 ^ n
else
E_max=input('erreur max')
q=2*E_max
nombre_niveau= S*(d)+1
n=(log(nombre_niveau)) / log(2)
end
for ii=1:nombre_niveau
niveau(ii)=x-(ii-1)*q
code=dec2bin(ii-1,n)
end
t_echantillonnage=ti:te:tf
v=sin(2*fmax*pi*t_echantillonnage)
if((v<max(v))&&(v>max(v)-E_max))
v=max(v)
elseif((v<max(v)-E_max)&&(v>max(v)-q))
v=max(v)-E_max
else
v=max(v)-q
end