11,7 → 11,7 |
int sample[SAMPLES]; |
int signal[SIGNAL_SAMPLES]; |
|
double correlation[SIGNAL_SAMPLES]; |
long int correlation[SIGNAL_SAMPLES]; |
|
int obdelnik(int *pole, int delka_pole, int delka_pulsu, int spozdeni) //generuje testovaci lichobeznikovy puls do zadaneho pole |
{ |
20,11 → 20,11 |
for (i=0; i <= delka_pole; i++) { |
if (i < spozdeni && i < delka_pole) pole[i]=value; |
|
if ((i > spozdeni) && (i < (spozdeni+10))) pole[i] = value++; |
if ((i > spozdeni) && (i <= (spozdeni+10))) pole[i] = value++; |
|
if (i < (spozdeni+delka_pulsu+10) && i > (spozdeni+10) && i < delka_pole) pole[i]= value; |
|
if (i < (spozdeni+delka_pulsu+19) && i > (spozdeni+delka_pulsu+10) && i < delka_pole) pole[i] = value--; |
if (i <= (spozdeni+delka_pulsu+19) && i > (spozdeni+delka_pulsu+9) && i < delka_pole) pole[i] = value--; |
|
if (i > (spozdeni+delka_pulsu+19) && i < delka_pole) pole[i]=value; |
} |
39,7 → 39,7 |
int t; |
float ble; |
if((spozdeni+delka_pulsu) < delka_pole) |
for(t=0;t < delka_pulsu;t++) pole[spozdeni+t] = round ( 100*sin(2*pi*t*(f0+(k/2)*t)) ); |
for(t=0;t < delka_pulsu;t++) pole[spozdeni+t] = floor( 100*sin(2*pi*t*(f0+(k/2)*t)) ); |
else return 0; |
|
} |
53,7 → 53,7 |
int t; |
float ble; |
if((spozdeni+delka_pulsu) < delka_pole) |
for(t=0;t < delka_pulsu;t++) pole[spozdeni+t] = round ( 100*sin(2*pi*t*(f0+(k/2)*t)) ); |
for(t=0;t < delka_pulsu;t++) pole[spozdeni+t] = floor ( 100*sin(2*pi*t*(f0+(k/2)*t)) ); |
else return 0; |
|
} |
62,11 → 62,11 |
int main (void) |
{ |
int i,n,m,delay; |
double r; |
long int r; |
FILE *out; |
|
obdelnik(sample,SAMPLES,100,0); // vyrobi vzorek signalu |
obdelnik(signal,SIGNAL_SAMPLES,100,1100); // vyrobi signal ve kterem se vzorek hleda |
linear_chirp(sample,SAMPLES,200,0); // vyrobi vzorek signalu |
linear_chirp(signal,SIGNAL_SAMPLES,200,500); // vyrobi signal ve kterem se vzorek hleda |
|
for(n=0; n < (SIGNAL_SAMPLES - SAMPLES);n++){ //spocita korelaci pro mozna spozdeni |
r=0; |
86,9 → 86,9 |
for(i=0;i< SIGNAL_SAMPLES;i++) |
{ |
// fprintf(stdout,"%3u ",i); // vypise cislo bunky v poli (spozdeni) |
// fprintf(stdout,"%2i ",sample[i]); |
// fprintf(stdout,"%2i ",sample[i]); |
// fprintf(stdout,"%2d ",signal[i]); |
fprintf(out,"%3.2f\n",correlation[i]); // vypise hodnotu korelace nejvissi cislo je nejvetsi korelace. |
fprintf(out,"%d %d %d %ld \n",i,sample[i], signal[i], correlation[i]); // vypise hodnotu korelace nejvissi cislo je nejvetsi korelace. |
} |
fprintf(stdout,"\nvzorek v signalu zacina na miste: %3u \n",delay); |
fclose(out); |