产生一组单极性归零码和单极性不归零码,并绘制出其时域波形,用matlab,简单一点
时间: 2023-11-24 08:05:13 浏览: 222
双极性归零码的Matlab实现
单极性归零码(unipolar return-to-zero code)和单极性不归零码(unipolar non-return-to-zero code)是数字通信中常用的线路编码方式。它们的时域波形如下:
单极性归零码:
![unipolar return-to-zero code](https://i.imgur.com/KQXu1Qd.png)
单极性不归零码:
![unipolar non-return-to-zero code](https://i.imgur.com/jhLbRgH.png)
以下是使用MATLAB生成这两种编码的代码:
```matlab
% 单极性归零码
bits = [1 0 1 1 0 1 0 0];
t = 0:0.01:length(bits)-0.01;
d = [];
for i=1:length(bits)
if bits(i)==1
d = [d ones(1,100)];
else
d = [d zeros(1,100)];
end
end
plot(t,d,'LineWidth',2);
title('Unipolar Return-to-Zero Code');
axis([0 length(bits) -1.5 1.5]);
% 单极性不归零码
bits = [1 0 1 1 0 1 0 0];
t = 0:0.01:length(bits)-0.01;
d = [];
for i=1:length(bits)
if bits(i)==1
d = [d ones(1,100)];
else
d = [d -ones(1,100)];
end
end
plot(t,d,'LineWidth',2);
title('Unipolar Non-Return-to-Zero Code');
axis([0 length(bits) -1.5 1.5]);
```
其中,`bits`表示二进制数据,`t`表示时间轴,`d`表示编码后的数字信号。通过在MATLAB中运行这段代码,我们可以得到上述两种编码的时域波形。
阅读全文