„Laboratórium 2 - 7. Mérés: A/D D/A átalakítók vizsgálata” változatai közötti eltérés

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
1. sor: 1. sor:
{{GlobalTemplate|Villanyalap|Labor2Meres7}}
+
{{Vissza|Laboratórium 2}}
  
 +
*[[Media:Labor2_mérés7_házi1.pdf‎|Kidolgozott házi feladat]]
  
Sziasztok!
+
'''Egy kompakt megoldás a házira:'''
  
{{InLineFileLink|Villanyalap|Labor2Meres7|Labor_2_07_FKA.zip|itt}} egy kis segédanyag: ell kérdések kidolgozás + HF
+
<pre>
 
 
Chris
 
 
 
2011.03.27.
 
 
 
 
 
----
 
 
 
'''Egy kompakt megoldás a házira, de ugyanazt csinálja, mint az alsó'''
 
  
<pre>
 
 
% szinuszjel illesztese a mintaveteleztett jelre
 
% szinuszjel illesztese a mintaveteleztett jelre
 
N = 5; %ADC bitszáma
 
N = 5; %ADC bitszáma
46. sor: 37. sor:
 
figure; plot(i,ad1,i,b);grid;
 
figure; plot(i,ad1,i,b);grid;
 
title('A mintavételezett és illesztett jel');
 
title('A mintavételezett és illesztett jel');
 +
 
</pre>
 
</pre>
-- [[JantekBalazs|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.
 
 
-- [[PerneczkyMiklosTamas|Miki]] - 2007.03.20.
 
 
 
 
  
 
[[Category:Villanyalap]]
 
[[Category:Villanyalap]]

A lap 2013. február 9., 22:48-kori változata

← Vissza az előző oldalra – Laboratórium 2

Egy kompakt megoldás a házira:


% 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');