constbuilder.m

来自「很好的ofdm文档」· M 代码 · 共 41 行

M
41
字号
function y = constbuilder(N)b=ceil(log2(N));p=zeros(N,b);for k=0:(N-1)        u=dec2bin(k);        w=zeros(1,length(u));        for i=1:length(u)            w(i)=str2num(u(i));        end        v=[zeros((b-length(w)),1)',w];        p(k+1,:)=v;endn=0:N-1;    if N<=16        a=exp(j*2*pi/N.*n');        M=[p,a];    else        a=exp(j*2*pi/16.*(0:15)');        if N<=24            b=0.5*exp(j*2*pi/(N-17).*(0:N-17)');            M=[p,[a;b]];        else            b=0.66*exp(j*2*pi/8.*(0:8)'+j*pi/16);            if N<=32                c=0.33*exp(j*2*pi/(N-26).*(0:N-26)');                M=[p,[a;b;c]];            else                a=exp(j*2*pi/N.*n');                M=[p,a];            end        end    endif N==16    a=[.354+.354*j;sqrt(2)/2;sqrt(2)/2*j;-.354+.354*j;-sqrt(2)/2*j;.354-.354*j;-.354-.354*j;-sqrt(2)/2];    b=exp(j*2*pi/8.*(0:7)');    M=[p,[a;b]];elseend    y=matlaberr(M);                       

⌨️ 快捷键说明

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