# helia_edge.metrics.snr

## SNR Metrics API

Signal-to-Noise Ratio (SNR) metric where y_true: signal, y_pred: signal + noise

**Classes**

| Name | Description |
| --- | --- |
| `Snr` | Computes the Signal-to-Noise Ratio (SNR) in dB. |

## helia_edge.metrics.snr.Snr

`class` · `python`

```python
Snr(name='snr', **kwargs={})
```

Signal-to-Noise Ratio (SNR) metric where
    y_true: signal
    y_pred: signal + noise

Example:

```python
# Create 4-second sine wave w/ freq=4, amplitude=1, Fs=1000Hz
t = np.linspace(0, 4, 4 * 1000, endpoint=False)
x = np.sin(2 * np.pi * 4 * t)
# Add random noise with amplitude 0.1
noise = np.random.normal(0, 0.1, len(t))
y = x + noise
import helia_edge as helia

snr = helia.metrics.Snr()
snr.update_state(x, y)
print(snr.result())
```

**Parameters**

| Name | Type | Default | Description |
| --- | --- | --- | --- |
| name | str | 'snr' | Name of the metric. Defaults to 'snr'. |

Source: `helia_edge/metrics/snr.py:15`

### helia_edge.metrics.snr.Snr.num

`attribute` · `python`

```python
num = self.add_variable(shape=(), initializer='zeros', name='num')
```

Source: `helia_edge/metrics/snr.py:42`

### helia_edge.metrics.snr.Snr.den

`attribute` · `python`

```python
den = self.add_variable(shape=(), initializer='zeros', name='den')
```

Source: `helia_edge/metrics/snr.py:43`

### helia_edge.metrics.snr.Snr.update_state

`method` · `python`

```python
update_state(y_true, y_pred, sample_weight=None)
```

Source: `helia_edge/metrics/snr.py:45`

### helia_edge.metrics.snr.Snr.result

`method` · `python`

```python
result()
```

Computes the SNR in dB.

Source: `helia_edge/metrics/snr.py:65`

### helia_edge.metrics.snr.Snr.get_config

`method` · `python`

```python
get_config()
```

Source: `helia_edge/metrics/snr.py:72`

### helia_edge.metrics.snr.Snr.reset_state

`method` · `python`

```python
reset_state()
```

Source: `helia_edge/metrics/snr.py:75`
