demanderr.m

来自「OFDM系统中以PN序列作为循环前缀和传统梳状导频信道估计方法对比」· M 代码 · 共 53 行

M
53
字号
function [ps,pb] = demanderr(ss,TRess)
%解调并计算误比特率误符号率
%ss和TRess同长
ssL = length(ss);
nofsymerr = 0;
nofbiterr = 0;
for j = 1:ssL
    if (ss(j) == 1)
        dsource1(j) = 0;
        dsource2(j) = 0;
    elseif (ss(j) == sqrt(-1))
        dsource1(j) = 0;
        dsource2(j) = 1;
    elseif (ss(j) == -1)
        dsource1(j) = 1;
        dsource2(j) = 0;
    else
        dsource1(j) = 1;
        dsource2(j) = 1;
    end
    c00 = TRess(j)-1;
    c01 = TRess(j)-sqrt(-1);
    c10 = TRess(j)-(-1);
    c11 = TRess(j)-(-1)*sqrt(-1);
    c_min = min([c00 c01 c10 c11]);
    if (c00==c_min)
        ds1(j) = 0;
        ds2(j) = 0;
    elseif (c01==c_min)
        ds1(j) = 0;
        ds2(j) = 1;
    elseif (c10==c_min)
        ds1(j) = 1;
        ds2(j) = 0;
    else
        ds1(j) = 1;
        ds2(j) = 1;
    end
    symerr = 0;
    if (ds1(j)~=dsource1(j))
        nofbiterr = nofbiterr+1;
        symerr = 1;
    end
    if (ds2(j)~=dsource2(j))
        nofbiterr = nofbiterr+1;
        symerr = 1;
    end
    if (symerr==1)
        nofsymerr = nofsymerr+1;
    end
end
ps = nofsymerr/ssL;
pb = nofbiterr/(2*ssL);

⌨️ 快捷键说明

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