Subversion Repositories svnkaklik

Rev

Rev 523 | Rev 525 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log

Rev Author Line No. Line
522 kaklik 1
#include <stdio.h>
2
#include <stdlib.h>
523 kaklik 3
#include <math.h>
522 kaklik 4
 
524 kaklik 5
int sample[100];
6
int signal[500];
7
 
523 kaklik 8
double correlation[1000];
522 kaklik 9
 
524 kaklik 10
int obdelnik(int *pole, int delka_pole, int delka_pulsu, int spozdeni) //generuje testovaci lichobeznikovy puls  do zadaneho pole
523 kaklik 11
{
12
int i;
13
int value=1;
524 kaklik 14
  for (i=0; i <= delka_pole; i++) { 
15
    if (i < spozdeni && i < delka_pole) pole[i]=value;
523 kaklik 16
 
17
    if ((i > spozdeni) && (i < (spozdeni+10))) pole[i] = value++;
18
 
524 kaklik 19
    if (i < (spozdeni+delka_pulsu+10) && i > (spozdeni+10) && i < delka_pole) pole[i]= value;      
523 kaklik 20
 
524 kaklik 21
    if (i < (spozdeni+delka_pulsu+20) && i > (spozdeni+delka_pulsu+10) && i < delka_pole) pole[i] = value--;      
523 kaklik 22
 
524 kaklik 23
    if (i > (spozdeni+delka_pulsu+20) && i < delka_pole) pole[i]=value;
523 kaklik 24
  }
25
}
26
 
522 kaklik 27
int main (void)
28
{
524 kaklik 29
   int i,n,m;
30
   double r;
522 kaklik 31
 
524 kaklik 32
   obdelnik(sample,100,10,35);			// vyrobi vzorek signalu
33
   obdelnik(signal,500,10,100);			// vyrobi signal ve kterem se vzorek hleda
523 kaklik 34
 
524 kaklik 35
   for(n=0; n < 400;n++){			//spocita korelaci pro mozna spozdeni
36
     r=0;
37
     for(m=0;m < 100;m++) r += sample[m]*signal[m+n];
38
     correlation[n]=r;
522 kaklik 39
   }
40
 
523 kaklik 41
 
524 kaklik 42
   for(i=0;i<400;i++)
523 kaklik 43
   {
524 kaklik 44
     fprintf(stdout,"%3u ",i);	 		// vypise cislo bunky v poli (spozdeni)
45
//     fprintf(stdout,"%2d ",sample[i]);
46
//     fprintf(stdout,"%2d ",signal[i]);
47
     fprintf(stdout,"%3.2f\n",correlation[i]);		// vypise hodnotu korelace nejvissi cislo je nejvetsi korelace.
523 kaklik 48
   }
49
 
522 kaklik 50
  exit(1);
51
}