systolic.cpp

来自「qrdrls算法」· C++ 代码 · 共 53 行

CPP
53
字号
#include <math.h>
#include "systolic.h"


//#define TAPS 3; 

double lamda=1;



TRIANGULAR::TRIANGULAR()
{
	x=0;
	c=1;
	s=0;
}

void TRIANGULAR::circle(complex2 Uin)
{
	//complex2 x0;
	double temp;
	cb=c;
	sb=s;
	if(Uin==0)
	{
      c=1;
	  s=0;
	  x=x*(sqrt(lamda));
	}
	else
	{   
		temp=sqrt(Uin.magnitude2()+lamda*x.get_real()*x.get_real());
		//x0.get_real()=temp;
        x*=sqrt(lamda);
		c=x.get_real()/temp;
		s=Uin/temp;
		x=complex2(temp,0);
	}
}

void TRIANGULAR::square(complex2 Uin,complex2 cc,complex2 ss)
{

	Uout=cc*Uin-(ss.conjugate())*(sqrt(lamda))*x;
	x=ss*Uin+cc*(sqrt(lamda))*x;
	s=ss;
	c=cc;
}




⌨️ 快捷键说明

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