1 Introduction

Blind source separation (BSS) is a high-level image/signal processing technique and has numerous applications such as sound signals, communication, images, and biomedicine [1,2,3,4]. BSS aims to retrieve the source (images/signals) from a noised source with little known information. Various BSS algorithms have been discussed from various points of view, including non-Gaussianity [5], mutual information minimization [6], maximum likelihood [7], tensors [8], principle component analysis (PCA) [9], and neural networks [10,11,12]. Regarding BSS, denoising and optimization methods play the most important roles. The noise separation step measures the separability, and the optimization step is used to get the optimum solution for the objective function which we get from the denoising mechanism. Generalized distributions usually give good results of blind denoising due to the variant properties of their sub-models.

In the independent component analysis (ICA) framework, accurately estimating the statistical model of the sources is still an open and challenging problem [2]. Practical BSS scenarios employ difficult source distributions and even situations where numerous sources with variant probability density functions (pdf) are mixed together. Toward this direction, many parametric density models have been made available in recent literature. Such models are the generalized Gaussian density [13], the generalized Gamma density [14], and even combinations and generalizations such as the super and generalized Gaussian mixture model [15], the Pearson family of distributions [16], the generalized alpha–beta distribution (AB divergences) [17], and even the so-called extended generalized lambda distribution [18] which is an extended parameterization of the aforementioned generalized lambda distribution and generalized beta distribution models [19].

Although FastICA has some disadvantages, as it often leads to local minimum solutions due to the difficulty of optimizing the log-likelihood function, which means the suitable source signals are not isolated, and also the order of the independent components (ICs) is difficult to be determined, but FastICA still is one of the most powerful techniques and usually drives very good results.

However, studying medical signals became very important and essential; it is very difficult to get useful information from these signals directly in the time domain just by observing them. They are basically nonlinear and nonstationary in nature. Biomedical signals are usually affected by various types of noise, which is considered a challenging problem, for example, one of the challenges of electroencephalogram (EEG) technology is that electrical activity generated by the brain is minuscule, the order of a millionth of a volt. Consequently, scalp-recorded electrical activity consists of a mix of genuine brain signals combined with lots of noise—termed artifact—generated by other parts of the body, such as heart activity, eye movements, blinks, other facial muscle movements, which produce electrical signals about 100 times greater than those produced by the brain. Also, the general background noise comes from outside the brain.

Hence, in the need of extracting important information from the signals, noise has to be removed. To achieve that, numerous advanced signal processing techniques have been developed. In this paper, we present the generalized Gamma distribution (GΓD) with ICA to remove noise from biomedical signals.

We listed some of previously used techniques and their results to compare our method to them, which prove the efficiency of our proposed technique. We evaluated the accuracy of the proposed algorithm; the numerical results show that the GΓD gives very good results. We organized the rest of this paper as follows: Sect. 2 presents the BSS model. Section 3 presents independent component analysis, In Sect. 4, we will discuss the GΓD. Finally, we present the computational efficient performance of the proposed technique.

2 Blind source separation (BSS) model

Blind source separation (BSS) is a high-level image/signal processing technique and has numerous applications such as sound signals, communication, images, and biomedicine [1,2,3,4]. BSS aims to retrieve the source (images/signals) from a noised source with little known information.

Let \(S\left( t \right) = \left[ {s_{1} \left( t \right),s_{2} \left( t \right), . . . , s_{N} \left( t \right)} \right]^{T} \left( {t = 1, 2, . . . , l} \right)\) denotes an independent source signal vector that comes from \(N\) signal sources, and then we can get the observed mixtures.

\(X\left( t \right) = \left[ {x_{1} \left( t \right),x_{2} \left( t \right), . . . , x_{K} \left( t \right)} \right]^{T} \left( {N = K} \right) \) Under the circumstances of the instantaneous linear mixture. This leads us to the BSS model

$$ X\left( t \right) = AS\left( t \right) $$
(1)

where \({\text{A is an N }} \times {\text{ N}}\) mixing matrix. The target of the BSS algorithm is to recover the sources from mixtures \({\text{x}}\left( {\text{t}} \right){ }\) by using

