⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signal.bak

📁 综合课程设计实验
💻 BAK
字号:
# include <stdio.h>
# include <math.h>
# define pi 3.1415926
void main()
{ int A[5]={0,1,3,2,2};
  int B[5]={0,2,4,2,1};
  float  a[5]={0,pi/8,pi/6,pi/6,pi/6};
  float b[5]={0,0,pi/4,pi/4,pi/8};
  int f[5]={0,35,280,1120,4480};
  int i,k;
  float hh[1201],a11[1201],a1[1201],b11[1201],b1[1201],c11[1201],c1[1201];
  float aa11,a1a,bb11,b1a,ab11,ac11,diff11;
  float h[202]={0.0000,0.0010,0.0010,0.0010,0.0010,0.0011,0.0011,
			0.0011,0.0011,0.0011,0.0011,0.0011,0.0011,
			0.0011,0.0011,0.0011,0.0011,0.0011,0.0010,
			0.0009,0.0009,0.0008,0.0007,0.0005,0.0004,
			0.0002,-0.0000,-0.0002,-0.0005,-0.0007,-0.0010,
			-0.0013,-0.0017,-0.0020,-0.0024,-0.0028,-0.0032,
			-0.0036,-0.0041,-0.0045,-0.0050,-0.0055,-0.0059,
			-0.0064,-0.0068,-0.0073,-0.0077,-0.0082,-0.0086,
			-0.0089,-0.0093,-0.0096,-0.0099,-0.0101,-0.0103,
			-0.0105,-0.0106,-0.0106,-0.0106,-0.0105,-0.0104,
			-0.0102,-0.0099,-0.0096,-0.0092,-0.0088,-0.0083,
			-0.0077,-0.0070,-0.0063,-0.0056,-0.0048,-0.0039,
			-0.0030,-0.0020,-0.0010,0.0000,0.0011,0.0021,
			0.0032,0.0044,0.0055,0.0066,0.0077,0.0088,
			0.0099,0.0109,0.0119,0.0129,0.0138,0.0147,
			0.0155,0.0163,0.0170,0.0176,0.0182,0.0186,
			0.0190,0.0193,0.0196,0.0197,0.0197,0.0197,
			0.0196,0.0193,0.0190,0.0186,0.0182,0.0176,
			0.0170,0.0163,0.0155,0.0147,0.0138,0.0129,
			0.0119,0.0109,0.0099,0.0088,0.0077,0.0066,
			0.0055,0.0044,0.0032,0.0021,0.0011,0.0000,
			-0.0010,-0.0020,-0.0030,-0.0039,-0.0048,-0.0056,
			-0.0063,-0.0070,-0.0077,-0.0083,-0.0088,-0.0092,
			-0.0096,-0.0099,-0.0102,-0.0104,-0.0105,-0.0106,
			-0.0106,-0.0106,-0.0105,-0.0103,-0.0101,-0.0099,
			-0.0096,-0.0093,-0.0089,-0.0086,-0.0082,-0.0077,
			-0.0073,-0.0068,-0.0064,-0.0059,-0.0055,-0.0050,
			-0.0045,-0.0041,-0.0036,-0.0032,-0.0028,-0.0024,
			-0.0020,-0.0017,-0.0013,-0.0010,-0.0007,-0.0005,
			-0.0002,-0.0000,0.0002,0.0004,0.0005,0.0007,
			0.0008,0.0009,0.0009,0.0010,0.0011,0.0011,
			0.0011,0.0011,0.0011,0.0011,0.0011,0.0011,
			0.0011,0.0011,0.0011,0.0011,0.0011,0.0010,
			0.0010,0.0010,0.0010};
  float A1[1001],B1[1001],C1[1001];
  printf("please choose fs from 3500hz,28000,112000,448000:");
  scanf("%d",&fs);
  for (k=1;k<=1000;k++)
  {
   A1[k]=A[1]*sin(2*pi*35*k/fs+a[1])+A[2]*sin(2*pi*280*k/fs+a[2])+A[3]*sin(2*pi*1120*k/fs+a[3])+A[4]*sin(2*pi*4480*k/fs+a[4]);
   B1[k]=B[1]*sin(2*pi*35*k/fs+b[1])+B[2]*sin(2*pi*280*k/fs+b[2])+B[3]*sin(2*pi*1120*k/fs+b[3])+B[4]*sin(2*pi*4480*k/fs+b[4]);
   C1[k]=B[1]*sin(2*pi*35*k/fs+pi/2+b[1])+B[2]*sin(2*pi*280*k/fs+pi/2+b[2])+B[3]*sin(2*pi*1120*k/fs+pi/2+b[3])+B[4]*sin(2*pi*4480*k/fs+pi/2+b[4]);
   }
   for (i=1;i<=201;i++)
      hh[i]=h[i];
   for (i=202;i<=1200;i++)
      hh[i]=0;
   for (i=1;i<=1000;i++)
    { a1[i]=A1[i];
      b1[i]=B1[i];
      c1[i]=C1[i];
      }
   for (i=1001;i<=1200;i++)
    {  a1[i]=0;
       b1[i]=0;
       c1[i]=0;
       }
   for (i=1;i<=1200;i++)
     {  a11[i]=0;
	b11[i]=0;
	c11[i]=0;
      for (k=1;k<=i;k++)
      {	a11[i]=a11[i]+hh[k]*a1[i+1-k];
	b11[i]=b11[i]+hh[k]*b1[i+1-k];
	c11[i]=c11[i]+hh[k]*c1[i+1-k];
	}
     }
 aa11=0;
 for (i=1;i<=1200;i++)
    aa11=aa11+a11[i]*a11[i];
    a1a=sqrt(2*aa11/1200);
    printf("the range of signal A is %f\n",a1a);
 bb11=0;
 for (i=1;i<=1200;i++)
    bb11=bb11+b11[i]*b11[i];
    b1a=sqrt(2*bb11/1200);
    printf("the range of signal B is %f\n",b1a);
  ab11=0;
 for (i=1;i<=1200;i++)
    ab11=ab11+a11[i]*b11[i];
  ac11=0;
 for (i=1;i<=1200;i++)
    ac11=ac11+a11[i]*c11[i];
   diff11=atan(ac11/ab11)*180/pi;
   printf("the difference of degree between A and B is %f\n",diff11);
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -