毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

通信原理仿真实验系统设计与实现 第12页

更新时间:2009-6-5:  来源:毕业论文
通信原理仿真实验系统设计与实现 第12页
       y(grid/2*(2*i-2)+j)=1; %定义前半时间为1
            y(grid/2*(2*i-1)+j)=0;%定义后半时间为0
        end
    else
        for j=1:grid/2
            y(grid/2*(2*i-2)+j)=-1;
            y(grid/2*(2*i-1)+j)=0;          
        end; end; end
y=[y,x(i)]; %给序列Y加上最的一位,便于做图
M=max(y);  m=min(y);
plot(t,y);axis([0,i,m-0.1,M+0.1]);
title('1       0         0        1        1          0        0        0        0        1        0        1');

%密勒码 miler.m
function y=miler(x)
%本函数实现将输入的一段代二进制代码编为相应的密勒码输出
%输入X为二进制码,输出Y为编好的码
%给出计算每一个码元的点数,因为我们只有用离散的点来得出连续的函数表示
grid=100;
t=0:1/grid:length(x);  %给出相应的时间序列
i=1   %因为这里是直接对一段二进制数编码
if(x(i)==1) %前面的值不定,所以第一值我们单独给出
    for j=1:grid/2  %若第一个信息为1
            y(grid/2*(2*i-2)+j)=0; %定义前半时间为0
            y(grid/2*(2*i-1)+j)=1;%定义后半时间为1
    end
    else
     for j=1:grid       %反之,输入信息为0
            y(grid*(i-1)+j)=0; %所有时间为0                
      end
end
for i=2:length(x) %从第二个信息起编码与前面的码元有关系
    if(x(i)==1)
        for j=1:grid/2  %前半时间与前一码元后半时间值相同
            y(grid/2*(2*i-2)+j)=y(grid/2*(2*i-3)+grid/4);
            %后半时间值 与本码元间半时间值相反
            y(grid/2*(2*i-1)+j)=1-y(grid/2*(2*i-2)+j);
        end
    else
        if(x(i-1)==1)  %输入为0,若前一信息为1
        for j=1:grid 
           %所有时间与前一码元后半时间值相同
           y(grid*(i-1)+j)=y(grid/2*(2*i-3)+grid/4);
       end
   else %否则前一信息为0
       for j=1:grid
           %所有时间值与前一码元后半时间值相反
           y(grid*(i-1)+j)=1-y(grid/2*(2*i-3)+grid/4);
       end; end; end; end
y=[y,y(i*grid)];
M=max(y);  m=min(y);
plot(t,y);axis([0,i,m-0.1,M+0.1]);
title('1       0         0        1        1          0        0        0        0        1        0        1');

%曼彻斯特码(数字双相码)macheser.m
function y=macheser(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/2
            y(grid/2*(2*i-2)+j)=1; %定义前半时间为1
            y(grid/2*(2*i-1)+j)=0;%定义后半时间为0
        end
    else
        for j=1:grid/2
            y(grid/2*(2*i-2)+j)=1;
            y(grid/2*(2*i-1)+j)=0;          
        end; end; end
y=[y,x(i)]; %给序列Y加上最的一位,便于做图
M=max(y);  m=min(y);
plot(t,y);axis([0,i,m-0.1,M+0.1]);
title('1       0         0        1        1          0        0        0        0        1        0        1');

%条件双相码 dmachester.m
function y=dmachester(x)
%本函数实现将输入的一段代二进制代码编为相应的条件双相码输出
%输入X为二进制码,输出Y为编好的码
%给出计算每一个码元的点数,因为我们只有用离散的点来得出连续的函数表示
grid=100;
t=0:1/grid:length(x);  %给出相应的时间序列
i=1   %因为这里是直接对一段二进制数编码
if(x(i)==1) %前面的值不定,所以第一值我们单独给出
    for j=1:grid/2  %若第一个信息为1
            y(grid/2*(2*i-2)+j)=0; %定义前半时间为1
            y(grid/2*(2*i-1)+j)=1;%定义后半时间为0
    end
    else
     for j=1:grid/2       %反之,输入信息为0
            y(grid/2*(2*i-2)+j)=1;
            y(grid/2*(2*i-1)+j)=0;          
      end
end
for i=2:length(x) %从第二个信息起编码与前面的码元有关系
    if(x(i)==1)
        for j=1:grid/2  %前半时间与前一码元后半时间值相反
            y(grid/2*(2*i-2)+j)=1-y(grid/2*(2*i-3)+grid/4);
            %后半时间值 与本码元间半时间值相反
            y(grid/2*(2*i-1)+j)=1-y(grid/2*(2*i-2)+j);
        end
    else
        for j=1:grid/2  %输入为0时
           %前半时间与前一码元后半时间值相同
           y(grid/2*(2*i-2)+j)=y(grid/2*(2*i-3)+grid/4);
           %后半时间值与本码元间半时间值相反
           y(grid/2*(2*i-1)+j)=1-y(grid/2*(2*i-2)+j);
       end; end; end
y=[y,y(i*grid)];
M=max(y);  m=min(y);
plot(t,y);axis([0,i,m-0.1,M+0.1]);
title('1       0         0        1        1          0        0        0        0        1        0        1');

%对二元序列10110010画出幅度键控2ASK的波形
t=0:0.01:8;
y=sin(2*pi*t);  %载波
x=[ones(1,100),zeros(1,100),ones(1,100),ones(1,100), zeros(1,100),zeros(1,100),ones(1,100),zeros(1,101)];
%定义一个与二元序列对应的时间序列

 << 上一页  [11] [12] [13] [14] 下一页

通信原理仿真实验系统设计与实现 第12页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。