QAM Python - Гауссовский шум и FEC (шумоподавление) - PullRequest
0 голосов
/ 07 декабря 2018

Я пытался использовать эти коды для добавления гауссовского шума и шума.После проверки на выходе изображения отображается оригинал + шум, но функция шумоподавления не работает.какие-нибудь идеи для шумоподавления, которые подходят для QAM?

def add_noise(modulated_signal,SNR_db):**
    modulated_signal_abs_val = list(abs(x) for x in modulated_signal) 
    mod_sig_phase_values = list(cmath.phase(x) for x in modulated_signal)
    k=1/(10**(SNR_db/10))
    noise = k*np.random.normal(0,1,len(modulated_signal_abs_val))
    noisy_signal = noise+modulated_signal_abs_val                                  
    noisy_modulated_signal = list(cmath.rect(noisy_signal[i], 
    mod_sig_phase_values[i]) for i in range(0,len(modulated_signal)))
    return np.asarray(noisy_modulated_signal)

def denoise(recv_signal,SNR_db):
    recv_signal_abs_val = list(abs(x) for x in recv_signal)
    recv_signal_phase_values = list(cmath.phase(x) for x in recv_signal)
    k=1/(10**(SNR_db/10))
    correction = k*np.random.normal(0,1,len(recv_signal_abs_val))
    denoisy_signal = recv_signal_abs_val - correction
    denoisy_signal = list(cmath.rect(denoisy_signal[i], 
    recv_signal_phase_values[i]) for i in range(0,len(recv_signal)))
    return np.asarray(denoisy_signal)
...