产生一组单极性归零码和单极性不归零码,并绘制出其时域波形代码
时间: 2023-12-06 21:44:31 浏览: 206
单极性归零码(unipolar return-to-zero code):在每个码元的中间位置,信号会归零。例如,二进制码“1011”可以表示为一个单极性归零码“+ − +−”。
单极性不归零码(unipolar non-return-to-zero code):每个码元仅在逻辑“1”处为正电平,逻辑“0”处为零电平。例如,二进制码“1011”可以表示为一个单极性不归零码“+ − + +”。
以下是两种编码方式的时域波形代码:
单极性归零码:
```python
import matplotlib.pyplot as plt
bits = '10110110'
# 将二进制字符串转换为单极性归零码
signal = []
for bit in bits:
if bit == '1':
signal += [1, -1, 0]
else:
signal += [0, 0, 0]
# 绘制时域波形图
plt.plot(signal)
plt.xlabel('Time')
plt.ylabel('Amplitude')
plt.title('Unipolar Return-to-Zero Code')
plt.xticks(range(0, len(signal), 3), list(bits))
plt.ylim(-1.5, 1.5)
plt.show()
```
单极性不归零码:
```python
import matplotlib.pyplot as plt
bits = '10110110'
# 将二进制字符串转换为单极性不归零码
signal = []
for bit in bits:
if bit == '1':
signal += [1, 0]
else:
signal += [0, 0]
# 绘制时域波形图
plt.plot(signal)
plt.xlabel('Time')
plt.ylabel('Amplitude')
plt.title('Unipolar Non-Return-to-Zero Code')
plt.xticks(range(0, len(signal), 2), list(bits))
plt.ylim(-0.5, 1.5)
plt.show()
```
阅读全文