Laboratórium 2 - 7. Mérés: A/D D/A átalakítók vizsgálata
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
Sziasztok!
egy kis segédanyag: ell kérdések kidolgozás + HF
Chris
2011.03.27.
Egy kompakt megoldás a házira, de ugyanazt csinálja, mint az alsó
% szinuszjel illesztese a mintaveteleztett jelre N = 5; %ADC bitszáma fin = 5; % a jel frekvenciája fs = 1024; % mintavételi frekvencia U = 2.5; % referencia feszültség load ad1.txt; omin = 2* pi * fin / fs; i=1:1024; u1=cos(omin * i)'; u2=sin(omin * i)'; u = [u1 u2 ones(1024,1)]; p = u \ ad1; a=sqrt(p(1)^2 + p(2)^2) * U/(2^N); fi = atan2(-p(2),p(1)); offs=p(3) * U/(2^N); b = a*cos(omin*i + fi)+ offs; disp('A jel amplitudoja: a =');disp(' ');disp(a); disp('A jel fazistolasa: fi =');disp(' ');disp(fi); disp('A jel offsetje: offs =');disp(' ');disp(offs); e = sum((ad1 - b').^2 / size(b,2)) * U/(2^N); % szumma hibanegyzet sinad = 10* log10((a^2 / 2)/e); % signal-to-noise and distrotion ratio Neff = N - log2(e / ((U/2^N)/sqrt(12))); % effektív bitszám disp('sinad = ');disp(' ');disp(sinad); disp('Effektív bitszám Neff = ');disp(' ');disp(Neff); figure; plot(i,ad1,i,b);grid; title('A mintavételezett és illesztett jel');
-- jantek - 2007.04.21.
y=load('G:\labor2_7\ad8.txt');
Q=1; N=5;
u=ones(1024,3);
for i=1:1024
u(i,1)=cos(2*pi/1024*5*i);
end;
for i=1:1024
u(i,2)=sin(2*pi/1024*5*i);
end;
p=u\y
p1=(u'*u)^(-1)*(u'*y)
p2=zeros(3,1);
for i=1:1024
p2(1,1)=2*cos(2*pi/1024*5*i)*y(i)+p2(1,1); p2(2,1)=2*sin(2*pi/1024*5*i)*y(i)+p2(2,1); p2(3,1)=y(i)+p2(3,1);
end;
p2=p2/1024
A=sqrt(p(1,1)^2+p(2,1)^2)
fi=atan2(-p(2,1),p(1,1))
C=p(3,1)
i=1:1024;
x=A*cos(2*pi*5/1024*i+fi)+C;
figure(1); plot(i,x,i,y); grid;
eq=sum((y-x').^2)/1024
SINAD_dB=10*log10(A^2/2/eq)
N_eff=N-log2(eq/Q/sqrt(12))
f=19.531250; %f=20;
i=0:4095; z=sin(2*pi/8000*i*f+pi/2);
figure(2); plot(z);
sz=fft(z);
figure(3); plot(abs(sz));
fm=4000*10/2048
-- ken - 2007.03.12.
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
p, p1, p2 ugyanaz, csak 3 féleképpen kiszámolva, elég a legegyszerűbbet használni, p=u\y, a többi kihagyható!
U kiszamolása helyesen (Laboron így csináltuk):
for i=1:mintákszáma u(i,1)=cos(2*pi*f_jel/f_mintavétel*i); end; for i=1:mintákszáma u(i,2)=sin(2*pi*f_jel/f_mintavétel*i); end;
x helyesen: x=A*cos(2*pi/mintákszáma*i*periódusokszáma+fi)+C;
N_eff szintén: neff=(SINAD-20*log10(A*2/mintákszáma)-1.76)/6.02;
Koherens mintavétel feltétele: fi=J/M*fs, ahol fi a jel frekvenciája , J a mintavett periódusok száma, M a vett minták száma, fs a mintavételi frekvencia. A koherecia teljesül, ha J=fi/fs*M egész szám.
-- Miki - 2007.03.20.