#include #include #include #define KONECPOLE 199999 int main(int pp, char *pole[] ) { double a, b, deltaT, napeti, frekvence, cas, napeti_dsp, x, xz, yz, yz2, U[KONECPOLE+1], pocet_vzorku; int k; // Vzorkovací kmitočet 8 kHz int f_vzorkovaci = 8000; // Vypočítáme deltaT ze vzorkovacího kmitočtu deltaT = 1.0 / f_vzorkovaci; if (pp != 4) { printf("Zadejte prosim 3 parametry :D\n"); return 1; } napeti = atof(pole[1]); if (napeti < 0) { printf("Zadejte prosim kladne napeti :D\n"); return 1; } frekvence = atof(pole[2]); if (frekvence < 0) { printf("Zadejte prosim kladnou frekvenci :D\n"); return 1; } cas = atof(pole[3])/1000; if (cas < 0) { printf("Zadejte prosim kladny cas :D\n"); return 1; } a= sin (2 * M_PI * frekvence / f_vzorkovaci); b=2 * cos (2 * M_PI * frekvence /f_vzorkovaci); pocet_vzorku = (int)(cas / deltaT); U[0]=0; U[1]=0; for (k = 0; k <= pocet_vzorku; k++) { U[k+2] = napeti * sin(2.0 * M_PI * frekvence * deltaT * k); napeti_dsp = U[k] + (U[k+1] *a ) + (U[k+1] *b); printf("%8.6lf | %9.6lf | %9.6lf\n", deltaT*k, U[k+2], napeti_dsp); } return 0; }