资源简介
利用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语言程序设计练习1000题
- 模糊PID控制C语言程序.doc
- 基于51单片机控制的篮球比赛计时、计
- C8051F120单片机C语言程序代码,经典例
- 模糊PID的C语言程序
- 文本文件检索程序代码
- 数字水印源代码,C语言程序
- c语言程序设计案例教程 廖湖声 第二
- 《C语言程序设计实验指导》颜晖,张
- 常用的100个经典C语言程序
- C语言程序设计学生成绩管理系统
- c语言程序设计关于教师工作量管理系
- 谭浩强 C语言程序设计第三版视频教程
- 300个C语言程序范例
- C语言程序设计经典100例
- 贪吃蛇 C语言程序
- 使用光电传感器的测速小车C语言程序
- C语言程序300集(pdf,清晰)
- C语言程序课程设计商品进销存管理程
- 991“数据结构与C语言程序设计”考试
- ADS7809C语言程序
- 复合形法C语言程序
- 共轭梯度法C语言程序
- C语言程序设计(第三版)谭浩强.zi
- c语言程序设计题总结资源
- 《C语言程序开发范例宝典》光盘源码
- C语言程序改错题库
- C语言程序设计报告——虚拟示波器
- 用DSP实现spwm的C语言程序
- msp430g2553_AD采样及显示C语言程序
评论
共有 条评论