voyager.nbt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # How many photons are received per bit transmitted from Voyager 1?
  2. #
  3. # This calculation is adapted from a Physics Stack Exchange answer [1].
  4. #
  5. # [1] https://physics.stackexchange.com/a/816710
  6. # Voyager radio transmission:
  7. let datarate = 160 bps
  8. let f = 8.3 GHz
  9. let P_transmit = 23 W
  10. let ω = 2π f
  11. let λ = c / f
  12. @aliases(photon)
  13. unit photons
  14. let energy_per_photon = ℏ ω / photon
  15. let photon_rate = P_transmit / energy_per_photon -> photons/s
  16. print("Voyager sends data at a rate of {datarate} with {P_transmit}.")
  17. print("At a frequency of {f}, this amounts to {photon_rate:.0e}.")
  18. # Voyager dish antenna:
  19. let d_voyager = 3.7 m
  20. # Voyagers distance to Earth:
  21. let R = 23.5 billion kilometers # as of 2024
  22. # Diameter of receiver dish:
  23. let d_receiver = 70 m
  24. let irradiance = P_transmit / (4π R²)
  25. let P_received: Power = irradiance × (π d_voyager / λ)² × (π d_receiver² / 4)
  26. print("A {d_receiver} dish on Earth will receive {P_received -> aW:.1f} of power.")
  27. let photon_rate_receiver = P_received / energy_per_photon -> photons/s
  28. let photons_per_bit = photon_rate_receiver / datarate -> photons/bit
  29. print()
  30. print("This corresponds to {photon_rate_receiver}.")
  31. print("Which means {photons_per_bit:.0}.")