【Matlab】通信系统实验:数字基带信号波形分析

编写matlab程序,绘制以下四种数字基带信号的波形:单极性(非)归零码,双极性(非)归零码。

clc;
clear all;


M=10; %码元数
T = 1; %码元时间间隔
bits = randi([0,1],1,M);%产生随机信号
N=128; % 单个码元抽样点数
dt = T / N; % 抽样时间间隔
t = 0 : dt : (M * N - 1) * dt; % 序列传输时间

%%Unipolar RZ
sig2 = [];
for i = 1:length(bits)
    if bits(i) == 1
        sig2 = [sig2 ones(1,N)];
        sig2 = [sig2 zeros(1,N)];
    else
        sig2 = [sig2 zeros(1,N)];
        sig2 = [sig2 zeros(1,N)];
    end
end
% 生成时间轴
t1 = linspace(0, length(bits)*T, length(sig2));
% 画出波形图
figure(1)
plot(t1, sig2);
xlabel('时间');
ylabel('幅值');
title('单极性归零码波形图');

%%Unipolar NRZ

sig1 = [];
for i = 1:length(bits)
    if bits(i) == 1
        sig1 = [sig1 ones(1,N)];
    else
        sig1 = [sig1 -ones(1,N)];
    end
end
% 生成时间轴
t2 = linspace(0, length(bits)*T, length(sig1));
% 画出波形图
figure(2)
plot(t2, sig1);
xlabel('时间');
ylabel('幅值');
title('单极性非归零码波形图');

%%DPNRZ

gt1 = ones(1, N); 
sig3 = [];
for i = 1 : M % 生成序列
   if bits(i)==1
       sig3 = [sig3 gt1];
   else
       sig3 = [sig3 -1*gt1];
   end
end
figure(3);
plot(t, sig3);
xlabel('时间');
ylabel('幅值');
title('双极性非归零码波形图');

%%DPRZ

gt2 = [ones(1, N / 2), zeros(1, N / 2)]; 
sig4 = [];
for i = 1 : M % 生成序列
   if bits(i)==1
       sig4 = [sig4 gt2];
   else
       sig4 = [sig4 -1*gt2];
   end
end
figure(4);
plot(t, sig4);
xlabel('时间');
ylabel('幅值');
title('双极性归零码波形图');

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值