pdc_project/encoder.py
2025-05-24 18:59:01 +02:00

11 lines
No EOL
469 B
Python

import numpy as np
from codebook import construct_codebook
from utils import char_to_index, normalize_energy
def text_to_signal(text, r=9, Eb=4):
assert len(text) == 40, "Message must be exactly 40 characters."
codebook, n, m, alpha = construct_codebook(r, Eb)
msg_indices = [char_to_index[c] for c in text]
signal = np.concatenate([codebook[i] for i in msg_indices])
signal = normalize_energy(signal, energy_limit=2000)
return signal, codebook