„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
Nincs szerkesztési összefoglaló |
Nincs szerkesztési összefoglaló |
||
(19 közbenső módosítás, amit 8 másik szerkesztő végzett, nincs mutatva) | |||
1. sor: | 1. sor: | ||
{{Vissza|Laboratórium 2}} | {{Vissza|Laboratórium 2}} | ||
== Gondolatok a mérésről, tippek és tapasztalatok == | |||
* A Matlab ábráinak tengelyeit érdemes szépen feliratozni és normálisan skálázni, mert ha lemarad, azt nem szeretik. | |||
* A DNL-es mérésénél egymás után következő pontok között kell meghatározni a DNL-t. Érdemes úgy trükközni, hogy felhasználjuk az INL mérési adatvektorát, majd mérünk még egyet, ahol ugyanakkora lépésköz mellett, pont 1-el elcsúsztatott kódvektorral gerjesztjük a DAC-ot. így széles tartományban kapunk egymás mellett lévő kódpárokhoz tartozó kimeneti értékeket. | |||
* A glitch mérésénél, a DAC0 kimenetről le lehet venni egy szinkron trigger jelet. Érdemes ezt a szkóp 2-es csatornájára kötni és erre triggerelni, mert önmagában a DAC1-en megjelenő glitch néhány milivoltjára elég nehéz rátriggerelni. | |||
* A glitch mérésnél a szkópra AC csatolással kell rákötni a DAC1 kimenetet! Így ugyanis kiszűrődik a körülbelül 1-1,5V nagyságú egyenkomponens, így közvetlenül meghatározható a néhány millivolt amplitúdójú glitch területe, akár a szkóp integrál funkciójával is. | |||
== Beugró kérdések == | |||
% | *[[Laboratórium 2 - 7. Mérés ellenőrző kérdései|Ellenőrző kérdések kidolgozása]] - '''''<span style="color: darkgreen">Szerkesszétek, bővítsétek!</span>''''' | ||
N = 5; %ADC bitszáma | * Beugró kérdések voltak: | ||
fin = 5; % a jel frekvenciája | ** Szinte csak az ellenőrző kérdésekből kérdeztek, viszont elég kevés időt adtak rá. | ||
fs = 1024; % mintavételi frekvencia | ** Nem szeretik ha rizsázunk vagy ha nem konkrétan arra válaszolunk amit kérdeznek. Minden pontatlanságért vonogatnak le negyed/fél pontokat. | ||
U = 2.5; % referencia feszültség | ** Kérdezték bónuszban, hogy mi a Glitch! ''Nem mindegy hogy glitch-et vagy glitch energiát kérdezik. A kettő nem ugyanaz, bár ez a mérés elméleti összefoglalójában nincs így kiemelve. A beugróban levonnak érte ha nem a megfelelőt írod le.'' | ||
** Pótmérésen kérdezték: Mi a hisztogram? Hogy néz ki a szinuszjel hisztogramja? | |||
== Házi feladathoz segítség == | |||
{{Rejtett | |||
|mutatott='''Egy kompakt Matlab kód a házihoz, katt a jobb oldali "kinyit" linkre! - Hibák lehetnek benne!!!''' | |||
|szöveg= | |||
<syntaxhighlight lang="matlab" style="font-size: 140%;"> | |||
% 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; | 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; | ||
fprintf('A jel amplitudoja: a = %f\n', a); | |||
fprintf('A jel fazistolasa: fi = %f\n', fi); | |||
fprintf('A jel offsetje: offs = %f\n', 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); | ||
37. sor: | 60. 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'); | ||
</syntaxhighlight> | |||
}} | |||
*[[Media:Labor2_hf_7.pdf|Kidolgozott házi feladat, hibátlan eredménnyel (2021)]] | |||
*[[Media:Labor2_mérés7_házi1.pdf|Kidolgozott házi feladat]] - '''Hibák vannak benne!''' | |||
** A koherens mintavételezés egyedüli feltétele, hogy egész számú teljes periódust mintavételezzünk, azaz hogy J és M pozitív egész számok legyenek. Az hogy J és M relatív prímek legyenek (minden periódusban más fázisban mintavételezünk), csak egy méréstechnikai fícsőr, ami pontosabb mérést eredményez, de nem szükséges feltétele a koherens mintavételezésnek. | |||
** Az effektív bitszám számítása a PDF-ben rossz. A másik kidolgozás Matlab kódjában viszont helyesen szerepel. | |||
*[[Media:Labor2_mérés7_2014_03_16_házi.pdf|Kidolgozott házi feladat a fenti hibák javításával]] - ''ha van más hiba is, jelezzétek (mérésen nem javítottak bele)'' | |||
*[[Media:Labor2_mérés7_2014_05_06_házi.pdf|Kidolgozott házi feladat ]] - '' ha van benne hiba, jelezzétek (mérésen nem javítottak bele)'' | |||
** Mindegyik háziban rossz: az fft számítást le kellene osztani a vektor hosszával (fft definicióban is ez van + Matlab dokumentáció). A spekrumban 2db 0,5V amplitúdójú tüske lesz | |||
*'''Házi írásnál különösen figyeljetek oda,''' hogy ne egyszerűen innen másoljátok, mert nagyon szigorúan nézik. Nálunk konkrétan a fele csapatot kidobták (gyakorlatilag emiatt). | |||
== Ellenőrző mérés == | |||
*[[Media:Labor2_mérés7_jegyzőkönyv1.docx|Jegyzőkönyv (2011)]] | |||
*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 | |||
[[ | [[Kategória:Villamosmérnök]] |
A lap jelenlegi, 2021. február 21., 11:56-kori változata
Gondolatok a mérésről, tippek és tapasztalatok
- A Matlab ábráinak tengelyeit érdemes szépen feliratozni és normálisan skálázni, mert ha lemarad, azt nem szeretik.
- A DNL-es mérésénél egymás után következő pontok között kell meghatározni a DNL-t. Érdemes úgy trükközni, hogy felhasználjuk az INL mérési adatvektorát, majd mérünk még egyet, ahol ugyanakkora lépésköz mellett, pont 1-el elcsúsztatott kódvektorral gerjesztjük a DAC-ot. így széles tartományban kapunk egymás mellett lévő kódpárokhoz tartozó kimeneti értékeket.
- A glitch mérésénél, a DAC0 kimenetről le lehet venni egy szinkron trigger jelet. Érdemes ezt a szkóp 2-es csatornájára kötni és erre triggerelni, mert önmagában a DAC1-en megjelenő glitch néhány milivoltjára elég nehéz rátriggerelni.
- A glitch mérésnél a szkópra AC csatolással kell rákötni a DAC1 kimenetet! Így ugyanis kiszűrődik a körülbelül 1-1,5V nagyságú egyenkomponens, így közvetlenül meghatározható a néhány millivolt amplitúdójú glitch területe, akár a szkóp integrál funkciójával is.
Beugró kérdések
- Ellenőrző kérdések kidolgozása - Szerkesszétek, bővítsétek!
- Beugró kérdések voltak:
- Szinte csak az ellenőrző kérdésekből kérdeztek, viszont elég kevés időt adtak rá.
- Nem szeretik ha rizsázunk vagy ha nem konkrétan arra válaszolunk amit kérdeznek. Minden pontatlanságért vonogatnak le negyed/fél pontokat.
- Kérdezték bónuszban, hogy mi a Glitch! Nem mindegy hogy glitch-et vagy glitch energiát kérdezik. A kettő nem ugyanaz, bár ez a mérés elméleti összefoglalójában nincs így kiemelve. A beugróban levonnak érte ha nem a megfelelőt írod le.
- Pótmérésen kérdezték: Mi a hisztogram? Hogy néz ki a szinuszjel hisztogramja?
Házi feladathoz segítség
Egy kompakt Matlab kód a házihoz, katt a jobb oldali "kinyit" linkre! - 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;
fprintf('A jel amplitudoja: a = %f\n', a);
fprintf('A jel fazistolasa: fi = %f\n', fi);
fprintf('A jel offsetje: offs = %f\n', 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');
- Kidolgozott házi feladat, hibátlan eredménnyel (2021)
- Kidolgozott házi feladat - Hibák vannak benne!
- A koherens mintavételezés egyedüli feltétele, hogy egész számú teljes periódust mintavételezzünk, azaz hogy J és M pozitív egész számok legyenek. Az hogy J és M relatív prímek legyenek (minden periódusban más fázisban mintavételezünk), csak egy méréstechnikai fícsőr, ami pontosabb mérést eredményez, de nem szükséges feltétele a koherens mintavételezésnek.
- Az effektív bitszám számítása a PDF-ben rossz. A másik kidolgozás Matlab kódjában viszont helyesen szerepel.
- Kidolgozott házi feladat a fenti hibák javításával - ha van más hiba is, jelezzétek (mérésen nem javítottak bele)
- Kidolgozott házi feladat - ha van benne hiba, jelezzétek (mérésen nem javítottak bele)
- Mindegyik háziban rossz: az fft számítást le kellene osztani a vektor hosszával (fft definicióban is ez van + Matlab dokumentáció). A spekrumban 2db 0,5V amplitúdójú tüske lesz
- Házi írásnál különösen figyeljetek oda, hogy ne egyszerűen innen másoljátok, mert nagyon szigorúan nézik. Nálunk konkrétan a fele csapatot kidobták (gyakorlatilag emiatt).
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