Digital Signal Processing Reference
In-Depth Information
# include <math.h>
float randn(void); FILE *fp_write;
void main (void)
{
int k,kmax=5000;
float pi,yk,f=0.1;float xk1=0.0,xk2=0.0, xk3=0.0;
float uk1=0.0,uk2=0.0, uk3=0.0;
fp_write = fopen("filter.dat", "w");
pi = (atan(1.0))*4.0; randomise();
printf(" start \n");
for (k=0; k < kmax; k++)
{
uk1=randn(); xk3=xk2; xk2=xk1;
uk3=uk2; uk2=uk1;
xk1=0.5871*xk2 - 0.9025*xk3 + 0.0488*(uk1-uk3);
fprintf(fp_write,"%d %f \n", k, xk1);
}
printf(" finish \n");
fclose(fp_write);
}
The following program generates white Gaussian noise by adding 12 uniformly
distributed random variables.
float randn(void)
{
float intmax,udf,sum;
int rnd,k;
intmax = RAND_MAX;
sum = 0.0;
for (k = 0; k < 12; k++)
{
rnd = rand(); udf = rnd;
udf = (udf/intmax)-0.5; sum = sum + udf;
}
return(sum);
}
6.2 Estimating Direction of Arrival
Estimating direction of arrival (DoA) is of continual interest to people working on
underwater systems or RF systems. Locating a radiating source [1, 6, 7] requires us
to determine the DoA of energy from a mobile phone, a push-to-talk or an
Search WWH ::




Custom Search