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

📄 get_vector.asm

📁 这个dsp程序用于求给定方位角和仰角时天线阵列的阵列流行元素
💻 ASM
字号:
//***********************************************************************
/*this vector is to calculate the vector used by the main program
r14,r15 pass the arizmuth and elevation,r2,r3 pass the address of 
the real and image result*/      
/*这个程序用于求给定方位角和仰角时天线阵列的阵列流行
1元素:a(1)=exp(-j*2*pi*((x*cos(sita)+ysin(sita))*cos(fei)+z*sin(fei))/rbd)
第2-6个元素:a(6)=exp(-j*2*pi(x*cos(sita)+ysin(sita))*cos(fei)
/rbd);其中rbd指的是波长,sita为方位角,fei为俯仰角*/
//***********************************************************************	  
#define pi 3.1415926535897932384
#define fac 2*pi/60  //60代表的是波长为60mm---频率为5Ghz 
#define x1 -100.0//-85.595//90//85.595  //90mm 从此开始的宏定义天线阵的阵元座标
#define x2 58.0//0.0//27.812  //0.0//27.812=90cos72
#define x3 -100.0//85.595//-72.812//-85.595 //-72.812=-90cos36
#define x4 -58.0//52.901//-72.812
#define x5 -100.0//-52.901//27.812//52.901
#define x6 41.0
#define y1 100.0//-27.812//0.0//27.812
#define y2 100.0//-90//85.595//90 //85.595=90sin72
#define y3 58.0//27.812//52.901//27.812  //52.901=90sin36
#define y4 100.0//72.812//-52.901
#define y5 -58.0//72.812//-85.595//-72.812
#define y6 -41.0
#define z1 25.0//单位:毫米
#define z2 0.0
#define z3 0.0
#define z4 0.0
#define z5 0.0
#define z6 0.0

//.var       cjmp_temp;
.section   program;
.extern    cosine,sine;
.global    get_vector_a;
get_vector_a:
      j30=cjmp;;
      j2=xr2;;j3=xr3;;      
	  xr13=pi/180.0;;	 
	  xfr0=r14*r13;;//xr14是方位角sita,xr15是仰角fei	  
	  call cosine(np);;	 
	  xr20=xr0;;//保存cos(sita) 	  
	  xr1=x1;;//第1个阵元的x值	  
	  xfr5=r1*r0;;//x*cos(sita)
	  xfr0=r13*r14;;
	  call sine(np);;
	  xr21=xr0;;//保存sin(sita)
	  xr6=y1;;//第1个阵元的y值
	  xfr4=r0*r6;;//y*sin(sita)
	  xfr24=r5+r4;;//x*cos(sita)+y*sin(sita)
	  xfr0=r15*r13;;//fei角
	  call cosine (np);;
	  xr7=fac;;
	  xfr8=r7*r0;;//
	  xr22=xr8;;//fac*cos(fai)
	  xfr24=r24*r8;;//(x*cos(sita)+y*sin(sita))*fac*cos(fei)
	  xfr0=r15*r13;;//fei角
	  call sine (np);;
	  xr7=fac;;
	  xfr9=r0*r7;;//fac*sin(fei)
	  
	  xr1=z1;;//第1个阵元的z值
	  xfr9=r1*r9;;//
	  xfr9=r9+r24;;//(x*cos(sita)+y*sin(sita))*fac*cos(fei)+z*fac*sin(fei)
	  xr0=xr9;;
	  call cosine(np);;//cos()
	  [j2+0]=xr0;;
	  xr0=xr9;;
	  call sine(np);;//sin()	 
	  [j3+0]=xr0;;
	  
	  
	  xr1=x2;;xr6=y2;;
	  xfr1=r1*r20;;xfr6=r6*r21;;//
	  xfr1=r1+r6;;//x*cos(sita)+y*sin(sita)
	  xfr1=r1*r22;;
	  xr0=xr1;;
	  call cosine(np);;
	  [j2+1]=xr0;;
	  xr0=xr1;;
	  call sine(np);;	 
	  [j3+1]=xr0;;
	  
	  
	  xr1=x3;;xr6=y3;;
	  xfr1=r1*r20;;xfr6=r6*r21;;//
	  xfr1=r1+r6;;//x*cos(sita)+y*sin(sita)
	  xfr1=r1*r22;;
	  xr0=xr1;;
	  call cosine(np);;
	  [j2+2]=xr0;;
	  xr0=xr1;;
	  call sine(np);;	
	  [j3+2]=xr0;;
	  
	  
	  xr1=x4;;xr6=y4;;
	  xfr1=r1*r20;;xfr6=r6*r21;;//
	  xfr1=r1+r6;;//x*cos(sita)+y*sinIsita)
	  xfr1=r1*r22;;
	  xr0=xr1;;
	  call cosine(np);;
	  [j2+3]=xr0;;
	  xr0=xr1;;
	  call sine(np);;	 
	  [j3+3]=xr0;;
	  
	  xr1=x5;;xr6=y5;;
	  xfr1=r1*r20;;xfr6=r6*r21;;//
	  xfr1=r1+r6;;//x*cos(sita)+y*sinIsita)
	  xfr1=r1*r22;;
	  xr0=xr1;;
	  call cosine(np);;
	  [j2+4]=xr0;;
	  xr0=xr1;;
	  call sine(np);;
	  [j3+4]=xr0;;
	  
	  
	  xr1=x6;;xr6=y6;;
	  xfr1=r1*r20;;xfr6=r6*r21;;//
	  xfr1=r1+r6;;//x*cos(sita)+y*sinIsita)
	  xfr1=r1*r22;;
	  xr0=xr1;;
	  call cosine(np);;
	  [j2+5]=xr0;;
	  xr0=xr1;;
	  call sine(np);;
	 [j3+5]=xr0;;
	  cjmp=j30;;
      nop;nop;nop;;
      CJMP(ABS)(NP);;
	  
get_vector_a.end:

	  

⌨️ 快捷键说明

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