chirp signal analysis

Post on 25-Jan-2016

49 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

CHIRP SIGNAL ANALYSIS. Cesar A Aceros Moreno. DCFT Definition. CHIRP Signal. OUTPUT OF THE DCFT. Dataflow of the DCFT. Structure of the datafiles. dataout.txt 128 -0.000000 real.x[0,0] -0.000000 imag.x[1,0] 0.000000 real.x[1,0] 0.000000 imag.x[1,0] …. - PowerPoint PPT Presentation

TRANSCRIPT

42510011 0010 1010 1101 0001 0100 1011

CHIRP SIGNAL ANALYSIS

Cesar A Aceros Moreno

4251

0011 0010 1010 1101 0001 0100 1011

DCFT Definition

4251

0011 0010 1010 1101 0001 0100 1011

CHIRP Signal

4251

0011 0010 1010 1101 0001 0100 1011

OUTPUT OF THE DCFT

4251

0011 0010 1010 1101 0001 0100 1011

Dataflow of the DCFT

4251

0011 0010 1010 1101 0001 0100 1011

Structure of the datafiles• datain.txt

1281.000000 x[0]0.000000 x[1]0.555570 x[2]

….

0.831470 x[124]-0.195090 x[125]0.980785 x[126]-0.707107 x[127]

• dataout.txt

128-0.000000 real.x[0,0]-0.000000 imag.x[1,0]0.000000 real.x[1,0]0.000000 imag.x[1,0]

….

-0.000000 real.x[127,0]1.414215 imag.x[127,0]-1.414213 real.x[0,1]0.000000 imag.x[0,1]

….

-0.000000 real.x[127,1]0.000000 imag.x[127,1]1.913880 real.x[0,2]0.580570 imag.x[0,2]

4251

0011 0010 1010 1101 0001 0100 1011

DCFT IMPLEMENTATIONS

DCFT

PCIMPLEMENTATION

MatlabC

CLUSTERIMPLEMENTATION

PLANET LABSerial

Parallel

4251

0011 0010 1010 1101 0001 0100 1011

DCFT Serialmain(){ char temp[1]; float *data, *dataw; long int nn=0; int i=0,l=0; FILE *infile,*outfile; if ((infile = fopen("datain.txt", "r")) == NULL) fprintf(stderr,"Cannot open file"); fscanf(infile,"%d",&nn); printf("Valor size: %d\n",nn); data = malloc(sizeof(float)*nn*2); dataw = malloc(sizeof(float)*nn*2); for (i=1;i<2*nn+1;i++){ fscanf(infile,"%f",&data[i]); } fclose(infile);

outfile = fopen("dataout.txt", "w");fprintf(outfile,"%ld\n",nn); for (l=0;l<nn;l++){ printf("Layer %ld \n",l); for (i=1;i<2*nn+1;i++){ dataw[i]=data[i]; } haddamard(dataw,nn,l); four1(dataw,nn,1); for (i=1;i<2*nn+1;i++){ dataw[i]=dataw[i]/sqrt(nn); fprintf(outfile,"%f\n", dataw[i] ); }

} fclose(outfile);

}

4251

0011 0010 1010 1101 0001 0100 1011

Experiment Description: createdata

• For the experiment the sample size was limited to be within the set {6000, 7000, 8000}

• The sample size was varied from one experimental run to the next.

• The values of K0 and L0 where chosen randomly on each run.

4251

0011 0010 1010 1101 0001 0100 1011

Experiment Description: dcft

• Input:– Reads the file datain generated by createdata.

• Output:– Calculates the DCFT of the input data and

prints the results to a file named dataout.

4251

0011 0010 1010 1101 0001 0100 1011

Experiment Description

• Of the two programs dcft is the only one of interest.

• Utilized Paradyn to instrument and analyze the performance of dcft.

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Process Specification

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Process Specification

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: The Where Axis

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Metric Specification

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Metric Descriptions

• cpu – Each bin represents the percentage of cpu time spent during the corresponding time interval. Aggregation is total cpu time over an interval.

• cpu_inclusive – Same as cpu but includes called procedures in the process time calculation.

• exec_time - Each bin represents the elapsed wall clock time per unit during the corresponding time interval. Aggregation is the sum over the interval.

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Metric Descriptions

• io_bytes – This metric represents the number of bytes for Input/Output operations. Currently, only “read” and “write” are supported as input/output operations for UNIX, MPI, and PVM.

• io_ops – Number of Input/Output operations. IO operations are the same as for io_bytes.

• io_wait – Time spent during Input/Output operations. IO operations are the same as for io_bytes.

• io_wait_inclusive – Same as io_wait but includes called procedures in the process time calculation.

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Bottleneck Analysis

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Results

Sampling Size = 7000, K0 = 15, L0 =15

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Results

Sampling Size = 7000, K0 = 15, L0 =15

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Results

Sampling Size = 8000, K0 = 10, L0 =10

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Results

Sampling Size = 8000, K0 = 10, L0 =10

4251

0011 0010 1010 1101 0001 0100 1011

Analyzing Performance with Paradyn: Results

4251

0011 0010 1010 1101 0001 0100 1011

FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). We believe that FFTW, which is free software, should become the FFT library of choice for most applications.

#include <fftw_mpi.h>

#include <fftw.h>

plan = fftw_mpi_create_plan(MPI_COMM_WORLD, NX , FFTW_FORWARD, FFTW_IN_PLACE);

fftw_mpi(plan, 1, datainC, dataout);

fftw_mpi_destroy_plan(plan);

4251

0011 0010 1010 1101 0001 0100 1011

Results of Execution Time.

CLUSTER IMPLEMENTATION OF THE DCFT

y = 5E-06x2 - 0.0016x + 0.374

050

100150200250

300350

0 2000 4000 6000 8000 10000

4251

0011 0010 1010 1101 0001 0100 1011

PLANET LAB

• CHIRP IMPLEMENTATION

4251

0011 0010 1010 1101 0001 0100 1011

top related