📄 lianghua.sci
字号:
function y=g(t);
//global a T B
T=1/270833;
B=0.3/T;
a=sqrt(log(2)/2)/B;
s1=4*T;
y=erfc(%pi*(t-T/2)/a)/s1-erfc(%pi*(t+T/2)/a)/s1;
endfunction;
f=270833;
dt=1/f;
times=100;
Na=10;
yang=8;
M=Na*times;
N=M*yang;
%f=270833;
T=1/f;
B=0.3/T;
Q=10;
jifen=zeros(1,5);
q=zeros(1,5);
c=zeros(1,5);
cossum=zeros(1,1024);
sinsun=zeros(1,1024);
xiangwei=zeros(1,1024);
for n=0:31
for L=0:3
m=n;
n1=fix(m/16);
if n1,m=n-16;end;
n2=fix(m/8);
if n2,m=m-8;end;
n3=fix(m/4);
if n3,m=m-4;end;
n4=fix(m/2);
if n4,m=m-2;end;
n5=m;
b1=n1;
if b1==0,b1=-1;end;
b2=n2;
if b2==0,b2=-1;end;
b3=n3;
if b3==0,b3=-1;end;
b4=n4;
if b4==0,b4=-1;end;
b5=n5;
if b5==0,b5=-1;end;
for ii=1:8
jifen(1)=intg(-2.5*T,1.5*T+T*ii/8,g);
jifen(2)=intg(-2.5*T,0.5*T+T*ii/8,g);
jifen(3)=intg(-2.5*T,-0.5*T+T*ii/8,g);
jifen(4)=intg(-2.5*T,-1.5*T+T*ii/8,g);
jifen(5)=intg(-2.5*T,-2.5*T+T*ii/8,g);
q=b1*jifen(1)+b2*jifen(2)+b3*jifen(3)+b4*jifen(4)+b5*jifen(5);
x=n*32+L*8+ii;
xiangwei(x)=%pi*q+L*%pi/2;
cossum(n*32+L*8+ii)=cos(xiangwei(n*32+L*8+ii));
sinsum(n*32+L*8+ii)=sin(xiangwei(n*32+L*8+ii));
end;
end;
end;
xiangwei;
cos_bin=zeros(10,1024);
sin_bin=zeros(10,1024);
for ii4=1:1024
cos_1=cossum(ii4); // %cos量化开始
cos_2=(1+cos_1)*511.5; // %量化的0-1023
mmm=cos_2;
nnn1=fix(mmm/512); // %将这个数10bit量化
if nnn1,mmm=mmm-512;end;
cos_bin(1,ii4)=nnn1;
nnn2=fix(mmm/256);
if nnn2,mmm=mmm-256;end;
cos_bin(2,ii4)=nnn2;
nnn3=fix(mmm/128);
if nnn3,mmm=mmm-128;end;
cos_bin(3,ii4)=nnn3;
nnn4=fix(mmm/64);
if nnn4,mmm=mmm-64;end;
cos_bin(4,ii4)=nnn4;
nnn5=fix(mmm/32);
if nnn5,mmm=mmm-32;end;
cos_bin(5,ii4)=nnn5;
nnn6=fix(mmm/16);
if nnn6,mmm=mmm-16;end;
cos_bin(6,ii4)=nnn6;
nnn7=fix(mmm/8);
if nnn7,mmm=mmm-8;end;
cos_bin(7,ii4)=nnn7;
nnn8=fix(mmm/4);
if nnn8,mmm=mmm-4;end;
cos_bin(8,ii4)=nnn8;
nnn9=fix(mmm/2);
if nnn9,mmm=mmm-2;end;
cos_bin(9,ii4)=nnn9;
nnn10=fix(mmm);
cos_bin(10,ii4)=nnn10;
end
for ii5=1:1024
sin_1=sinsum(ii5); // %sin量化开始
sin_2=(1+sin_1)*511.5; // %量化的0-1023
mmm=sin_2;
nnn1=fix(mmm/512); // %将这个数10bit量化
if nnn1,mmm=mmm-512;end;
sin_bin(1,ii5)=nnn1;
nnn2=fix(mmm/256);
if nnn2,mmm=mmm-256;end;
sin_bin(2,ii5)=nnn2;
nnn3=fix(mmm/128);
if nnn3,mmm=mmm-128;end;
sin_bin(3,ii5)=nnn3;
nnn4=fix(mmm/64);
if nnn4,mmm=mmm-64;end;
sin_bin(4,ii5)=nnn4;
nnn5=fix(mmm/32);
if nnn5,mmm=mmm-32;end;
sin_bin(5,ii5)=nnn5;
nnn6=fix(mmm/16);
if nnn6,mmm=mmm-16;end;
sin_bin(6,ii5)=nnn6;
nnn7=fix(mmm/8);
if nnn7,mmm=mmm-8;end;
sin_bin(7,ii5)=nnn7;
nnn8=fix(mmm/4);
if nnn8,mmm=mmm-4;end;
sin_bin(8,ii5)=nnn8;
nnn9=fix(mmm/2);
if nnn9,mmm=mmm-2;end;
sin_bin(9,ii5)=nnn9;
nnn10=fix(mmm);
sin_bin(10,ii5)=nnn10;
end
cos_low=zeros(1,1024);
for ii6=1:1024 // %cos低8位
cos_low(ii6)=cos_bin(3,ii6)*128+cos_bin(4,ii6)*64+cos_bin(5,ii6)*32+cos_bin(6,ii6)*16+cos_bin(7,ii6)*8+cos_bin(8,ii6)*4+cos_bin(9,ii6)*2+cos_bin(10,ii6);
end
sin_low=zeros(1,1024);
for ii7=1:1024 // %sin低8位
sin_low(ii7)=sin_bin(3,ii7)*128+sin_bin(4,ii7)*64+sin_bin(5,ii7)*32+sin_bin(6,ii7)*16+sin_bin(7,ii7)*8+sin_bin(8,ii7)*4+sin_bin(9,ii7)*2+sin_bin(10,ii7);
end
cos_sin=zeros(1,1024);
for ii8=1:1024 // %cos和sin的高2位
cos_sin(ii8)=sin_bin(1,ii8)*128+sin_bin(2,ii8)*64+cos_bin(1,ii8)*2+cos_bin(2,ii8);
end
cos_low_bin=zeros(1,8192);
sin_low_bin=zeros(1,8192);
cos_sin_bin=zeros(1,8192);
for ii9=1:1024
cos_low_bin(8*ii9-7)=cos_low(ii9); // %每个数据间插入7个0
sin_low_bin(8*ii9-7)=sin_low(ii9);
cos_sin_bin(8*ii9-7)=cos_sin(ii9);
end
fid_cos=mopen('cos.bin','w'); // %生成bin文件
mput(cos_low_bin,fid_cos); // %数据写入bin文件
mclose(fid_cos);
fid_sin=mopen('sin.bin','w');
mput(sin_low_bin,fid_sin);
mclose(fid_sin);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -