Skip to content

Commit e2f7955

Browse files
committed
Rename rate to code_rate
1 parent b9a91d3 commit e2f7955

File tree

5 files changed

+32
-32
lines changed

5 files changed

+32
-32
lines changed

src/sdr/_conversion.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def linear(
143143

144144

145145
@export
146-
def ebn0_to_esn0(ebn0: npt.ArrayLike, bits_per_symbol: int, rate: int = 1) -> npt.NDArray[np.float64]:
146+
def ebn0_to_esn0(ebn0: npt.ArrayLike, bits_per_symbol: int, code_rate: int = 1) -> npt.NDArray[np.float64]:
147147
r"""
148148
Converts from $E_b/N_0$ to $E_s/N_0$.
149149
@@ -154,7 +154,7 @@ def ebn0_to_esn0(ebn0: npt.ArrayLike, bits_per_symbol: int, rate: int = 1) -> np
154154
Arguments:
155155
ebn0: Bit energy $E_b$ to noise PSD $N_0$ ratio in dB.
156156
bits_per_symbol: The number of coded bits per symbol $\log_2 M$, where $M$ is the modulation order.
157-
rate: Code rate $r = k/n$, where $k$ is the number of information bits and $n$ is the
157+
code_rate: Code rate $r = k/n$, where $k$ is the number of information bits and $n$ is the
158158
number of coded bits.
159159
160160
Returns:
@@ -165,26 +165,26 @@ def ebn0_to_esn0(ebn0: npt.ArrayLike, bits_per_symbol: int, rate: int = 1) -> np
165165
166166
.. ipython:: python
167167
168-
sdr.ebn0_to_esn0(5, 2, rate=2/3)
168+
sdr.ebn0_to_esn0(5, 2, code_rate=2/3)
169169
170170
Convert from $E_b/N_0 = 10$ dB to $E_s/N_0$ for a 16-QAM signal with $r = 1$.
171171
172172
.. ipython:: python
173173
174-
sdr.ebn0_to_esn0(10, 4, rate=1)
174+
sdr.ebn0_to_esn0(10, 4, code_rate=1)
175175
176176
Group:
177177
conversions-snrs
178178
"""
179179
ebn0 = np.asarray(ebn0) # Energy per information bit
180-
ecn0 = ebn0 + db(rate) # Energy per coded bit
180+
ecn0 = ebn0 + db(code_rate) # Energy per coded bit
181181
esn0 = ecn0 + db(bits_per_symbol) # Energy per symbol
182182
return esn0
183183

184184

185185
@export
186186
def ebn0_to_snr(
187-
ebn0: npt.ArrayLike, bits_per_symbol: int, rate: int = 1, samples_per_symbol: int = 1
187+
ebn0: npt.ArrayLike, bits_per_symbol: int, code_rate: int = 1, samples_per_symbol: int = 1
188188
) -> npt.NDArray[np.float64]:
189189
r"""
190190
Converts from $E_b/N_0$ to $S/N$.
@@ -196,7 +196,7 @@ def ebn0_to_snr(
196196
Arguments:
197197
ebn0: Bit energy $E_b$ to noise PSD $N_0$ ratio in dB.
198198
bits_per_symbol: The number of coded bits per symbol $\log_2 M$, where $M$ is the modulation order.
199-
rate: Code rate $r = k/n$, where $k$ is the number of information bits and $n$ is the
199+
code_rate: Code rate $r = k/n$, where $k$ is the number of information bits and $n$ is the
200200
number of coded bits.
201201
samples_per_symbol: The number of samples per symbol $f_s / f_{sym}$.
202202
@@ -208,18 +208,18 @@ def ebn0_to_snr(
208208
209209
.. ipython:: python
210210
211-
sdr.ebn0_to_snr(5, 2, rate=2/3, samples_per_symbol=1)
211+
sdr.ebn0_to_snr(5, 2, code_rate=2/3, samples_per_symbol=1)
212212
213213
Convert from $E_b/N_0 = 10$ dB to $S/N$ for a 16-QAM signal with $r = 1$ and 4 samples per symbol.
214214
215215
.. ipython:: python
216216
217-
sdr.ebn0_to_snr(10, 4, rate=1, samples_per_symbol=4)
217+
sdr.ebn0_to_snr(10, 4, code_rate=1, samples_per_symbol=4)
218218
219219
Group:
220220
conversions-snrs
221221
"""
222-
esn0 = ebn0_to_esn0(ebn0, bits_per_symbol, rate=rate) # SNR per symbol
222+
esn0 = ebn0_to_esn0(ebn0, bits_per_symbol, code_rate=code_rate) # SNR per symbol
223223
snr = esn0 - db(samples_per_symbol) # SNR per sample
224224
return snr
225225

@@ -230,7 +230,7 @@ def ebn0_to_snr(
230230

231231

232232
@export
233-
def esn0_to_ebn0(esn0: npt.ArrayLike, bits_per_symbol: int, rate: int = 1) -> npt.NDArray[np.float64]:
233+
def esn0_to_ebn0(esn0: npt.ArrayLike, bits_per_symbol: int, code_rate: int = 1) -> npt.NDArray[np.float64]:
234234
r"""
235235
Converts from $E_s/N_0$ to $E_b/N_0$.
236236
@@ -241,7 +241,7 @@ def esn0_to_ebn0(esn0: npt.ArrayLike, bits_per_symbol: int, rate: int = 1) -> np
241241
Arguments:
242242
esn0: Symbol energy $E_s$ to noise PSD $N_0$ ratio in dB.
243243
bits_per_symbol: The number of coded bits per symbol $\log_2 M$, where $M$ is the modulation order.
244-
rate: Code rate $r = k/n$, where $k$ is the number of information bits and $n$ is the
244+
code_rate: Code rate $r = k/n$, where $k$ is the number of information bits and $n$ is the
245245
number of coded bits.
246246
247247
Returns:
@@ -252,20 +252,20 @@ def esn0_to_ebn0(esn0: npt.ArrayLike, bits_per_symbol: int, rate: int = 1) -> np
252252
253253
.. ipython:: python
254254
255-
sdr.esn0_to_ebn0(5, 2, rate=2/3)
255+
sdr.esn0_to_ebn0(5, 2, code_rate=2/3)
256256
257257
Convert from $E_s/N_0 = 10$ dB to $E_b/N_0$ for a 16-QAM signal with $r = 1$.
258258
259259
.. ipython:: python
260260
261-
sdr.esn0_to_ebn0(10, 4, rate=1)
261+
sdr.esn0_to_ebn0(10, 4, code_rate=1)
262262
263263
Group:
264264
conversions-snrs
265265
"""
266266
esn0 = np.asarray(esn0)
267267
ecn0 = esn0 - db(bits_per_symbol) # Energy per coded bit
268-
ebn0 = ecn0 - db(rate) # Energy per information bit
268+
ebn0 = ecn0 - db(code_rate) # Energy per information bit
269269
return ebn0
270270

271271

@@ -314,7 +314,7 @@ def esn0_to_snr(esn0: npt.ArrayLike, samples_per_symbol: int = 1) -> npt.NDArray
314314

315315
@export
316316
def snr_to_ebn0(
317-
snr: npt.ArrayLike, bits_per_symbol: int, rate: int = 1, samples_per_symbol: int = 1
317+
snr: npt.ArrayLike, bits_per_symbol: int, code_rate: int = 1, samples_per_symbol: int = 1
318318
) -> npt.NDArray[np.float64]:
319319
r"""
320320
Converts from $S/N$ to $E_b/N_0$.
@@ -326,7 +326,7 @@ def snr_to_ebn0(
326326
Arguments:
327327
snr: Signal-to-noise ratio $S/N$ in dB.
328328
bits_per_symbol: The number of coded bits per symbol $\log_2 M$, where $M$ is the modulation order.
329-
rate: Code rate $r = k/n$, where $k$ is the number of information bits and $n$ is the
329+
code_rate: Code rate $r = k/n$, where $k$ is the number of information bits and $n$ is the
330330
number of coded bits.
331331
samples_per_symbol: The number of samples per symbol $f_s / f_{sym}$.
332332
@@ -338,20 +338,20 @@ def snr_to_ebn0(
338338
339339
.. ipython:: python
340340
341-
sdr.snr_to_ebn0(5, 2, rate=2/3, samples_per_symbol=1)
341+
sdr.snr_to_ebn0(5, 2, code_rate=2/3, samples_per_symbol=1)
342342
343343
Convert from $S/N = 10$ dB to $E_b/N_0$ for a 16-QAM signal with $r = 1$ and 4 samples per symbol.
344344
345345
.. ipython:: python
346346
347-
sdr.snr_to_ebn0(10, 4, rate=1, samples_per_symbol=4)
347+
sdr.snr_to_ebn0(10, 4, code_rate=1, samples_per_symbol=4)
348348
349349
Group:
350350
conversions-snrs
351351
"""
352352
snr = np.asarray(snr) # SNR per sample
353353
esn0 = snr_to_esn0(snr, samples_per_symbol=samples_per_symbol) # Energy per symbol
354-
ebn0 = esn0_to_ebn0(esn0, bits_per_symbol, rate=rate) # Energy per information bit
354+
ebn0 = esn0_to_ebn0(esn0, bits_per_symbol, code_rate=code_rate) # Energy per information bit
355355
return ebn0
356356

357357

tests/conversions/test_ebn0_to_esn0.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def test_1():
99
>> convertSNR(0:10, 'ebno', 'esno', 'BitsPerSymbol', 2, 'CodingRate', 1/3)'
1010
"""
1111
ebn0 = np.arange(0, 11)
12-
esn0 = sdr.ebn0_to_esn0(ebn0, 2, rate=1 / 3)
12+
esn0 = sdr.ebn0_to_esn0(ebn0, 2, code_rate=1 / 3)
1313
esn0_truth = np.array(
1414
[
1515
-1.760912590556813,
@@ -34,7 +34,7 @@ def test_2():
3434
>> convertSNR(0:10, 'ebno', 'esno', 'BitsPerSymbol', 3, 'CodingRate', 1/2)'
3535
"""
3636
ebn0 = np.arange(0, 11)
37-
esn0 = sdr.ebn0_to_esn0(ebn0, 3, rate=1 / 2)
37+
esn0 = sdr.ebn0_to_esn0(ebn0, 3, code_rate=1 / 2)
3838
esn0_truth = np.array(
3939
[
4040
1.760912590556812,
@@ -59,7 +59,7 @@ def test_3():
5959
>> convertSNR(0:10, 'ebno', 'esno', 'BitsPerSymbol', 4, 'CodingRate', 2/3)'
6060
"""
6161
ebn0 = np.arange(0, 11)
62-
esn0 = sdr.ebn0_to_esn0(ebn0, 4, rate=2 / 3)
62+
esn0 = sdr.ebn0_to_esn0(ebn0, 4, code_rate=2 / 3)
6363
esn0_truth = np.array(
6464
[
6565
4.259687322722811,

tests/conversions/test_ebn0_to_snr.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def test_1():
99
>> convertSNR(0:10, 'ebno', 'snr', 'BitsPerSymbol', 2, 'CodingRate', 1/3, 'SamplesPerSymbol', 1)'
1010
"""
1111
ebn0 = np.arange(0, 11)
12-
snr = sdr.ebn0_to_snr(ebn0, 2, rate=1 / 3, samples_per_symbol=1)
12+
snr = sdr.ebn0_to_snr(ebn0, 2, code_rate=1 / 3, samples_per_symbol=1)
1313
snr_truth = np.array(
1414
[
1515
-1.760912590556813,
@@ -34,7 +34,7 @@ def test_2():
3434
>> convertSNR(0:10, 'ebno', 'snr', 'BitsPerSymbol', 3, 'CodingRate', 1/2, 'SamplesPerSymbol', 2)'
3535
"""
3636
ebn0 = np.arange(0, 11)
37-
snr = sdr.ebn0_to_snr(ebn0, 3, rate=1 / 2, samples_per_symbol=2)
37+
snr = sdr.ebn0_to_snr(ebn0, 3, code_rate=1 / 2, samples_per_symbol=2)
3838
snr_truth = np.array(
3939
[
4040
-1.249387366082999,
@@ -59,7 +59,7 @@ def test_3():
5959
>> convertSNR(0:10, 'ebno', 'snr', 'BitsPerSymbol', 4, 'CodingRate', 2/3, 'SamplesPerSymbol', 4)'
6060
"""
6161
ebn0 = np.arange(0, 11)
62-
snr = sdr.ebn0_to_snr(ebn0, 4, rate=2 / 3, samples_per_symbol=4)
62+
snr = sdr.ebn0_to_snr(ebn0, 4, code_rate=2 / 3, samples_per_symbol=4)
6363
snr_truth = np.array(
6464
[
6565
-1.760912590556813,

tests/conversions/test_esn0_to_ebn0.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def test_1():
99
>> convertSNR(0:10, 'esno', 'ebno', 'BitsPerSymbol', 2, 'CodingRate', 1/3)'
1010
"""
1111
esn0 = np.arange(0, 11)
12-
ebn0 = sdr.esn0_to_ebn0(esn0, 2, rate=1 / 3)
12+
ebn0 = sdr.esn0_to_ebn0(esn0, 2, code_rate=1 / 3)
1313
ebn0_truth = np.array(
1414
[
1515
1.760912590556813,
@@ -34,7 +34,7 @@ def test_2():
3434
>> convertSNR(0:10, 'esno', 'ebno', 'BitsPerSymbol', 3, 'CodingRate', 1/2)'
3535
"""
3636
esn0 = np.arange(0, 11)
37-
ebn0 = sdr.esn0_to_ebn0(esn0, 3, rate=1 / 2)
37+
ebn0 = sdr.esn0_to_ebn0(esn0, 3, code_rate=1 / 2)
3838
ebn0_truth = np.array(
3939
[
4040
-1.760912590556812,
@@ -59,7 +59,7 @@ def test_3():
5959
>> convertSNR(0:10, 'esno', 'ebno', 'BitsPerSymbol', 4, 'CodingRate', 2/3)'
6060
"""
6161
esn0 = np.arange(0, 11)
62-
ebn0 = sdr.esn0_to_ebn0(esn0, 4, rate=2 / 3)
62+
ebn0 = sdr.esn0_to_ebn0(esn0, 4, code_rate=2 / 3)
6363
ebn0_truth = np.array(
6464
[
6565
-4.259687322722811,

tests/conversions/test_snr_to_ebn0.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def test_1():
99
>> convertSNR(0:10, 'snr', 'ebno', 'BitsPerSymbol', 2, 'CodingRate', 1/3, 'SamplesPerSymbol', 1)'
1010
"""
1111
snr = np.arange(0, 11)
12-
ebn0 = sdr.snr_to_ebn0(snr, 2, rate=1 / 3, samples_per_symbol=1)
12+
ebn0 = sdr.snr_to_ebn0(snr, 2, code_rate=1 / 3, samples_per_symbol=1)
1313
ebn0_truth = np.array(
1414
[
1515
1.760912590556812,
@@ -34,7 +34,7 @@ def test_2():
3434
>> convertSNR(0:10, 'snr', 'ebno', 'BitsPerSymbol', 3, 'CodingRate', 1/2, 'SamplesPerSymbol', 2)'
3535
"""
3636
snr = np.arange(0, 11)
37-
ebn0 = sdr.snr_to_ebn0(snr, 3, rate=1 / 2, samples_per_symbol=2)
37+
ebn0 = sdr.snr_to_ebn0(snr, 3, code_rate=1 / 2, samples_per_symbol=2)
3838
ebn0_truth = np.array(
3939
[
4040
1.249387366082999,
@@ -59,7 +59,7 @@ def test_3():
5959
>> convertSNR(0:10, 'snr', 'ebno', 'BitsPerSymbol', 4, 'CodingRate', 2/3, 'SamplesPerSymbol', 4)'
6060
"""
6161
snr = np.arange(0, 11)
62-
ebn0 = sdr.snr_to_ebn0(snr, 4, rate=2 / 3, samples_per_symbol=4)
62+
ebn0 = sdr.snr_to_ebn0(snr, 4, code_rate=2 / 3, samples_per_symbol=4)
6363
ebn0_truth = np.array(
6464
[
6565
1.760912590556812,

0 commit comments

Comments
 (0)