产生单极性归零码,并绘制出其时域波形,用matlab,简单些
时间: 2023-10-26 10:07:14 浏览: 196
基于matlab实现单双极归零码和功率谱仿真.zip
单极性归零码是一种基本的数字通信编码方式,其编码规则如下:
1. 如果待传输的二进制数据位为0,则输出一个高电平,然后输出一个低电平,即“01”;
2. 如果待传输的二进制数据位为1,则输出一个低电平,然后输出一个高电平,即“10”。
以下是用 MATLAB 生成单极性归零码并绘制出其时域波形的代码示例:
```matlab
% 生成二进制数据
data = [1 0 1 1 0 1 0 0 1];
% 初始化单极性归零码
nrz = [];
% 根据编码规则生成单极性归零码
for i = 1:length(data)
if data(i) == 0
nrz = [nrz 1 -1];
else
nrz = [nrz -1 1];
end
end
% 绘制时域波形
t = 0:0.01:length(data)-0.01;
subplot(2,1,1);
plot(t, repmat(nrz, 1, length(t)/length(nrz)), 'LineWidth', 2);
axis([0 length(data) -1.5 1.5]);
xlabel('Time');
ylabel('Amplitude');
title('NRZ Code');
% 绘制二进制数据序列
subplot(2,1,2);
stem(data, 'LineWidth', 2);
axis([0 length(data)+1 -0.5 1.5]);
xlabel('Time');
ylabel('Amplitude');
title('Binary Data');
```
代码中的`data`变量存储了待传输的二进制数据,根据编码规则生成了单极性归零码`nrz`。通过`repmat`函数将`nrz`重复多次绘制出其时域波形,通过`stem`函数绘制出二进制数据序列。最终的绘图结果如下所示:
![单极性归零码时域波形](https://img-blog.csdnimg.cn/20211013184845587.png)
阅读全文