„Laboratórium 2 - 7. Mérés: A/D D/A átalakítók vizsgálata” változatai közötti eltérés
Ugrás a navigációhoz
Ugrás a kereséshez
a |
|||
16. sor: | 16. sor: | ||
{{Rejtett | {{Rejtett | ||
− | |mutatott='''Egy kompakt megoldás a házira''' | + | |mutatott='''Egy kompakt megoldás a házira - Hibák lehetnek benne!!!''' |
|szöveg= | |szöveg= | ||
<syntaxhighlight lang="matlab" style="font-size: 140%;"> | <syntaxhighlight lang="matlab" style="font-size: 140%;"> | ||
% Szinuszjel illesztése a mintavételezett jelre | % Szinuszjel illesztése a mintavételezett jelre | ||
+ | |||
+ | % Ha hibát találsz, vagy ez alapján csinálod, de nem valamit hibásnak vélnek | ||
+ | % a mérésen, akkor kérlek javítsd! | ||
N = 5; % ADC bitszáma | N = 5; % ADC bitszáma | ||
fin = 5; % a jel frekvenciája | fin = 5; % a jel frekvenciája | ||
fs = 1024; % mintavételi frekvencia | fs = 1024; % mintavételi frekvencia | ||
+ | M = 1024; % minták száma | ||
U = 2.5; % referencia feszültség | U = 2.5; % referencia feszültség | ||
load ad1.txt; | load ad1.txt; | ||
omin = 2 * pi * fin / fs; | omin = 2 * pi * fin / fs; | ||
− | i=1: | + | i=1:M; |
u1=cos(omin * i)'; u2=sin(omin * i)'; | u1=cos(omin * i)'; u2=sin(omin * i)'; | ||
− | u = [u1 u2 ones( | + | u = [u1 u2 ones(M,1)]; |
p = u \ ad1; | p = u \ ad1; | ||
− | a=sqrt(p(1)^2 + p(2)^2 | + | a=sqrt(p(1)^2 + p(2)^2); |
fi = atan2(-p(2),p(1)); | fi = atan2(-p(2),p(1)); | ||
− | offs=p(3 | + | offs=p(3); |
b = a*cos(omin*i + fi)+ offs; | b = a*cos(omin*i + fi)+ offs; | ||
42. sor: | 46. sor: | ||
disp('A jel offsetje: offs =');disp(' ');disp(offs); | disp('A jel offsetje: offs =');disp(' ');disp(offs); | ||
− | e = sum((ad1 - b').^2 | + | e = 1/M * sum((ad1 - b').^2); % szumma hibanégyzet |
sinad = 10* log10((a^2 / 2)/e); % signal-to-noise and distrotion ratio | sinad = 10* log10((a^2 / 2)/e); % signal-to-noise and distrotion ratio | ||
− | Neff = N - log2(e / ( | + | Neff = N - log2( sqrt(e) / (1/sqrt(12))); % effektív bitszám (ez nem biztos, hogy jó! ) |
disp('sinad = ');disp(' ');disp(sinad); | disp('sinad = ');disp(' ');disp(sinad); |
A lap 2014. február 6., 15:23-kori változata
Tartalomjegyzék
Gondolatok a mérésről, tippek és tapasztalatok
- Ide jöhet minden tipp és tapasztalat a mérésről:
- Mire érdemes figyelni
- Necces mérések bővebb leírása
- Hibák, amiket nem kéne elkövetni
Beugró kérdések
- Ellenőrző kérdések kidolgozása - Szerkesszétek, bővítsétek!
- Ide lehet gyűjteni olyan azokat a beugrókérdéseket, amik nem az ellenőrző kérdések közül kerültek ki.
Házi feladathoz segítség
Egy kompakt megoldás a házira - Hibák lehetnek benne!!!
% Szinuszjel illesztése a mintavételezett jelre
% Ha hibát találsz, vagy ez alapján csinálod, de nem valamit hibásnak vélnek
% a mérésen, akkor kérlek javítsd!
N = 5; % ADC bitszáma
fin = 5; % a jel frekvenciája
fs = 1024; % mintavételi frekvencia
M = 1024; % minták száma
U = 2.5; % referencia feszültség
load ad1.txt;
omin = 2 * pi * fin / fs;
i=1:M;
u1=cos(omin * i)'; u2=sin(omin * i)';
u = [u1 u2 ones(M,1)];
p = u \ ad1;
a=sqrt(p(1)^2 + p(2)^2);
fi = atan2(-p(2),p(1));
offs=p(3);
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 = 1/M * sum((ad1 - b').^2); % szumma hibanégyzet
sinad = 10* log10((a^2 / 2)/e); % signal-to-noise and distrotion ratio
Neff = N - log2( sqrt(e) / (1/sqrt(12))); % effektív bitszám (ez nem biztos, hogy jó! )
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');
- Ide lehet felrakni régi házi feladat megoldásokat
- Tipikus hibákra figyelemfelhívás és esetleg megoldási javaslat
- Mire érdemes figyelni
- Egyéb segédanyagok
Ellenőrző mérés
- Ide jöhetnek kitöltött jegyzőkönyvek
- Ide lehet gyűjteni:
- Milyen feladatot adtak az ellenőrző mérésen
- Mire érdemes figyelni
- Hibák, amiket nem kéne elkövetni és megoldási javaslat/trükk