Source code for qkdsec.proofs.channels.loss
from dataclasses import dataclass
from .base import Channel
[docs]
@dataclass
class LossChannel(Channel):
qber: float
loss_db: float
[docs]
def expectations(self) -> dict[str, float]:
c = 1.0 - 2.0 * self.qber
return {"ZZ": c, "XX": c}
[docs]
def single_photon_yield(self) -> float:
return 10.0 ** (-self.loss_db / 10.0)