www.gusucode.com > matlab通信工程仿真源码(张德丰等编著)程序书籍 > matlab_code/matlab通信工程仿真源码(张德丰等编著)/第8章/snrz.m

    function y=snrz(x)
% 输入x为二进码,输入y为编好的码
% 给出计算每一个码元的点数,因为我们只有用离散的点来得出连续的函数表示
grid =300;
t=0:1/grid:length(x);
for i=1:length(x);     %计算码元的值
    if (x(i)==1),      %如果信息为1
        for j=1:grid,  %该码元对应的点取值1
        y((i-1)*grid+j)=1;
        end
    else
        for j=1:grid,    %反之,信息为0,码元对应点值取0
            y((i-1)*grid+j)=0;
        end
    end
end
y=[y,x(i)];   %为了画图,注意要将y序列加上最后一位
M=max(y); m=min(y)
subplot(2,1,1);plot(t,y);
axis([0,i,m-0.1,M+0.1]);
% 采用了title函数来实现标记出各码元对应的二元信息
title('1       0        0        1        1        0    0       0        0        1        0        1');