Untitled
unknown
python
6 months ago
1.2 kB
1
Indexable
Never
# Su respuesta aquí from scidQPSK import make_QPSK, encode_QPSK_waveform, add_noise from scipy.signal import remez from PIL import Image fs = 8 # fc = 1 # N = 120 fw = 1.5 M = 14 # Ex = 4 # SNR = 15 # # Leemos los bits de la imagen cat.png with open('cat.png', 'rb') as f: cat_bs = BitStream(f.read()) # Codificamos con QPSK x = encode_QPSK_waveform(cat_bs, M , Ex) # Añadimos el delay yd = delay_QPSK_waveform(x, N/2) # Modulamos la señal (yd= x con ruido con delay) xm = modulate_IQ(yd, fc, fs) # Añadimos ruido yr = add_noise(xm, SNR) # Demodulamos la señal xd = demodulate_IQ(yr, fc, fs, N, fw) # Decodificamos QPSK cat_rx = decode_QPSK_waveform(xd, M, Ex) # cat_bytes = cat_rx.tobytes() # # Escribimos los bits recibidos en cat_rx.png # with open('cat_rx.png', 'wb') as f: # f.write(cat_rx.read(bytes)) # Obtener los bytes del bitstream recibido bytes_data = cat_rx.tobytes() # Crear un objeto BytesIO y escribir los bytes en él bytes_io = io.BytesIO() bytes_io.write(bytes_data) bytes_io.seek(0) # Abrir la imagen desde BytesIO image = Image.open(bytes_io) # Guardar la imagen en formato PNG image.save('cat_rx.png') # Modulamos la señal