#include #include #include #include int main(int pp, char *pole[]) { double amplituda=0; double kmitocet=0; double d_trvani=0; double fvz=0; double cas=0; double deltaT = 0.000125; // vzorkovaci­ frekvence 8 kHz double u_ok = 0.0; double u_sum = 0; double sum = 0; srandom(time(NULL)); if (pp!=6) { //kontrola pp printf("Spatny pocet parametru zadejte 5\n"); return 1; } fvz=atof(pole[1]); amplituda=atof(pole[2]); kmitocet=atof(pole[3]); d_trvani=atof(pole[4])/1000; //capu si z para ty srandy u_sum=atof(pole[5]); if (fvz<=0) { //kontrola frekvence vzorkovani printf("Spatna frekvence vzorkovani, musi byt kladna\n"); return 1; } if (amplituda<=0 && u_sum <=0) { //kontrola amplitudy printf("Spatna amplituda, musi byt kladna\n"); return 1; } if (kmitocet<=0) { //kontrola kmitocet printf("Spatny kmitocet musi byz kladny\n"); return 1; } if (d_trvani<=0) { //kontrola delky trvani printf("Spatna delka trvani musi byt kladna\n"); return 1; } deltaT=1/fvz; //deltaT for (cas = 0; cas <= d_trvani; cas = cas + deltaT) { sum = ((((double)rand() / RAND_MAX)*2)-1) * u_sum; //sumi nejaky random cislo u_ok = (amplituda * sin(2 * M_PI * kmitocet * cas)) + sum; printf("%08.6lf %08.6lf\n", cas, u_ok); //print sin napeti } return 0; }