From 428f8a749724b6bc398d06e36fc3107d97be3fe4 Mon Sep 17 00:00:00 2001 From: EITOKU Hiroaki Date: Wed, 29 Jun 2016 12:29:04 +0900 Subject: [PATCH 1/2] Fix comparing operator 'is' to '==' --- commpy/channels.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commpy/channels.py b/commpy/channels.py index cb836c5..39cd42d 100644 --- a/commpy/channels.py +++ b/commpy/channels.py @@ -94,7 +94,7 @@ def awgn(input_signal, snr_dB, rate=1.0): snr_linear = 10**(snr_dB/10.0) noise_variance = avg_energy/(2*rate*snr_linear) - if input_signal.dtype is complex: + if input_signal.dtype == complex: noise = (sqrt(noise_variance) * randn(len(input_signal))) + (sqrt(noise_variance) * randn(len(input_signal))*1j) else: noise = sqrt(2*noise_variance) * randn(len(input_signal)) From e7b053ab0707771f74c94f63469ae5d71bd6d9de Mon Sep 17 00:00:00 2001 From: EITOKU Hiroaki Date: Wed, 29 Jun 2016 12:35:24 +0900 Subject: [PATCH 2/2] Calculate abs from input signals before it is squared --- commpy/channels.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commpy/channels.py b/commpy/channels.py index 39cd42d..64bb561 100644 --- a/commpy/channels.py +++ b/commpy/channels.py @@ -90,7 +90,7 @@ def awgn(input_signal, snr_dB, rate=1.0): Output signal from the channel with the specified SNR. """ - avg_energy = sum(input_signal * input_signal)/len(input_signal) + avg_energy = sum(abs(input_signal) * abs(input_signal))/len(input_signal) snr_linear = 10**(snr_dB/10.0) noise_variance = avg_energy/(2*rate*snr_linear)