📄 enhance.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include "rls.h"
/*定义RLS算法历史变量*/
struct rlshist hist_rls;
int main(int argc, char *argv[])
{
FILE *filein, *filed, *fileout;
FILE *filemse;
double input, refer, output;
double mse;
short inputx, outputy, referd;
int temp = 0;
if(argc == 4){
filein = fopen(argv[1], "rb");
if(filein == NULL){
fprintf(stderr, "%s%s%s\n", "Use: ",argv[0], " input1.file input2.file output.file ");
return 1;
}
filed = fopen(argv[2], "rb");
if(filed == NULL){
fprintf(stderr, "%s%s%s\n", "Use:", argv[0], " input1.file input2.file output.file ");
fclose(filein);
return 1;
}
fileout = fopen(argv[3], "wb");
if(fileout == NULL){
fprintf(stderr, "%s%s%s\n", "Use:", argv[0], " input1.file input2.file output.file ");
fclose(filein);
fclose(filed);
return 1;
}
filemse = fopen("mse.dat","wb");
}else{
fprintf(stderr, "%s%s%s\n", "Use:", argv[0], " input1.file input2.file output.file ");
return 1;
}
/*初始化RLS算法*/
init_rls();
while((fread(&inputx, sizeof(short), 1, filein) > 0) && (fread(&referd, sizeof(short), 1, filed) > 0)){
input = (double)(inputx);
refer = (double)(referd);
temp++;
/*调用RLS滤波算法*/
rls(&input, &refer, &output, temp);
mse = (refer - output) * (refer - output);
outputy = (short)(output);
fwrite(&outputy, sizeof(short), 1, fileout);
fwrite(&mse, sizeof(double), 1, filemse);
}
fclose(filein);
fclose(filed);
fclose(fileout);
fclose(filemse);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -