Bonjour, mon objectif est de faire un programme en MATLAB qui permet de faire une conversion analogique en numérique et vice versa (numérique en analogique). .Je dois donc faire faire l'échantillonnage la quantification et le codage etc... pour obtenir le signal dans les deux cas. Mais je ne sais pas est ce que je suis dans le bon chemin ou bien qu'est ce qui ne va pas dans ce programme? Je demande votre aide. Merci d'avance.
Voici ce que j'ai fait pour le moment:
close all
clear all
%conversion analogie en numerique
% l'untite de frequence est le HZet 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
Bonsoir, que vous pensez de mon code et quels sont vos suggestions?
Quand je compile ça ne marche pas.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :