sigmaSNR: Determine noise scale levels from specified *S*ignal to...

Description Usage Arguments Details Value See Also Examples

View source: R/makeFunctions.R

Description

Compute the noise scale levels for each channel using the Signal to Noise Ratios

Usage

1
sigmaSNR(signal, SNR)

Arguments

signal

Noisefree multichannel input signal

SNR

A numeric vector specifying the desired Signal to Noise Ratio for each channel.

Details

The output noise scale levels (theoretical standard deviation for the process noise process in each channel) is governed by the blurred Signal-to-Noise Ratio (SNR) measured in decibels (dB) where,

SNR = 10 log_{10} (\frac{||k*f||^2}{σ^2)}

and k*f is the blurred signal, ||\cdot|| is the norm operator and σ is the standard deviation of the noise. Roughly speaking, noise levels are considered high, medium and low for the cases 10 dB, 20 dB and 30 dB respectively.

Value

A numeric vector with m elements giving the scales (standard deviation of the noise in each channel) to achieve the desired SNR.

See Also

multiNoise multiSigma

Examples

1
2
3
4
5
6
7
8
9
n <- 1024
m <- 3
signal <- makeLIDAR(n)
blur <- gammaBlur(n, c(0.5, 0.75, 1), rep(1, m))
X <- blurSignal(signal, blur)
SNR <- 10*1:3
sigma <- sigmaSNR(X, SNR)
E <- multiNoise(n, sigma)
sigmaEst <- multiSigma(E)

jrwishart/mwaved documentation built on Oct. 31, 2021, 6:16 p.m.