PAL Algorithms: Noise Generation
Uniform and Gaussian random-noise generators, including real, complex, subband, and IPP-backed variants.
|
|
|---|---|
KiratAlgCoreCommonNoiseGenGaussComplexIppProcessSignature
T_INT KiratAlgCoreCommonNoiseGenGaussComplexIppProcess( struct tKiratAlgCorePalGaussNoiseGenIppParams* sIppParams, T_COMPLEX* pcData, T_INT iLength);Description
Generates random values using the previously initialized Intel IPP state; a fallback is available when IPP is not present. Mathematical operation
\(z_n=x_n+jy_n\) with components generated from the initialized Gaussian state; fallback uses the generic independent Gaussian component generator. |
|
KiratAlgCoreCommonNoiseGenGaussComplexProcessSignature
void KiratAlgCoreCommonNoiseGenGaussComplexProcess( T_INT iFrameshift, T_COMPLEX* cSignal, T_FLOAT fGainRe, T_FLOAT fGainIm);Description
Generates complex Gaussian noise with independent real and imaginary parts. Mathematical operation
\(z_n=g_r n_{r,n}+jg_i n_{i,n}\) with independent \(n_{r,n},n_{i,n}\sim\mathcal N(0,1)\). |
|
KiratAlgCoreCommonNoiseGenGaussGetValueSignature
T_FLOAT KiratAlgCoreCommonNoiseGenGaussGetValue();Description
Generates a standard normally distributed random value with zero mean and approximately unit variance. Mathematical operation
\(x\sim\mathcal N(0,1)\) generated by a 128-segment ziggurat normal RNG. |
|
KiratAlgCoreCommonNoiseGenGaussIppDeinitSignature
T_INT KiratAlgCoreCommonNoiseGenGaussIppDeinit( struct tKiratAlgCorePalGaussNoiseGenIppParams* sIppParams);Description
Releases the state and resources of the IPP random-number generator. Mathematical operation
Releases the RNG state; there is no signal-domain mathematical transform. |
|
KiratAlgCoreCommonNoiseGenGaussIppInitSignature
struct tKiratAlgCorePalGaussNoiseGenIppParams KiratAlgCoreCommonNoiseGenGaussIppInit( T_FLOAT fMean, T_FLOAT fStdDev, T_BOOL bUseRandomSeed, T_INT iSeed);Description
Initializes the IPP-based random-number generator and stores its state in a parameter structure. Mathematical operation
Initializes an IPP RNG state for \(x\sim\mathcal N(\mu,\sigma^2)\) using the supplied mean, standard deviation and seed policy; the fallback stores parameters for the generic generator. |
|
KiratAlgCoreCommonNoiseGenGaussIppProcessSignature
T_INT KiratAlgCoreCommonNoiseGenGaussIppProcess( struct tKiratAlgCorePalGaussNoiseGenIppParams* sIppParams, T_FLOAT* pfData, T_INT iLength);Description
Generates random values using the previously initialized Intel IPP state; a fallback is available when IPP is not present. Mathematical operation
\(x_n\sim\mathcal N(\mu,\sigma^2)\) according to the initialized RNG state; fallback uses the generic Gaussian generator with the stored gain/standard deviation. |
|
KiratAlgCoreCommonNoiseGenGaussProcessSignature
void KiratAlgCoreCommonNoiseGenGaussProcess(T_INT iFrameshift, T_FLOAT* pfSignal, T_FLOAT fGain);Description
Generates uncorrelated Gaussian noise and scales it by fGain. Mathematical operation
\(x_n=g\,n_n\), \(n_n\sim\mathcal N(0,1)\). |
|
KiratAlgCoreCommonNoisegenGaussSubbandSignature
void KiratAlgCoreCommonNoisegenGaussSubband( T_COMPLEX* pcSignal, T_INT iNumSubbands, T_FLOAT fGainRe, T_FLOAT fGainIm);Description
Generates complex Gaussian subband noise. Edge bins are handled specially to preserve the symmetry required for real-valued time-domain signals. Mathematical operation
\(z_0=g_r n_0+j0\); interior subbands use \(z_k=(g_r n_{r,k}+jg_i n_{i,k})/\sqrt2\) with independent standard-normal samples, matching unit-variance complex noise before gains. |
|
KiratAlgCoreCommonNoisegenGaussSubbandBandlimitedSignature
void KiratAlgCoreCommonNoisegenGaussSubbandBandlimited( T_COMPLEX* pcSignal, T_INT iStartSubband, T_INT iStopSubband, T_FLOAT fGainRe, T_FLOAT fGainIm);Description
Generates noise only inside a selected subband. In the current source version, the generated real and imaginary values are additionally forced to positive magnitudes. Mathematical operation
Only bins \(k\in[k_{start},k_{stop})\) are filled. The generated Gaussian real/imaginary components are gain-scaled; the current source additionally applies absolute value to the generated components in this band-limited variant. |
|
KiratAlgCoreCommonNoiseGenUniformBetweenIndividualLimitsGetValueSignature
T_FLOAT KiratAlgCoreCommonNoiseGenUniformBetweenIndividualLimitsGetValue( T_FLOAT fLow, T_FLOAT fHigh);Description
Generates a uniformly distributed random value between fLow and fHigh. Mathematical operation
\(u=f_{low}+(f_{high}-f_{low})v\), \(v\approx\mathcal U[0,1)\), provided \(f_{low}<f_{high}\). |
|
KiratAlgCoreCommonNoiseGenUniformBetweenZeroAndOneProcessSignature
void KiratAlgCoreCommonNoiseGenUniformBetweenZeroAndOneProcess( T_INT iFrameshift, T_FLOAT* pfSignal, T_FLOAT fGain);Description
Generates a vector of uniformly distributed values in the range [0,fGain). Mathematical operation
\(x_n=g\,u_n\), \(u_n\approx\mathcal U[0,1)\). |
|
KiratAlgCoreCommonNoiseGenUniformComplexIppInitSignature
struct tKiratAlgCorePalUniformNoiseGenIppParams KiratAlgCoreCommonNoiseGenUniformComplexIppInit( T_FLOAT fLow, T_FLOAT fHigh, T_BOOL bUseRandomSeed, T_INT iSeed);Description
Initializes the IPP-based random-number generator and stores its state in a parameter structure. Mathematical operation
Initializes an IPP uniform RNG state on the supplied interval \([a,b]\) (complex initialization scales the interval by \(1/\sqrt2\) per component). |
|
KiratAlgCoreCommonNoiseGenUniformComplexIppProcessSignature
T_INT KiratAlgCoreCommonNoiseGenUniformComplexIppProcess( struct tKiratAlgCorePalUniformNoiseGenIppParams* sIppParams, T_COMPLEX* pcData, T_INT iLength);Description
Generates random values using the previously initialized Intel IPP state; a fallback is available when IPP is not present. Mathematical operation
\(z_n=x_n+jy_n\) with real and imaginary components drawn from the initialized uniform state; fallback uses independent generic uniform components. |
|
KiratAlgCoreCommonNoiseGenUniformComplexProcessSignature
void KiratAlgCoreCommonNoiseGenUniformComplexProcess( T_INT iFrameshift, T_COMPLEX* cSignal, T_FLOAT fGainRe, T_FLOAT fGainIm);Description
Generates complex uniformly distributed noise; real and imaginary parts are generated independently and scaled separately. Mathematical operation
\(z_n=g_r u_n+jg_i v_n\), with independent generator updates \(u_n,v_n\approx\mathcal U[-1,1)\). |
|
KiratAlgCoreCommonNoiseGenUniformGetValueSignature
T_FLOAT KiratAlgCoreCommonNoiseGenUniformGetValue();Description
Generates a uniformly distributed random value in the interval [0,1). Mathematical operation
\(u\approx\mathcal U[0,1)\) from a 32-bit linear-congruential state update. |
|
KiratAlgCoreCommonNoiseGenUniformIppDeinitSignature
T_INT KiratAlgCoreCommonNoiseGenUniformIppDeinit( struct tKiratAlgCorePalUniformNoiseGenIppParams* sIppParams);Description
Releases the state and resources of the IPP random-number generator. Mathematical operation
Releases the RNG state; there is no signal-domain mathematical transform. |
|
KiratAlgCoreCommonNoiseGenUniformIppInitSignature
struct tKiratAlgCorePalUniformNoiseGenIppParams KiratAlgCoreCommonNoiseGenUniformIppInit( T_FLOAT fLow, T_FLOAT fHigh, T_BOOL bUseRandomSeed, T_INT iSeed);Description
Initializes the IPP-based random-number generator and stores its state in a parameter structure. Mathematical operation
Initializes an IPP uniform RNG state on the supplied interval \([a,b]\) (complex initialization scales the interval by \(1/\sqrt2\) per component). |
|
KiratAlgCoreCommonNoiseGenUniformIppProcessSignature
T_INT KiratAlgCoreCommonNoiseGenUniformIppProcess( struct tKiratAlgCorePalUniformNoiseGenIppParams* sIppParams, T_FLOAT* pfData, T_INT iLength);Description
Generates random values using the previously initialized Intel IPP state; a fallback is available when IPP is not present. Mathematical operation
\(x_n\sim\mathcal U(a,b)\) according to the initialized RNG state; fallback uses the generic uniform generator parameters stored at initialization. |
|
KiratAlgCoreCommonNoiseGenUniformProcessSignature
void KiratAlgCoreCommonNoiseGenUniformProcess( T_INT iFrameshift, T_FLOAT* pfSignal, T_FLOAT fGain);Description
Generates uncorrelated uniformly distributed values approximately in the range [−fGain,+fGain]. Mathematical operation
\(x_n=g\,u_n\), where the generator maps the 32-bit state approximately to \(u_n\in[-1,1)\). |
|
KiratAlgCoreCommonNoisegenUniformSubbandSignature
void KiratAlgCoreCommonNoisegenUniformSubband( T_COMPLEX* pcSignal, T_INT iNumSubbands, T_FLOAT fGainRe, T_FLOAT fGainIm);Description
Generates complex uniformly distributed subband noise with normalized variance; real and imaginary parts are generated independently. Mathematical operation
\(z_0=g_r u_0+j0\) with \(u_0\approx\mathcal U[-\sqrt3,\sqrt3]\); for \(k\ge1\), \(z_k=(g_r u_k+jg_i v_k)/\sqrt2\), \(u_k,v_k\approx\mathcal U[-\sqrt3,\sqrt3]\), giving unit variance before gains. |