⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dspop.hh

📁 各种工程计算的库函数
💻 HH
📖 第 1 页 / 共 5 页
字号:
                const float *, long);            /// \overload            static void PolarToCart (double *, double *, const double *,                const double *, long);            /**                \overload                \param Cart Cartesian                \param Magn Magnitude                \param Phase Phase                \param Count Vector length            */            static void PolarToCart (stpSCplx, const float *, const float *,                 long);            /// \overload            static void PolarToCart (stpDCplx, const double *, const double *,                 long);            /**                \overload                \param Polar Polar                \param Cart Cartesian                \param Count Vector length            */            static void PolarToCart (stpSCplx, const stpSPolar, long);            /// \overload            static void PolarToCart (stpDCplx, const stpDPolar, long);            /**                Convert cartesian to polar vectors (in-place)            */            static void PolarToCart (utpSCoord, long);            /// \overload            static void PolarToCart (utpDCoord, long);            /**                Calculate normalized cross correlation of two vectors without                delay                \f[z=\frac{\frac{1}{N}\sum_{i=0}^{N-1}x(i)y(i)}                {\frac{1}{N}\sqrt{\sum_{i=0}^{N-1}x(i)^2\sum_{i=0}^{N-1}y(i)^2}}\f]                \param Src1 Source 1, x()                \param Src2 Source 2, y()                \param Count Vector length, N                \return Normalized cross-correlation            */            static float CrossCorr (const float *, const float *, long);            /// \overload            static double CrossCorr (const double *, const double *, long);            /**                Calculate normalized cross correlation of two vectors with                delay in second                \f[z=\frac{\frac{1}{K}\sum_{i=0}^{K-1}x(i)y(i+k)}                {\frac{1}{K}\sqrt{\sum_{i=0}^{K-1}x(i)^2\sum_{i=0}^{K-1}y(i+k)^2}}                ,K=N-k\f]                \param Src1 Source 1, x()                \param Src2 Source 2, y()                \param Delay Delay, k                \param Count Vector length, N                \return Normalized cross-correlation            */            static float DelCrossCorr (const float *, const float *, long,                 long);            /// \overload            static double DelCrossCorr (const double *, const double *, long,                 long);            /**                Calculate normalized cross correlation of two vectors                with delays specified in vector                 \f[z(j)=\frac{\frac{1}{K}\sum_{i=0}^{K-1}x(i)y(i+k(j))}                {\frac{1}{K}\sqrt{\sum_{i=0}^{K-1}x(i)^2\sum_{i=0}^{K-1}y(i+k(j))^2}}                ,K=N-k(j),0\leq{j}\leq{M-1}\f]                \param Dest Destination vector, z()                \param Src1 Source 1, x()                \param Src2 Source 2, y()                \param Count Vector length, N                \param Delay Delays, k()                \param DelayCount Delay vector length, M            */            static void DelCrossCorr (float *, const float *, const float *,                 long, const long *, long);            /// \overload            static void DelCrossCorr (double *, const double *, const double *,                 long, const long *, long);            /**                Calculates energy (square) of vector                \f[w=\sum_{i=0}^{N-1}x(i)^2\f]                \param Src Source, x()                \param Count Vector length, N                \return Energy, w            */            static float Energy (const float *, long);            /// \overload            static double Energy (const double *, long);            /**                Calculates magnitudes (linear) of vector                \f[V(i)=\sqrt{\Re_{X}(i)^2+\Im_{X}(i)^2}, 0\leq{i}\leq{N-1}\f]                \param Dest Destination, V()                \param Src Source, X()                \param Count Vector length            */            static void Magnitude (float *, const stpSCplx, long);            /// \overload            static void Magnitude (double *, const stpDCplx, long);            /**                Calculates powers (in dB) of vector                \f[P(i)=20\log\sqrt{\Re_{X}(i)^2+\Im_{X}(i)^2}, 0\leq{i}\leq{N-1}\f]                \param Dest Destination, P()                \param Src Source, X()                \param Count Vector length            */            static void Power (float *, const stpSCplx, long);            /// \overload            static void Power (double *, const stpDCplx, long);            /**                Calculated phases (in rad) of vector                \f[\varphi(i)=\arctan{\frac{\Im_{X}(i)}{\Re_{X}(i)}}, 0\leq{i}\leq{N-1}\f]                \param Dest Destination, \f$\varphi(i)\f$                \param Src Source, X()                \param Count Vector length, N            */            static void Phase (float *, const stpSCplx, long);            /// \overload            static void Phase (double *, const stpDCplx, long);            /**                Calculates powers (in dB) and phases (in rad) of vector                See ::Power() and ::Phase() for formulas                \param Power Powers                \param Phase Phases                \param Src Source                \param Count Vector length            */            static void PowerPhase (float *, float *, const stpSCplx, long);            /// \overload            static void PowerPhase (double *, double *, const stpDCplx, long);            /**                Decimate vector without average                \note This can be used in-place also                \param Dest Destination                \param Src Source                \param Factor Decimation factor                \param Count Vector length (source)            */            static void Decimate (float *, const float *, long, long);            /// \overload            static void Decimate (double *, const double *, long, long);            /**                Decimate vector with average.                Linear (arithmetic) mean is used to evaluate new values.                \param Dest Destination                \param Src Source                \param Factor Decimation factor                \param Count Vector length (source)            */            static void DecimateAvg (float *, const float *, long, long);            /// \overload            static void DecimateAvg (double *, const double *, long, long);            /**                Iterpolate vector without average (nulling)                \param Dest Destination                \param Src Source                \param Factor Interpolation factor                \param Count Vector length (source)            */            static void Interpolate (float *, const float *, long, long);            /// \overload            static void Interpolate (double *, const double *, long, long);            /**                Interpolate vector with average (linear).                Lagrange interpolation is used to estimate new values.                \f[y(k)=\frac{k-(i+1)}{i-(i+1)}\times{x(i)}+\frac{k-i}{(i+1)-i}\times{x(i+1)}, 0\leq{k}\leq{M-1}, 0\leq{i}\leq{N-1}\f]                Where M is destination length and N is source length.                \param Dest Destination                \param Src Source                \param Factor Interpolation factor                \param Count Vector length (source)            */            static void InterpolateAvg (float *, const float *, long, long);            static void InterpolateAvg (double *, const double *, long, long);            /**                Resample vector to different length.                \param Dest Destination                \param DestCount Destionation vector length                \param Src Source                \param SrcCount Source vector length            */            static void Resample (float *, long, const float *, long);            static void Resample (double *, long, const double *, long);            /**                Resample vector to different length with average.                \param Dest Destination                \param DestCount Destination vector length                \param Src Source                \param SrcCount Source vector length            */            static void ResampleAvg (float *, long, const float *, long);            static void ResampleAvg (double *, long, const double *, long);            /**                Calculate RMS (root mean square) of vector                \f[I=\sqrt{\frac{\sum_{i=0}^{N-1}x(i)^2}{N}}\f]                \param Src Source, x()                \param Count Vector length, N                \return RMS, I            */            static float RMS (const float *, long);            /// \overload            static double RMS (const double *, long);            /**                Calculate variance and mean of vector                \note variance and mean pointers can be NULL                \f[\mu=\frac{1}{N}\sum_{i=0}^{N-1}x(i)\f]                \f[\sigma^2=\frac{\sum_{i=0}^{N}(x(i)-\mu)^2}{N}\f]                \param Variance Variance, \f$\sigma^2\f$                \param Mean Mean, \f$\mu\f$                \param Src Source, x()                \param Count Vector length, N                \return Variance \f$\sigma^2\f$            */            static float Variance (float *, float *, const float *, long);            /// \overload            static double Variance (double *, double *, const double *, long);            /**                Find peak level of vector and return result in dB                \param Src Source                \param Count Vector length                \return Peak level (dB)            */            static float PeakLevel (const float *, long);            /// \overload            static double PeakLevel (const double *, long);            /**                Calculate Bartlett (triangle) window coefficients                \param Dest Destination                \param Count Vector length            */            void WinBartlett (float *, long);            /// \overload            void WinBartlett (double *, long);            /**                Calculate Blackman window coefficients                \f[y(n)=0.42-0.5\cos\left(\frac{2\pi{n}}{N}\right)+0.08\cos\left(\frac{4\pi{n}}{N}\right), 0\leq{n}\leq{N-1}\f]                \param Dest Destination, y()                \param Count Vector length, N            */            // (destination vector, length)            void WinBlackman (float *, long);            /// \overload            void WinBlackman (double *, long);            /**                Calculate blackman window coefficients with specified alpha                                \f[y(n)=\frac{\alpha+1}{2}-0.5\cos\left(\frac{2\pi{n}}{N-1}\right)-\frac{\alpha}{2}\cos\left(\frac{4\pi{n}}{N-1}\right), 0\leq{n}\leq{N-1}\f]                                or with optimal alpha when alpha is specified as 0                                \f[\alpha=\frac{0.5}{1+\cos\left(\frac{2\pi}{N-1}\right)}\f]                                (around -0.25 for large windows)            */            void WinBlackman (float *, long, float);            void WinBlackman (double *, long, double);            /**                Calculate Blackman-Harris window coefficients                \f[y(n)=0.42323-0.49855\cos\left(\frac{2\pi{n}}{N}\right)+0.07922\cos\left(\frac{4\pi{n}}{N}\right), 0\leq{n}\leq{N-1}\f]                \param Dest Destination, y()                \param Count Vector length, N            */            void WinBlackmanHarris (float *, long);            /// \overload            void WinBlackmanHarris (double *, long);            /**                Calculate cosine tapered window coefficients                \f[y(n)=0.5\left(1-\cos\left(\frac{2\pi{n}}{N}\right)\right), 0\leq{n}\leq{N-1}\f]                \param Dest Destination, y()                \param Count Vector length, N            */            void WinCosTapered (float *, long);            /// \overload            void WinCosTapered (double *, long);            /**                \overload                Apply cosine tapered window to vector (in-place)            */            void WinCosTaperedA (float *, long);            /// \overload            void WinCosTaperedA (double *, long);            /**                \overload                Apply cosine tapered window to vector (out-of-place)            */            void WinCosTaperedA (float *, const float *, long);            /// \overload            void WinCosTaperedA (double *, const double *, long);            /**                Calculate exact Blackman window coefficients                \f[y(n)=\frac{7938}{18608}-\frac{9240}{18608}\cos\left(\frac{2\pi{n}}{N}\right)+\frac{1430}{18608}\cos\left(\frac{4\pi{n}}{N}\right), 0\leq{n}\leq{N-1}\f]                \param Dest Destination, y()                \param Count Vector length, N            */            void WinExactBlackman (float *, long);            /// \overload            void WinExactBlackman (double *, long);            /**                Calculate exponential window coefficients                \f[y(n)=y(N-1-n)=\exp\left(\frac{\ln(z+1)}{N/2}n\right)-1, 0\leq{n}\leq{N/2}\f]                \param Dest Destination, y()                \param Final Final value, z                \param Count Vector length, N            */            void WinExp (float *, float, long);            /// \overload            void WinExp (double *, double, long);      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -