음 말이 좋아..
그냥 전송 매체의 클럭한계가 와서, 디지털에서 다시 아날로그로 가는거랑 같은 거 같은데
PAM3는 그러니까, 기존 0V, !0 V 신호 체계에서 0, 중간, 1 세개의 신호체계로 간다는거고
PAM4는 한번에 2비트씩 0V, (x/3)V, (2x/3)V , x V로 보내겠다는 거네...
디지털의 한계는 결국 아날로그로 가는 것으로 해결한다니.. 참...
그래서 관심이 가서 어떻게 전송하는지 좋은지 python3으로 찾아보았다.
#!/bin/python3
ntrit = 1
nbit = 1
x = 3 / 2.0
pmin = 0.87
pmax = 1 / pmin
print("program start")
for n in range(1, 30000):
if x > pmin and x < pmax:
print(f"{n} loops 3**{ntrit} / 2**{nbit}")
if x < 1:
x = x * 2.0
nbit += 1
elif x >= 1: #
x = x / 3.0
ntrit += 1
print("program end")
결과 값 0.87 ~ 1/0.87 사이값이 나오는 ntrits와 nbits를 찾았다.
program start4 loops 1 find: 3**2 / 2**3 : 0.888888888888888812 loops 2 find: 3**5 / 2**8 : 1.053497942386831117 loops 3 find: 3**7 / 2**11 : 0.936442615454961125 loops 4 find: 3**10 / 2**16 : 1.109857914613287430 loops 5 find: 3**12 / 2**19 : 0.986540368545144435 loops 6 find: 3**14 / 2**22 : 0.876924772040128443 loops 7 find: 3**17 / 2**27 : 1.039318248343855948 loops 8 find: 3**19 / 2**30 : 0.923838442972316456 loops 9 find: 3**22 / 2**35 : 1.09491963611533861 loops 10 find: 3**24 / 2**38 : 0.973261898769189274 loops 11 find: 3**29 / 2**46 : 1.025329407756841379 loops 12 find: 3**31 / 2**49 : 0.911403918006081287 loops 13 find: 3**34 / 2**54 : 1.080182421340540792 loops 14 find: 3**36 / 2**57 : 0.9601621523027029100 loops 15 find: 3**39 / 2**62 : 1.1379699582846847105 loops 16 find: 3**41 / 2**65 : 1.0115288518086085110 loops 17 find: 3**43 / 2**68 : 0.8991367571632076118 loops 18 find: 3**46 / 2**73 : 1.065643564045283123 loops 19 find: 3**48 / 2**76 : 0.9472387235958072131 loops 20 find: 3**51 / 2**81 : 1.122653302039475136 loops 21 find: 3**53 / 2**84 : 0.9979140462573112141 loops 22 find: 3**55 / 2**87 : 0.8870347077842765149 loops 23 find: 3**58 / 2**92 : 1.0513003944109944154 loops 24 find: 3**60 / 2**95 : 0.9344892394764396162 loops 25 find: 3**63 / 2**100 : 1.107542802342447167 loops 26 find: 3**65 / 2**103 : 0.984482490971064172 loops 27 find: 3**67 / 2**106 : 0.8750955475298346180 loops 28 find: 3**70 / 2**111 : 1.037150278553878185 loops 29 find: 3**72 / 2**114 : 0.9219113587145582193 loops 30 find: 3**75 / 2**119 : 1.0926356844024394program end
아쉽게도 8의 배수에 해당하는 건 잘 안나온다. 어차피 전송체계니 바이트 체계를 그대로 가져가지 않아도 괜찮지 않을까,
130 128/2 신호 같은걸 오류 검증용으로 쓰는거 보면, 조금 벗어나는건 문제가 안될 것이다. trit에서도 한번 체크 bit에서도 한번체크 한다고 하면 될테니.
답글삭제