Vjezba 2 sa komentarima bez 4. zadatka

Dependencies:   mbed

Fork of KTM_vjezba2 by Emma Watson

Committer:
JosipLupinski
Date:
Sat Nov 05 19:16:56 2016 +0000
Revision:
0:2cc3c591f993
Child:
1:af669fa89346
Vjezba 2 sa komentarima bez 4. zadatka

Who changed what in which revision?

UserRevisionLine numberNew contents of line
JosipLupinski 0:2cc3c591f993 1 #include "mbed.h"
JosipLupinski 0:2cc3c591f993 2
JosipLupinski 0:2cc3c591f993 3 /*
JosipLupinski 0:2cc3c591f993 4 generator signala generira sinusni naponski signal frekvencije 50Hz, amplitude od vrha do vrha 2V
JosipLupinski 0:2cc3c591f993 5 vertikalno pomaknut za 1.5V, odnosno donji vrh za 0.5V od 0
JosipLupinski 0:2cc3c591f993 6
JosipLupinski 0:2cc3c591f993 7 vrijeme AD pretvorbe izmjereno: 20.85us
JosipLupinski 0:2cc3c591f993 8 vrijeme DA pretvorbe izmjereno: 1.75us
JosipLupinski 0:2cc3c591f993 9 ukupno vrijeme pretvorbe T = 20.85us + 1.75us = 22.6us
JosipLupinski 0:2cc3c591f993 10 prema tome bi izračunata frekvencija uzorkovanja bila jednaka: f = 1/T = 1/22.6us = 4424.78Hz
JosipLupinski 0:2cc3c591f993 11
JosipLupinski 0:2cc3c591f993 12 drugi dio zadatka zahtjeva da nam je frekvencija uzorkovanja približno 500Hz
JosipLupinski 0:2cc3c591f993 13 za to trebamo izračunati vrijeme uzorkovanja i postaviti u wait() funckiju
JosipLupinski 0:2cc3c591f993 14 T = 1/500Hz = 2ms
JosipLupinski 0:2cc3c591f993 15
JosipLupinski 0:2cc3c591f993 16 granična frekvencija iznosi f = fs/2 = 500Hz/2 = 250Hz,
JosipLupinski 0:2cc3c591f993 17 kod granične frekvencije dobijemo točno 2 uzorka i možemo rekonstruirati signal,
JosipLupinski 0:2cc3c591f993 18 odnosno broj uzoraka je jednak: uzorci = frekvencija uzorkovanja / frekvencija ulaznog signala
JosipLupinski 0:2cc3c591f993 19
JosipLupinski 0:2cc3c591f993 20 pošto nam je frekvencija ulaznog signala generator signala, smanjenjem frekvencije na
JosipLupinski 0:2cc3c591f993 21 generatoru dobijemo više uzoraka, ako prođemo frekvenciju iznad frekvencije uzorkovanja,
JosipLupinski 0:2cc3c591f993 22 dolazi do aliasinga
JosipLupinski 0:2cc3c591f993 23
JosipLupinski 0:2cc3c591f993 24 ako povečamo frekvenciju ulaznog signala na istu vrijednost frekvencije uzorkovanja,
JosipLupinski 0:2cc3c591f993 25 dobijemo samo 1 uzorak, odnosno dobijemo samo ravnu crtu
JosipLupinski 0:2cc3c591f993 26 */
JosipLupinski 0:2cc3c591f993 27
JosipLupinski 0:2cc3c591f993 28 AnalogOut Aout(p18);
JosipLupinski 0:2cc3c591f993 29 AnalogIn Ain(p20);
JosipLupinski 0:2cc3c591f993 30
JosipLupinski 0:2cc3c591f993 31 int main() {
JosipLupinski 0:2cc3c591f993 32
JosipLupinski 0:2cc3c591f993 33 float ADCdata;
JosipLupinski 0:2cc3c591f993 34
JosipLupinski 0:2cc3c591f993 35 while(true) {
JosipLupinski 0:2cc3c591f993 36
JosipLupinski 0:2cc3c591f993 37 ADCdata = Ain; //pokreni AD pretvorbu, spremi uzorak u varijablu ADCdata
JosipLupinski 0:2cc3c591f993 38
JosipLupinski 0:2cc3c591f993 39 Aout = ADCdata; //prebaci vrijednosti iz ADCdata u DA pretvornik i pokreni DA pretvorbu
JosipLupinski 0:2cc3c591f993 40
JosipLupinski 0:2cc3c591f993 41 //wait(0.002); //podesavanje vremena uzorkovanja
JosipLupinski 0:2cc3c591f993 42
JosipLupinski 0:2cc3c591f993 43 }
JosipLupinski 0:2cc3c591f993 44 }