#ifndef _WINDOWS_FUNC_HH_75238409574302950
|
#define _WINDOWS_FUNC_HH_75238409574302950
|
#include "const.h"
|
|
#define BESSELI_K_LENGTH 10 // ±´Èû¶ûº¯ÊýÕ¹¿ªÏîÊý
|
class Windows
|
{
|
private:
|
/**
|
* @brief Áã½×µÚÒ»ÀàÐÞÕý±´Èû¶ûº¯Êý I0(x) ʵÏÖ
|
* @param x ×Ô±äÁ¿
|
* @param n_terms ¼¶ÊýÕ¹¿ªÏîÊý
|
* @return I0(x) µÄ½üËÆÖµ
|
*/
|
double besseli(double x, int n_terms = BESSELI_K_LENGTH);
|
public:
|
void RectangleWin(double* w, int n);
|
void TriangularWin(double* w, int n);
|
void HannWin(double* w, int n);
|
void HammingWin(double* w, int n);
|
void KaiserWin(double* w, int n, double beta = 5.65);
|
void BlackManWin(double* w, int n);
|
|
};
|
|
#endif
|