$$ U\left( t \right) = WX\left( t \right) $$
(2)

where \(W is an N \times N\) separation matrix and.

\(U\left( t \right) = \left[ {u_{1} \left( t \right),u_{2} \left( t \right), . . . , u_{N} \left( t \right)} \right]^{T} \) is the estimate of \(N\) sources.

Usually, sources are assumed to be zero-mean and unit-variance signals including at most one having a Gaussian distribution. To solve the problem of source estimation, the unmixing matrix \(W\) must be determined. Generally, the majority of BSS approaches perform ICA, by essentially optimizing the negative log-likelihood (objective) function concerning the un-mixing matrix \({\text{W}}\) such that

$$ L\left( {u, W} \right) = \mathop \sum \limits_{l = 1}^{N} E\left[ {\log p_{ul} \left( {u_{l} } \right)} \right] - log\left| {\det \left( W \right)} \right| $$
(3)

where \({\text{E}}\left[ . \right]\) represents the expectation operator and \({\text{p}}_{{{\text{u}}1}} \left( {{\text{u}}_{1} } \right)\) is the model for the marginal pdf of \({\text{u}}_{{\text{l}}}\), for all \(l = 1,2, \ldots ,N\). In effect, when correctly hypothesizing upon the distribution of the sources, the maximum likelihood (ML) principle leads to estimating functions, which in fact are the score functions of the sources [15]

$$ \varphi_{l} \left( {u_{l} } \right) = - \frac{d}{{du_{l} }}\log p_{ul} \left( {u_{l} } \right) $$
(4)

In principle, the separation criterion can be optimized by any suitable ICA algorithm where contrasts are utilized (see; e.g., [2]). The FastICA [3], based on

$$ W_{k + 1} = W_{k} + D\left( {E\left[ {\varphi \left( u \right)u^{T} } \right] - diag\left( {E[\varphi_{l} \left( {u_{l} } \right)u_{l} } \right]} \right))W_{k} $$
(5)

where, as defined in [4]

$$ D = diag\left( {\frac{1}{{E[\varphi_{l} \left( {u_{l} } \right)u_{l} \left] { - E} \right[\varphi_{l}^{^{\prime}} \left( {u_{l} } \right)]}}} \right) $$
(6)

where \(\varphi \left( t \right) = \left[ {\varphi_{1} \left( {u_{1} } \right),\varphi_{2} \left( {u_{2} } \right), \ldots ,\varphi_{n} \left( {u_{n} } \right)} \right]^{T}\), valid for all \(l = 1, 2, \ldots , n\).

In the following section, we propose GΓD for signal modelling.

3 Independent component analysis (ICA)

3.1 Definition of ICA

“It is a method for finding underlying factors or components from multivariate (multi-dimensional) statistical data. What distinguishes ICA from other methods is that it looks for components that are both statistically independent and non-Gaussian.” [20]

Now, assume that we observe n linear mixtures x1, …, xn of n independent components [20]

$$ x_{j} = a_{j1} s_{1} + a_{j2} s_{2} + ... + a_{jn} s_{n} , for all j $$
(7)

The time index t has been dropped; in the ICA model [20, 21], it is assumed that each mixture xj and each independent component sk are a random variable, instead of a proper time signal. The observed values xj(t), e.g., the microphone signals, are then a sample of this random variable. As a preprocess to simplify the calculation, we can assume that both the mixture variables and the independent components have zero mean: If not, then the observed variables xi can always be centered by subtracting the sample mean, and this makes the model zero mean. It would be convenient to use a vector–matrix notation instead of the sums like in the previous equation. Let us denote by x the random vector whose elements are the mixtures x1, …, xn, and by s the random vector with elements s1, …, sn, and by A the matrix with elements aij. The above mixing model can be written as

$$ {\varvec{x}} = {\varvec{As}} $$
(8)

Also, the model can be written as

$$ {\varvec{x}} = \mathop \sum \limits_{i = 1}^{n} {\varvec{a}}i si $$
(9)

The statistical model in Eq. 6 is called the ICA model.

It is a generative model; it describes how the observed data are generated by a process of mixing the components si.

The key idea for ICA is very simple; assume that the components si are statistically independent. Also, they must have non-Gaussian distributions.

3.2 The FastICA algorithm

We introduced different measures of non-Gaussianity [20, 21], i.e., objective functions for ICA estimation. In practice, also we need an algorithm for maximizing the contrast function, one of the most efficient algorithms of the ICA is the FastICA algorithm, and this is what we will use in our new proposed method.

4 Proposed algorithm

4.1 Generalized gamma distribution (GΓD)

By employing the three parameters in general the two-sided GΓD model can be written as

$$ p_{x} \left( {x{|}a,\beta ,\gamma } \right) = \frac{{\gamma \beta^{ - a\gamma } }}{2\Gamma \left( a \right)}\left| x \right|^{a\gamma - 1} exp\left[ { - \left( {\frac{\left| x \right|}{\beta }} \right)^{\gamma } } \right] $$
(10)

Valid for all nonzero values of the zero-mean sequence \(x{\mathcal{R}}\). The positive real-valued parameters \(a > 0, \gamma > 0 and \beta > 0\) collectively define the shape and scale of the amplitude distribution, respectively, while \(\Gamma \left( . \right)\) denotes the complete Gamma function

$$ \Gamma \left( z \right) = \mathop \int \limits_{0}^{\infty } x^{z - 1} e^{ - x} dx, z > 0 $$
(11)

Special cases of the GΓD include well-known two-parameter distributions, namely the GΓD \(a\gamma = 1\) and the Gamma density \(\left( {\gamma = 1} \right)\), as well as several other standard single-parameter distributions, for example, the Laplacian density \(a = 1,\gamma = 1\) and the Gaussian (or normal) distribution.\( a = 0.5,\gamma = 2\).

4.2 Flexible score functions

When correctly hypothesizing upon the distribution of the sources, the maximum likelihood (ML) principle leading to estimating functions, which in fact are the score functions of the sources, is;

$$ \varphi_{l} \left( {u_{l} } \right) = - \frac{d}{{du_{l} }}\log p_{ul} \left( {u_{l} } \right) $$
(12)

An entirely novel family of parametric or flexible score functions can be derived from the twice differentiable GΓD in (10). By substituting from (10) into (12) for the source estimates \({\text{u}}_{l}\), it quickly becomes obvious that our proposed score function inherits a generalized parametric structure, which in turn can be attributed to the highly flexible GΓD parent model. In this case, simple calculus the flexible BSS score function

$$ \varphi_{l} \left( {u_{l} |a,\beta ,\gamma } \right) = \frac{{sign\left( {u_{l} } \right)}}{{\left| {u_{l} } \right|}} \left( {\frac{\gamma }{{\beta^{\gamma } }} \left| {u_{l} } \right|^{\gamma } - a\gamma + 1} \right) $$
(13)

In the derivation of the function \( \varphi _{l} \left( {u_{l} |a,\beta ,\gamma } \right) \), we have also made use of the transformation \(sign\left( {u_{l} } \right) = {\raise0.7ex\hbox{${u_{l} }$} \!\mathord{\left/ {\vphantom {{u_{l} } {\left| {u_{l} } \right|}}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{${\left| {u_{l} } \right|}$}} , for u_{l} > 0\)

$$ \varphi_{l} \left( {u_{l} |a,\beta ,\gamma } \right) = \frac{{u_{l} }}{{\left| {u_{l} } \right|^{2} }} \left( {\frac{\gamma }{{\beta^{\gamma } }} \left| {u_{l} } \right|^{\gamma } - a\gamma + 1} \right) $$
(14)

In principle, \( \varphi _{l} \left( {u_{l} |a,\beta ,\gamma } \right) \) is capable of modeling a large number of signals, such as speech or communication signals, as well as various other types of challenging heavy- and light-tailed distributions. This is since its characterization depends explicitly on all three parameters \( a,~\beta ,~and~\gamma \). Other commonly used score functions can be obtained simply by substituting appropriate values for parameters \(a, \beta , and \gamma\) in (13). For instance, a scaled form of the GΓD-based score function constitutes such a special case of (13), when \(a\gamma = 1, and \beta = 1 \)

$$ \varphi_{l} \left( {u_{l} |\gamma } \right) = \gamma sign\left( {u_{l} } \right)\left| {u_{l} } \right|^{\gamma - 1} $$
(15)

We also should note that the same score function can be also more straightforwardly deduced by direct differentiation of the GΓD. Another special case of (13) is the standard threshold activation function \(\varphi_{l} \left( {u_{l} } \right) = sign\left( {u_{l} } \right)\), which in fact is only suitable for sources exhibiting a Laplacian PDF. As it can be seen, in some special cases, essentially those corresponding to heavy-tailed (or sparse) distributions defined for \(a\gamma = 1, with a > 0\), \( \varphi _{l} \left( {u_{l} |a,\beta ,\gamma } \right) \) could become singular for \(u_{l} = 0\) in practice, to avoid such deficiency, the denominator in (13) can be modified slightly to read

$$ \varphi_{l} \left( {u_{l} |a,\beta ,\gamma } \right) = \frac{{sign\left( {u_{l} } \right)}}{{\left[ {\left| {u_{l} } \right| + \varepsilon } \right]}} \left( {\frac{\gamma }{{\beta^{\gamma } }} \left| {u_{l} } \right|^{\gamma } - a\gamma + 1} \right) $$
(16)

where ε is a small positive parameter (typically around 10–4), when put to use, the discontinuity of (13) for values in or approaching the region \({\text{u}}_{{\text{l}}} = 0\) is completely avoided. We will also make use of the transformation

$$ sign\left( {u_{l} } \right) = {\raise0.7ex\hbox{${u_{l} }$} \!\mathord{\left/ {\vphantom {{u_{l} } {\left| {u_{l} } \right|}}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{${\left| {u_{l} } \right|}$}} , for u_{l} \ne 0 $$
$$ \varphi_{l} \left( {u_{l} |a,\beta ,\gamma } \right) = \frac{{u_{l} }}{{\left| {u_{l} } \right|\left[ {\left| {u_{l} } \right| + \varepsilon } \right]}} \left( {\frac{\gamma }{{\beta^{\gamma } }} \left| {u_{l} } \right|^{\gamma } - a\gamma + 1} \right) $$
(17)

The proposed family of the GΓD-based parametric scores given in (17) is depicted in Fig. 1, plotted for several different values of the shape parameters \(a and \gamma\).

Fig. 1
figure 1

GΓD-based flexible score functions from (17), plotted for different values of the shape parameters \({\varvec{a}}\boldsymbol{ }{\varvec{a}}{\varvec{n}}{\varvec{d}}\boldsymbol{ }{\varvec{\gamma}}\). In all cases \({\varvec{\beta}}=2\)

4.3 Generalized Gamma PDF estimation

The generalized Gamma PDF estimation can be estimated by standard tools for statistical inference, such as moment matching estimators (MMEs) and maximum likelihood estimators (MLEs). MMEs are simple to deduce but are often susceptible to large estimation errors, while MLEs are more efficient, however less convenient to derive and calculate from a set of real data. The inference technique we present here.

combines elements from both approaches.

4.3.1 Moment matching estimators (MMEs)

An initial guess for the parameters of the GΓD model can be estimated by resorting to the method of moments. The q.th-order absolute central moment of the GΓD function can be defined as

$$ E\left[ {\left| X \right|^{q} } \right] = \mathop \int \limits_{0}^{\infty } \left| x \right|^{q} p_{x} \left( {x|a,\beta ,\gamma } \right)dx $$
(18)

Substituting from (10) into (18), the q.th-order central moment transform of the two-sided GΓD model is equal to

$$ m_{q} = E\left[ {\left| X \right|^{q} } \right] = \mathop \int \limits_{0}^{\infty } \left| x \right|^{q} \frac{{\gamma \beta^{ - a\gamma } }}{2\Gamma \left( a \right)}\left| x \right|^{a\gamma - 1} exp\left[ { - \left( {\frac{\left| x \right|}{\beta }} \right)^{\gamma } } \right]dx $$
(19)
$$ m_{q} = E\left[ {\left| X \right|^{q} } \right] = \frac{{\gamma \beta^{ - a\gamma } }}{2\Gamma \left( a \right)}\mathop \int \limits_{0}^{\infty } \left| x \right|^{a\gamma + q - 1} exp\left[ { - \left( {\frac{\left| x \right|}{\beta }} \right)^{\gamma } } \right]dx $$
(20)

Let \(y = \left( {{\raise0.7ex\hbox{${\left| x \right|}$} \!\mathord{\left/ {\vphantom {{\left| x \right|} \beta }}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$\beta $}}} \right)^{\gamma }\) hence Eq. (19) will be

$$ m_{q} = E\left[ {\left| X \right|^{q} } \right] = \frac{{\beta^{q - 1} }}{{2{\Gamma }\left( {\text{a}} \right)}}\mathop \int \limits_{0}^{\infty } \left| y \right|^{{a + \frac{q}{\gamma } - 1}} exp\left[ { - y} \right]dy \forall q \ge 0 $$
(21)

By using Eq. (11) in Eq. (20)

$$ m_{q} = E\left[ {\left| X \right|^{q} } \right] = \frac{{\beta^{q - 1} }}{2} \left( {\frac{{{\Gamma }\left( {{\text{a}} + { }{\raise0.7ex\hbox{$q$} \!\mathord{\left/ {\vphantom {q \gamma }}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$\gamma $}}} \right)}}{{{\Gamma }\left( {\text{a}} \right)}}} \right) \forall q \ge 0 $$
(22)

Applying the formula above, the moment ratios arising are

$$ M_{1} \left( {\hat{a}, \hat{\gamma }} \right) = \frac{{m_{2} }}{{m_{1} }} = \frac{{{\Gamma }\left( {{\text{a}} + { }{\raise0.7ex\hbox{$2$} \!\mathord{\left/ {\vphantom {2 \gamma }}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$\gamma $}}} \right){\Gamma }\left( {\text{a}} \right)}}{{{\Gamma }^{2} \left( {{\text{a}} + { }{\raise0.7ex\hbox{$1$} \!\mathord{\left/ {\vphantom {1 \gamma }}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$\gamma $}}} \right)}} $$
(23)
$$ M_{2} \left( {\hat{a}, \hat{\gamma }} \right) = \frac{{m_{4} }}{{m_{3} }} = \frac{{{\Gamma }\left( {{\text{a}} + { }{\raise0.7ex\hbox{$4$} \!\mathord{\left/ {\vphantom {4 \gamma }}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$\gamma $}}} \right){\Gamma }\left( {\text{a}} \right)}}{{{\Gamma }^{2} \left( {{\text{a}} + { }{\raise0.7ex\hbox{$2$} \!\mathord{\left/ {\vphantom {2 \gamma }}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$\gamma $}}} \right)}} $$
(24)

where the scale parameter β in (22) is eliminated in both Eq. (23) and Eq. (24). In theory, by matching the sample moments with those of the GΓD, the simultaneous solution of Eq. (23) and Eq. (24) should yield initial moment estimates for.

parameters \(\hat{a}, \hat{\gamma }\).

4.3.2 Maximum likelihood estimators (MLEs)

To refine those further, we can resort to ML. For a sequence of mutually independent data \(X = \left( {x_{1,} x_{2} , \ldots ,x_{n} } \right)\) of sample size n with density \(p_{{x_{i} }} \left( {x_{i} {|}a,\beta ,\gamma } \right)\), the ML estimates are uniquely defined by their log-likelihood function

$$ \begin{aligned} L\left( {X{|}a,\beta ,\gamma } \right) & = \log \mathop \prod \limits_{i = 1}^{n} p_{{x_{i} }} \left( {x_{i} {|}a,\beta ,\gamma } \right) \\ & = \log \frac{{N\gamma \beta^{ - a\gamma } }}{{2{\Gamma }\left( {\text{a}} \right)}} - \frac{1}{{\beta^{\gamma } }} \mathop \sum \limits_{i = 1}^{n} \left| {x_{i} } \right| \end{aligned} $$
(25)

Normally, ML parameter estimates are obtained by first differentiating the log-likelihood function in Eq. (25) concerning the GΓD parameters and then by equating those derivatives to zero. Instead, here we choose to maximize the ML equation in Eq. (25) by resorting to the Nelder–Mead (NM) direct search method. The appeal of the NM optimization technique works with the fact that it can minimize the negative of the log-likelihood objective function given in Eq. (25), essentially without relying on any derivative information. Despite the danger of unreliable performance, numerical experiments have shown that the NM method can converge to an acceptably accurate solution with substantially fewer function evaluations than multi-directional search or steepest descent methods. Good numerical performance and a significant improvement in computational complexity for our estimation method are also insured by obtaining initial estimates from the method of moments. So, optimization with the NM technique to produce the refined ML shape estimates \(\hat{a} and \hat{\gamma }\) can be deemed as computationally efficient. Also, an estimate for the parameter \(\hat{\beta }\) can be calculated for known \(\hat{a} and \hat{\gamma }\).

$$ \hat{\beta } = \user2{ }m_{1} \frac{{{\Gamma }\left( {\hat{a}} \right)}}{{{\Gamma }\left( {\hat{a} + { }{\raise0.7ex\hbox{$1$} \!\mathord{\left/ {\vphantom {1 {\hat{\gamma }}}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{${\hat{\gamma }}$}}} \right)}} $$
(26)

5 Numerical and experimental results

We resolve to FastICA algorithm for (BSS). The algorithm depends on the estimated parameters and an un-mixing matrix \(\mathrm{W}\) which is estimated by the FastICA algorithm. Using real data set, we used a data sample of size (1000). By substituting (10) into (4) for the source estimates \({ }u_{{\text{l}}}\), \(l = 1, 2, . . . , n\), it quickly becomes clear that the proposed score function inherits a generalized parametric structure, which can be attributed to the highly flexible GΓD parent model. So, a simple calculus yields the flexible BSS score function

$$ \varphi_{l} \left( {u_{l} |a,\beta ,\gamma } \right) = \frac{{sign\left( {u_{l} } \right)}}{{\left| {u_{l} } \right|}} \left( {\frac{\gamma }{{\beta^{\gamma } }} \left| {u_{l} } \right|^{\gamma } - a\gamma + 1} \right) $$
(27)

In principle \(\varphi_{l} \left( {u_{l} |\theta } \right){ }\) is capable of modeling a large number of signals as well as various other types of challenging heavy- and light-tailed distributions. Experiments were done to investigate the performance of our method through two applications (one in EEG signal denoising (using two different EEG signals) and one in electrocardiogram (ECG) signal denoising (using two different ECG signals)) when Gaussian noise is presented.

In all experiments, the performance of our method is compared with tanh, skew, pow3 [20], and Gauss [15]. Our performance is measured by the mean squared error (MSE), mean absolute error (MAE), signal-to-noise ratio (SNR), peak signal-to-noise ratio (PSNR), and cross-correlation (CC).

5.1 Example 1

Electroencephalogram (EEG) [22], electrical action from the brain, one of the most vital signals from the human body, studying and improving this field of research is very important to physicians whose work is related to this branch of medicine, monitoring and observing changes in these signals help them to cover, predict, and cure brain diseases, and still, the signals might be corrupted due to numerous noising interferences. In this example we applied the proposed mechanisms for denoising two different EEG signals, and the results are shown in Fig. 2 for EEG signal 1 and Fig. 3 for EEG signal 2. The results for EEG signal 1 for the Gauss filter, Pow3 filter, Skew filter, and Tanh filter for EEG signal 1 are shown in Fig. 4, and in Fig. 5 for EEG signal 2, the performance is evaluated for all denoising algorithms using:

  1. 1.

    Cross-correlation (CC).

    $$ CC = \frac{{n\left( {\sum xy} \right) - \left( {\sum x} \right)\left( {\sum y} \right)}}{{\sqrt {\left[ {n\left( {\sum x^{2} - \left( {\sum x} \right)^{2} } \right)} \right]\left[ {n\left( {\sum y^{2} - \left( {\sum y} \right)^{2} } \right)} \right]} }} $$
    (28)
  2. 2.

    Mean squared error (MSE).

    $$ MSE = \frac{{\sum \left( {y_{i} - \hat{y}_{i} } \right)^{2} }}{n} $$
    (29)
  3. 3.

    Signal-to-noise ratio (SNR).

    $$ SNR = \frac{{P_{signal} }}{{P_{noise} }} = \frac{\mu }{\sigma } $$
    (30)
  4. 4.

    Mean absolute error (MAE).

    $$ MAE = \frac{1}{n}\mathop \sum \limits_{i = 1}^{n} \left| {y_{i} - \hat{y}_{i} } \right| $$
    (31)
  5. 5.

    Peak signal-to-noise ratio (PSNR).

    $$ {\text{PSNR}} = 20{\text{ log}}_{10} \left( {\frac{255}{{{\text{MSE}}}}} \right) $$
    (32)
Fig. 2
figure 2

GGD and sparse GGD filters (EEG signal 1): A original signal, B noised signal, C noised signal (original signal in blue and noise in red), and D denoised signal (GGD)

Fig. 3
figure 3

GGD and sparse GGD filters (EEG signal 2): A original signal, B noised signal, C noised signal (original signal in blue and noise in red), and D denoised signal (GGD)

Fig. 4
figure 4

(EEG signal 1): A original signal, B noised signal, C noised signal (original signal in blue and noise in red), D denoised signal (Gauss filter), E denoised signal (Pow3 filter), F denoised signal (skew filter), and G denoised signal (Tanh filter)

Fig. 5
figure 5

(EEG signal 2): A original signal, B noised signal, C noised signal (original signal in blue and noise in red), D denoised signal (Gauss filter), E denoised signal (Pow3 filter), F denoised signal (skew filter), and G denoised signal (Tanh filter)

shown in Table 1. The GGD has higher performance compared to other algorithms.

Table 1 The performance of the proposed denoising algorithm for EEG signals

5.2 Example 2

Electroencephalogram (ECG) [23], electrical activity from the heart, usually infected with numerous types of noise just like other types of biomedical signals. In this example we used two mechanisms for denoising two different ECG signals, the GGD and the sparse GGD; the results are shown in Fig. 6 for ECG signal 1 and Fig. 7 for ECG signal 2. The results for ECG signal 1 for the Gauss filter, Pow3 filter, Skew filter, and Tanh filter for EEG signal 1 are shown in Fig. 8, and in Fig. 9 for EEG signal 2, the performance is evaluated for all denoising algorithms using:

  1. 1.

    Cross-correlation (CC).

  2. 2.

    Mean squared error (MSE).

  3. 3.

    Signal-to-noise ratio (SNR).

  4. 4.

    Mean absolute error (MAE).

  5. 5.

    Peak signal-to-noise ratio (PSNR).

Fig. 6
figure 6

GGD and sparse GGD filters (ECG signal 1): A original signal, B noised signal, C noised signal (original signal in blue and noise in red), and D denoised signal (GGD).

Fig. 7
figure 7

GGD and sparse GGD filters (ECG signal 2): A original signal, B noised signal, C noised signal (original signal in blue and noise in red), and D denoised signal (GGD)

Fig. 8
figure 8

(ECG signal 1): A original signal, B noised signal, C noised signal (original signal in blue and noise in red), D denoised signal (Gauss filter), E denoised signal (Pow3 filter), F denoised signal (skew filter), and G denoised signal (Tanh filter)

Fig. 9
figure 9

(ECG signal 1): A original signal, B noised signal, C noised signal (original signal in blue and noise in red), D denoised signal (Gauss filter), E denoised signal (Pow3 filter), F denoised signal (skew filter), and G denoised signal (Tanh filter)

shown in Table 2. The GGD has higher performance compared to other algorithms.

Table 2 The performance of the proposed denoising algorithm for ECG signals

6 Conclusion

In this paper, we introduced a technique for biomedical signals denoising and blind source separation based on the generalized Gamma distribution. Our proposed technique outperforms existing solutions in terms of denoising quality and computational cost. We applied our technique to EEG and ECG signals, and the results were excellent, and the technique can be extended to be applied to all other biomedical signals.

In future work, we plan to use the algorithm to denoise biomedical images and separate mixed natural images, and also use deep learning methods for biomedical signals denoising using neural networks.