From a334aaae7869c955659e46c75a301b336d6d8011 Mon Sep 17 00:00:00 2001 From: Andrew Heather Date: Mon, 15 Feb 2021 12:51:35 +0000 Subject: [PATCH] ENH: noiseModel gainX - protect against very small input frequencies --- .../noise/noiseModels/noiseModel/noiseModel.C | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.C b/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.C index 82cd1e9c4f..efc36e3346 100644 --- a/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.C +++ b/src/randomProcesses/noise/noiseModels/noiseModel/noiseModel.C @@ -434,6 +434,11 @@ Foam::scalar Foam::noiseModel::RAf(const scalar f) const Foam::scalar Foam::noiseModel::gainA(const scalar f) const { + if (f < SMALL) + { + return 0; + } + return 20*log10(RAf(f)) - 20*log10(RAf(1000)); } @@ -456,6 +461,11 @@ Foam::scalar Foam::noiseModel::RBf(const scalar f) const Foam::scalar Foam::noiseModel::gainB(const scalar f) const { + if (f < SMALL) + { + return 0; + } + return 20*log10(RBf(f)) - 20*log10(RBf(1000)); } @@ -473,6 +483,11 @@ Foam::scalar Foam::noiseModel::RCf(const scalar f) const Foam::scalar Foam::noiseModel::gainC(const scalar f) const { + if (f < SMALL) + { + return 0; + } + return 20*log10(RCf(f)) - 20*log10(RCf(1000)); } @@ -492,6 +507,11 @@ Foam::scalar Foam::noiseModel::RDf(const scalar f) const Foam::scalar Foam::noiseModel::gainD(const scalar f) const { + if (f < SMALL) + { + return 0; + } + return 20*log10(RDf(f)); }