Un satellite in orbita terrestre necessita di circa 7,8 km / s come velocità orbitale.
Da tutti i satelliti in orbita terrestre mai lanciati che uno ha o ha avuto la velocità più alta?
Commenti
- 11 km / s è la velocità di fuga. Qualunque cosa si muova così velocemente sopra latmosfera non sarà in unorbita chiusa. La velocità orbitale è un fattore di $ \ sqrt {2} $ più piccolo, circa 7,8 km / s. Immagino che la risposta alla tua domanda sia solo un po meno della velocità di fuga: una missione lunare, o un satellite deliberatamente posizionato in unorbita altamente ellittica, o un satellite che doveva raggiungere la velocità di fuga, ma ha avuto un guasto del booster.
- FWIW se ‘ stai parlando di velocità in orbita (chiusa), penso che ‘ stai cercando un satellite che ha lorbita più ellittica con il perigeo più basso e la velocità più alta sarà al perigeo. Sfortunatamente, non ‘ t so cosa sia.
Rispondi
Se guardiamo solo alle orbite terrestri basse circolari:
height speed period km m/s hours:min:sec 200 7789.1 1:28:21 300 7730.5 1:30:22 400 7673.2 1:32:24 500 7617.2 1:34:28 600 7562.3 1:36:32 700 7508.7 1:38:37 800 7456.1 1:40:43 900 7404.7 1:42:50 1000 7354.3 1:44:21
Lorbita più bassa ha la velocità più alta. Ma sotto i 400 km le orbite decadono molto velocemente, 300 km in 6 mesi, 200 km in circa un giorno.
Ora guardiamo alle orbite ellittiche:
min at min max at max height speed height speed period km m/s km m/s hours:min:sec 400 7701.3 500 7589.2 1:33:26 400 7728.9 600 7507.1 1:34:28 400 7755.9 700 7426.9 1:35:30 400 7782.5 800 7348.4 1:36:32 400 7834.3 1000 7196.6 1:38:37 400 9127.0 10000 3774.9 3:26:26 400 10521.9 100000 669.8 37:11:36 400 10677.8 200000 350.3 96:10:06 400 10762.3 400000 179.3 259:31:25
Quindi unorbita molto ellittica ha la velocità più alta, ma solo quando è vicina alla Terra ad unaltezza minima. Ma il periodo diventa molto più lungo e la velocità media è più bassa. Lultima linea è unorbita ellittica verso la luna e ritorno. Questo record di velocità è detenuto dalle missioni Apollo. (Per semplicità, lorbita è stata calcolata senza linfluenza della Luna.)
Tutte le orbite sono state calcolate utilizzando questa pagina web di Bernd Leitenberger. È disponibile solo in tedesco.
Commenti
- Grazie per la modifica nel riferimento!
- @ called2voyage Grazie per ricordandomi di includere un riferimento.
Risposta
Il calcolo della velocità di tutti gli oggetti spaziali al perigeo può fornire risposta. Dopo aver elaborato lultimo catalogo di satelliti pubblici di Celestrak, gli oggetti con la velocità orbitale più alta al perigeo sono:
Object Name SSN# Type Country Apogee (km) Perigee(km) Velocity(m/s) DELTA 2 R/B(2) 22051 R/B US 359918.0 185.0 10929.8 PEGASUS R/B(2) 33404 R/B US 219611.0 247.0 10818.1 FALCON HEAVY R/B 44187 R/B US 88505.0 329.0 10542.2 FALCON 9 R/B 44050 R/B US 66488.0 232.0 10521.5 DELTA 2 R/B(2) 30799 R/B US 85277.0 377.0 10489.9 FALCON 9 R/B 43179 R/B US 48084.0 237.0 10372.5 FALCON 9 R/B 40426 R/B US 62208.0 406.0 10346.8 FALCON 9 R/B 45921 R/B US 45359.0 239.0 10341.4 EQUATOR S 25068 PAY GER 67160.0 470.0 10325.4
Puoi scaricare il satcat come csv da questo link e puoi usare questo frammento di codice Python di seguito per elaborare il file e calcolare le velocità.
Spero che questo sia utile! Manny
import pandas as pd import math mu = 3.986004418e14 pi = math.pi # Computes the SMA from the orbital period def getSMAfromPeriodMinutes(periodMinutes): # Gravitational parameter periodSeconds = periodMinutes*60 SMA_m = (((periodSeconds**2)*mu)/(4*(pi**2)))**(1/3) return SMA_m # p is Perigee in km, a is SMA in m def getPerigeeSpeed(p, a): x = mu*((2/(p*1000 + 6371000))-(1/a)) return math.sqrt(x) def getSatcat(): """ Gets the public satellite catalog from Celestrak Returns a pandas dataframe of the catalog """ df = pd.read_csv(r"C:\satcat.csv") return df if __name__ == "__main__": df = getSatcat(); # Limit to objects that orbit the Earth only, to exclude some objects that might # orbit about the Earth-Moon barycenter, Sun, etc... # Read the format documentation at http://celestrak.com/satcat/satcat-format.php df = df[df["ORBIT_CENTER"]=="EA"] # drop rows with empty perigee fields df = df.dropna(subset=["PERIGEE"]) # drops rows with objects that have decayed df = df[df["DECAY_DATE"].isna()] # drop rows with 0 perigee from the file (re-entered) df = df[df["PERIGEE"]>0] # compute the SMA df["SMA_m"] = df.apply(lambda row: getSMAfromPeriodMinutes(row["PERIOD"]), axis=1) # compute the speed at perigee df["v_PERIGEE"] = df.apply(lambda row: getPerigeeSpeed(row["PERIGEE"], row["SMA_m"]), axis=1) print(df[["v_PERIGEE"]].idxmax())
Commenti
- ” SSN 43470 – QUEQIAO – 10,761 km / s – Perigeo: 395 km – Apogeo: 383,110 km ” La velocità è sbagliata, è 7672,7 e 7686,2 m / s.
- @Uwe Grazie per la vostra attenzione. Il codice sopra ha avuto un errore, ora è corretto. Non ho prestato attenzione al fatto che i dati QUEQIAO, LONGJIANG 1 e LONGJIANG 2 sono forniti da Celestrak con il centro dellorbita come il baricentro Terra-Luna, il che rende errata lautomazione. Ho adattato i risultati e il codice ai corpi che obbediscono alla Terra e non al Baricentro della Luna della Terra o al Sole, o qualsiasi altra cosa … Grazie ancora …
- ” 67160.0 470.0 10325.4 ” ha un bellaspetto, ottengo 10326,2 m / s. Una piccola differenza.
- Nessun pacchetto, nessun linguaggio di programmazione, solo questa pagina: bernd-leitenberger.de/orbits.shtml per il controlli e per ottenere i numeri per la mia risposta.
- Per chiunque sia interessato a utilizzare il codice di Manny ‘ che hanno così utilmente fornito qui, potresti essere interessato a sappi che la licenza utilizzata per i contenuti utente contemporanei di Stack Exchange, come la risposta di Manny ‘, è compatibile con GPL v3: creativecommons.org / share-your-work / licensing-considerations / … . Assicurati di dare credito a Manny se usi il loro codice!
Answer
Ho scritto uno script Python per calcolarne alcuni periodi e velocità orbitali. Ho usato le unità di astropia per calcolare le distanze in mo km, le masse in kg e la costante gravitazionale in m ^ 3 / kg s ^ 2. I risultati in m / se unità di tempo ore, minuti e secondi. Se le unità dei risultati sono errate, anche i numeri potrebbero essere errati.
I risultati per orbite circolari da 200 a 1000 km di altezza:
height radius speed period 200 km 6567.4 km 7790.6 m / s 1 h 28 min 16.7 s 300 km 6667.4 km 7732.0 m / s 1 h 30 min 18.1 s 400 km 6767.4 km 7674.6 m / s 1 h 32 min 20.5 s 500 km 6867.4 km 7618.5 m / s 1 h 34 min 23.7 s 600 km 6967.4 km 7563.7 m / s 1 h 36 min 27.9 s 700 km 7067.4 km 7510.0 m / s 1 h 38 min 33.0 s 800 km 7167.4 km 7457.4 m / s 1 h 40 min 38.9 s 900 km 7267.4 km 7405.9 m / s 1 h 42 min 45.7 s 1000 km 7367.4 km 7355.5 m / s 1 h 44 min 53.4 s
Orbite ellittiche da 500 a 400000 km di distanza massima, distanza minima 400 km:
height semi mayor axis min speed max speed period 500 km 6817.4 km 7590.5 m / s 7702.7 m / s 1 h 33 min 22.0 s 600 km 6867.4 km 7508.4 m / s 7730.3 m / s 1 h 34 min 23.7 s 700 km 6917.4 km 7428.1 m / s 7757.4 m / s 1 h 35 min 25.7 s 800 km 6967.4 km 7349.6 m / s 7784.0 m / s 1 h 36 min 27.9 s 900 km 7017.4 km 7272.8 m / s 7810.1 m / s 1 h 37 min 30.3 s 1000 km 7067.4 km 7197.7 m / s 7835.8 m / s 1 h 38 min 33.0 s 5000 km 9067.4 km 5115.7 m / s 8593.0 m / s 2 h 23 min 12.9 s 10000 km 11567.4 km 3774.6 m / s 9129.1 m / s 3 h 26 min 21.3 s 50000 km 31567.4 km 1231.3 m / s 10255.4 m / s 15 h 30 min 17.5 s 100000 km 56567.4 km 669.6 m / s 10523.9 m / s 37 h 11 min 33.9 s 200000 km 106567.4 km 350.2 m / s 10679.8 m / s 96 h 10 min 16.5 s 400000 km 206567.4 km 179.3 m / s 10764.3 m / s 259 h 32 min 17.6 s
Lo script Python
import numpy as np import matplotlib.pyplot as plt from astropy import units as u from astropy import constants as c def secToHMS(timePeriod) : # converting seconds to hours, minutes and seconds tP2 = timePeriod.to(u.s).value # integer division // does not work with units rest = tP2 // 60 secs = (tP2 % 60) * u.s #setting the proper unit hours = (rest // 60) * u.h mins = (rest % 60) * u.min return (hours, mins, secs) # orbital period of circular and elliptical orbits def orbitalPeriod(semi_mayor_axis, GMbody) : result = np.sqrt(semi_mayor_axis**3 / GMbody) * 2.0 * np.pi return result def orbitalspeed(radius, GMbody) : # only for circular orbits rad_m = radius.to(u.m) # converting orbit radius from km to m result = np.sqrt(GMbody / rad_m) return result def VisVivaSpeed(radius, semi_mayor_axis, GMbody) : rad_m = radius.to(u.m) # converting orbit radius from km to m sma = semi_mayor_axis.to(u.m) # semi_mayor_axis from km to m result = np.sqrt(GMbody * (2.0 / rad_m - 1.0 / sma)) return result dia_earth_a = 12756.27 * u.km # equatorial Earth diameter dia_earth_p = 12713.5 * u.km # polar Earth diameter rad_earth_a = 0.5 * dia_earth_a # equatorial Earth radius rad_earth_p = 0.5 * dia_earth_p # polar Earth radius rad_earth_ap = (rad_earth_a + rad_earth_p) * 0.5 # mean of equator and polar radius m_earth = 5.97e24 * u.kg # mass of Earth m_e = c.M_earth G = c.G # gravitaional constant GMe = c.GM_earth # product of G with the mass of Earth print(m_earth, m_e, G, GMe) print() print(" height radius speed period") # circular orbits from 200 up to 1000 km, steps 100 km for i in range(200, 1001, 100) : h = i * u.km # converting integer height to float with unit km a = h + rad_earth_ap # distance to earth center t4 = orbitalPeriod(a, GMe) t5 = secToHMS(t4) v = orbitalspeed(a, GMe) print(format(h, "5.0f"), format(a, "7.1f"), format(v, "7.1f"), format(t5[0], "2.0f"), format(t5[1], "2.0f"), format(t5[2], "4.1f")) print() print(" height semi mayor axis min speed max speed period") for i in (500, 600, 700, 800, 900, 1000, 5000, 10000, 50000, 100000, 200000, 400000) : h = i * u.km # converting integer height to float with unit km d_max = h + rad_earth_ap # maximum distance to earth center d_min = 400 * u.km + rad_earth_ap # minimum distance to earth center a = (d_max + d_min) * 0.5 # semi mayor axis t4 = orbitalPeriod(a, GMe) t5 = secToHMS(t4) v_min = VisVivaSpeed(d_max, a, GMe) # minimal speed at maximal distance v_max = VisVivaSpeed(d_min, a, GMe) # maximal speed at minimal distance print(format(h, "6.0f"), format(a, "9.1f"), format(v_min, "8.1f"), format(v_max, "8.1f"), format(t5[0], "4.0f"), format(t5[1], "2.0f"), format(t5[2], "4.1f"))