Advertisement
miszczo

haming test

Apr 26th, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.96 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. #include <stdint.h>
  6.  
  7.  
  8.  
  9. void hamming1(int tab[]){
  10.     for(int i=0;i<1024;i++){
  11.         int32_t tmp = tab[i];
  12.         tmp*=(518589 - (int)(cos(i*2*3.14/1024)*14*32768));
  13.         //printf("%f\n",(cos(i*2*3.14/1024)*14*32768));
  14.         tmp>>=(16);
  15.         tab[i]=tmp;
  16.     }
  17. }
  18.  
  19.  
  20. void hamming2(int tab[]){
  21.     for(int i=0;i<1024;i++){
  22.     tab[i]*=((int)(0.538*65535)-(int)(0.4616*65536*cos(2*3.14*i/1024)));
  23.     tab[i]>>=(16);}
  24. }
  25.  
  26.  
  27. int signal[1024];
  28. int out1[1024];
  29. int out2[1024];
  30.  
  31. int main()
  32. {
  33.     srand(time(0));
  34.     for(int i =0;i<1024;i++){
  35.         //signal[i] = ((1024 * rand()) / RAND_MAX);
  36.         signal[i]=512;
  37.         out1[i]=signal[i];
  38.         out2[i]=signal[i];
  39.     }
  40.  
  41.     hamming1(out1);
  42.     hamming2(out2);
  43.  
  44.  
  45.     for(int i=0;i<(1024);i++){
  46.         printf("nr = %d, in = %d, hamming1 = %d, hamming2 = %d \n",i,signal[i], out1[i],out2[i]);
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement