Images from international space station4/10/2023 The original layout and design of Washington, D.C., comes to life in this springtime photograph taken by an astronaut on the International Space Station. This is the very simple code, just a proof of concept, without any edges alignment and color normalization.Wide, diagonal avenues radiate from the Capitol building in Washington, D.C., outward through the city. The name of this SSTV format PD-120 also indicates this value to us. One line is transmitted in 0.5s, 240 lines in total give us a full transmission time of 120 seconds, i.e. The final image is 640x480 - a total of 240 lines are transmitted. ![]() Thus, the color resolution of the image is half that of the brightness resolution. This is a color image, encoded in the YCrCb format, more precisely, Y1CrCbY2 - one line contains two lines brightness and one color data for both lines. Now we can “expand” the data as a 2D image: frame_width = int(0.5*fs) + 203 w, h = frame_width, data_fsk.shape//frame_width image = Image.new('RGB', (w, h)) data_2d = data_fsk.reshape((h,w)) for py in range(h): for px in range(w): lum = int(data_2d*16) if lum 255: lum = 255 image.putpixel((px, py), (lum, lum, lum)) I did not find a suitable library for that, so I just get frequencies manually, by calculating the data zero-crossings: data_fsk = np.zeros(len(data1)) pos1 = 0 for p in range(0, len(data1)-1): if np.sign(data1) != np.sign(data1): pr = p - pos1 data_fsk = np.full(p - pos1, pr) pos1 = p Next step is to apply a frequency demodulator. Let’s load the image and apply the band-pass filter to data: import scipy.io.wavfile as wav import scipy.signal as signal import numpy as np import matplotlib.pyplot as plt from PIL import Image fs, data = wav.read('HDSDR_20201228_075406Z_145803kHz_AF.wav') def butter_bandpass(lowcut, highcut, fs, order=5): nyq = 0.5 * fs low = lowcut / nyq high = highcut / nyq b, a = signal.butter(order,, btype='band') return b, a def butter_bandpass_filter(data, lowcut, highcut, fs, order=5): b, a = butter_bandpass(lowcut, highcut, fs, order=order) y = signal.lfilter(b, a, data) return y data1 = butter_bandpass_filter(data, 1400, 2200, fs, order=4) Frequency modulation is used, where the frequency depends on picture brightness - the black level corresponds to 1500 Hz, and the white is 2300 Hz. ![]() SSTV is an analogue format, lines are transmitted sequentially, the duration of one line transmission is 0.5 s. Earlier the Orbitron software was in use, but now it is much easier to open the page and see the nearest fly-by time. Receivingīecause signals are transmitted from the space station, that is orbiting around the Earth, the first thing we need to know is the exact time of reception. In 70th the reception of the slow-scan images was available only using special and expensive equipment, now it can be done using a PC, free software decoder and the RTL-SDR receiver at the price of $ 35. With some changes, the SSTV format has survived to nowadays. ![]() Much later, SSTV became popular among ham radio amateurs, because made it possible to transmit and receive images using a radio transceiver. ![]() The SSTV (Slow-scan television) format itself was created a long time ago, it was used even to transmit images of the far side of the Moon from the Russian “Luna-3” station. These broadcasts are carried out several times a year, anyone in any place of the world can receive SSTV images at the 145.8 MHz frequency. The images transfer from the ISS is carried out by the ARISS team, the quite noble goal of this project is to draw attention to space exploration and astronautics.
0 Comments
Leave a Reply.AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |