资源简介
利用C语言描述的FxLMS算法是进行实际控制的基础。利用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 < length; i++)
{
sum += x[i] * y[i];
}
return sum;
}
相关资源
- 数字电位器C语言程序
- 电子时钟 有C语言程序,PROTEUS仿真图
- c语言程序设计报告 程序大全
- KMP算法C语言程序
- C语言程序设计50例.docx
- C语言程序设计教材习题参考答案.do
- 多远线性回归方程C语言程序
- 四子棋c语言程序
- 仿射密码C语言程序代码
- 北航991数据结构与C语言程序设计历年
- C语言程序设计教程(第3版)谭浩强张
- C语言程序设计教程第二版习题解答与
- 51单片机DS18B20温度计C语言程序附详解
- 两输入单输出模糊控制c语言程序
- C语言程序扑克发牌
- ISD4004语音芯片C语言程序
- 基于51单片机的c语言程序 电机转速测
- GPS网间接平差C语言程序
- C语言程序设计课件全套
- C语言程序设计第四版谭浩强课后习题
- 全国计算机等级考试-二级教程-C语言
- SVM分类算法实验报告+C语言程序 加强
- 《C语言程序设计》谭浩强.pdf
- C语言程序设计实验指导及题解 黄迪明
- 井字棋人机和人人版C语言程序
- C语言程序设计(谭浩强)最终完整
- 谭浩强----C语言程序设计第二版高清晰
- MSP430系列单片机实用C语言程序设计
- C语言程序设计 谭浩强 PPT全十章
- ISODATA算法C语言程序
评论
共有 条评论