朋友写的。Python实现的。用的是PyCharm编译。
代码如下
def split_list_average(send, n): # 用于分割指定长度字符串
for i in range(0, len(send), n):
yield send[i:i + n]
def check_chip(chipS, chipT, chipU, chipV): # 判断码片之间是否相互正交
def check(chipA, chipB):
if sum(list(map(lambda x, y: x * y, chipA, chipB))) == 0: return True # 判断其内积是否为0
if check(chipS, chipT) and check(chipS, chipU) and check(chipS, chipV) and check(chipT, chipU) and check(chipT, chipV) and check(chipU, chipV):
return True
return False
def get_vector(chip, send): # 用于通过传输信息与码片信息得出发送的向量信息
vector = []
reverse = list(map(lambda x: x * (-1), chip))
for i in send:
i = int(i)
if i == 1:
vector.extend(chip)
elif i == 0 or i == -1:
vector.extend(reverse)
else:
print(“发送数据出现非法字符。”)
return
return vector
def send_message(chipS, chipT, chipU, chipV): # 输入四个站分别发送的信息,输入要传输的信息,进而生成发送的加密信息
if not check_chip(chipS, chipT,

该博客介绍了如何使用Python实现CDMA编码和解码的过程。通过定义一系列函数,包括分割字符串、判断码片正交性、生成发送向量等,实现了CDMA通信中数据的加密发送和正交解密。用户可以输入各站的码片和发送数据,程序将生成并打印发送的加密信息以及接收端解密后的信息。
最低0.47元/天 解锁文章
4734

被折叠的 条评论
为什么被折叠?



