%初始化二进制数字信号码元 bc0=[-1,zeros(1,255)]; bc1=[1,zeros(1,255)]; %生成二进制随机基带信号 rand_code=randi([0,1],1,N); %初始化二进制基带脉冲信号 mt=zeros(1,N*N_sample); for i=1:N if rand_code(i)==1 mt((i-1)*N_sample+1:i*N_sample)=bc1; else mt((i-1)*N_sample+1:i*N_sample)=bc0; end end figure(2) plot(t,mt,'LineWidth',1.5); axis([0 20 -1.2 1.2]); title('基带脉冲信号时域波形'); xlabel('时间(s)'); ylabel('电压值(V)'); grid on;
时间: 2023-08-22 15:08:23 浏览: 106
这段代码是用 MATLAB 生成二进制数字信号的基带信号。首先定义了两个数字码元 `bc0` 和 `bc1`,分别代表二进制数字 0 和 1。然后生成了一个长度为 N 的随机二进制序列 `rand_code`。接下来根据 `rand_code` 中的每个元素,将对应的数字码元映射成基带脉冲信号,并将所有基带脉冲信号拼接成一个长度为 N*N_sample 的基带信号 `mt`。最后使用 MATLAB 绘图函数 `plot` 绘制了基带信号的时域波形图。
其中,`N_sample` 表示每个数字码元对应的采样点数,`t` 表示时间轴。
阅读全文