已结贴√
问题点数:20 回复次数:4
c语言实现滤波器
我写了很久了,但是新手上路问题巨多,实在不知道怎么解决。用matlab实验后发现滤波的函数没有问题,主要问题出在wav文件data块数据的提取上,具体问题在下面,求大佬拯救。(代码没整理,逻辑混乱,看看就好...)
滤波器设计和使用
一、实验目的和任务:
实验目的:
练习随机数、静态局部变量、滤波器等知识的综合运用;
培养学生综合运用C程序语言进行程序设计的能力;
培养结构化程序设计能力;
实验任务:
实验内容:
完成随机数产生函数:double RandDouble(double Max),即生产0到Max之间的随机数,且返回的随机数带2位小数,如6.28等;
编写一函数,double filter(double x);实现如下功能:输入xi,输出yi,其中xi的定义如5-1所示,即i大于0时,为随机数,小于0时为0,i为整数;xi和yi的关系如5-2所示。
(5-1)
(5-2)
c0,c1,c2,c3,c4的值分别为常数:0.01,0.1, 0.78, 0.1, 0.01,请用宏定义c0到c4的值;rand()为随机数函数,产生随机数整数;
写一主函数,在主函数中调用随机数生成函数,产生序列x,并求出序列y的值,输出x和y的值。
设Cn为某低通滤波器系数,Cn的值见后。改写double filter(double x)函数,实现滤波功能。编写主函数,读取一个被噪声污染的语音文件,并进行滤波处理,把处理后的文件保存下来,并进行试听,观察处理效果。
#include
#include
#include
#define p 101
double *s;
char *temp;
char *temp_2;
unsigned short int *data;
short int *data_11;
double *data_1;
double *data_2;
unsigned short int * data_3;