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

📄 walsh.c

📁 Walsh Hadamar Transform CDMA2
💻 C
字号:
/*
Walsh function (order from 0 to 32768, argument from 0 to 1)

x = wal(n,Q);

int n - order, double Q = walsh angle (0...1)

(c)Max
*/

#include <math.h>

unsigned char walsh(unsigned int w,double Q)
{
unsigned char k,n,wl,prev_bit,curr_bit;
unsigned int nn;
double fi;

nn=n=wl=1;

while(nn<w)
 {
 nn<<=1;
 n++;
 }

prev_bit = w&1;
w>>=1;

for(k=1;k<=n;k++)
 {
 curr_bit = w&1;
 w>>=1;

 if(curr_bit^prev_bit)
  {
  fi=Q*(double)(1u<<k);
  fi-=2.0*floor(fi*0.5);
  if(fi>=1.0) wl^=1;
  }

 prev_bit = curr_bit;
 }

return wl;
}


⌨️ 快捷键说明

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