資源簡介
5 階移位寄存器的本原多項式為 f(x) = x^5 x^2 1,各系數是 C5 = C2 = C0 = 1, C1 = C3 = C4 = 0。
a5 ⊕ a3 ⊕ a0 = 0, 即 a5 = a3 ⊕ a0,
其中 ⊕ 表示“模二加”運算,或“異或”運算。
代碼片段和文件信息
from?matplotlib?import?pyplot?as?plt
a?=?[0?0?0?0?1]#5級寄存器初始化
m?=?[]#m序列周期為31(0~30),但為了看重復性,多看1位。
print(“a4a3a2a1a0“)
for?i?in?range(032):
????a.reverse()
????print(a)#倒序打印,即a4a3a2a1a0的順序
????a.reverse()
????a.append(a[3]^a[0])#a5=a3^a0
????temp?=?a.pop(0)#把a0輸出
????m.append(temp)#a0輸出填入m序列
print(“m序列為:(多加一位)“)
print(m)
m_str?=?[str(x)?for?x?in?m]#首先每個數字變成字符
m_bin?=?‘‘.join(m_str)#然后列表字符串化
m_bin?=?“0b“?+?m_bin
print(“\n?m序列的二進制數為“?+?m_bin)
m_int?=?int(m_bin?2)
print(“\n?m序列的十進制數為“)
print(m_int)
s0?=?0b10011001100110011001100110011001#信源碼舉例
print(“信源碼的二進制表達“)
print(bin(s0))
print(“信源碼
評論
共有 條評論