CDMA编码实现

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

朋友写的。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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值