資源簡介
利用C語言描述的FxLMS算法是進行實際控制的基礎(chǔ)。利用C語言仿真控制算法。
代碼片段和文件信息
#include
#include
#include
#define?PI?????3.141592653589793
#define?N??????2000
#define?f1?????100
#define?f2?????200
#define?FS?????2000.0
#define?JMax?4
#define?KMax?4
#define?LMax?120
#define?M?4
double?Hs[JMax*KMax][M]?=?{
{?0?0.01?1?0.5?}
{?0?0?1.1?0.6?}
{?0?0?1?0.55?}
{?0?0?1?0.6?}
{?0?0?1?0.32?}
{?0?0.1?1?0.11?}
{?0?0?1?0.25?}
{?0?0?1?0.15?}
{?0?0?1?0.35?}
{?0?0?1?0.4?}
{?0?0?1?0.4?}
{?0?0?1?0.36?}
{?0?0?1?0.45?}
{?0?0?1?0.5?}
{?0?0?1?0.5?}
{?0?0?1?0.46?}
};
double?Hs_m[JMax*KMax][M]?=?{
{?0?0?1.0?0.5?}
{?0?0?1?0.6?}
{?0?0?1?0.6?}
{?0?0?0.9?0.6?}
{?0?0?1?0.3?}
{?0?0?1?0.1?}
{?0?0?1.1?0.25?}
{?0?0?1?0.18?}
{?0?0?1.2?0.35?}
{?0?0?1?0.45?}
{?0?0?0.95?0.4?}
{?0?0?1?0.38?}
{?0?0?1.3?0.45?}
{?0?0?1?0.58?}
{?0?0?0.9?0.5?}
{?0?0?1?0.48?}
};
double?hp[KMax][8]?=?{
{?0?0?0?0?0?1?-0.3?0.2?}
{?0?0?0?0?0?1?-0.2?0.1?}
{?0?0?0?0?0?1?-0.2?0.2?}
{?0?0?0?0?0?1?-0.3?0.1?}
};
double?output[JMax][M]?=?{?0?};
double?X[LMax]?=?{?0?};
double?W[JMax][LMax]?=?{?0.25?};
double?F[JMax*KMax][LMax]?=?{?0?};
double?a[KMax]?=?{?0?};
double?d[KMax]?=?{?0?};
double?e[KMax]?=?{?0?};
double?Y[JMax]?=?{?0?};
void?shiftArray(double*?x?int?length)
{
int?i;
for?(i?=?length?-?1;?i?>?0;?i--)
{
x[i]?=?x[i?-?1];
}
}
double?dotProd(const?double*?x?const?double*?y?int?length)
{
double?sum?=?0.0;
int?i;
for?(i?=?0;?i? {
sum?+=?x[i]?*?y[i];
}
return?sum;
}
評論
共有 條評論