做滤波器需要matlab和css两个软件
matlab负责生成一组的单位脉冲响应的数组h[n]
css的c语言负责根据输入函数x[n]与生成的单位脉冲响应运算得出系统响应函数y[n]
即x[n]与h[n]作用求y[n]
首先说下滤波器,常见的有低通,高通,带通,带阻
低通:低频能通过,高通:高频能通过,带通:某一段频率能通过,带阻:某一段频率不能通过
又分为FIR与IIR,一个是有限脉冲响应,一个无限脉冲响应
首先写Matlab程序,主要有几个参数,高通和低通有wp,ws,wc,带通和带阻有wp1,wp2,ws1,ws2,wc1,wc2因为带通和带阻
分别是通带(pass)截止频率,阻带(stop)截止频率,数字域截止频率
其中wc是一个反应系统特性的值,根据wp和ws求出来的,最后带入matlab自带的函数里,不用管他的实际意义
其中如果是高通:滤波后的频率保留大于通带截止频率的值,滤掉小于阻带截止频率的值
低通:保留小于通带截止频率的值,滤掉大于阻带截止频率的值
由此可知,高通 wp>ws,低通wp<ws
这之间会有一段即不属于通带也不属于阻带的一段
比如为什么高通不是高于1000通,低于1000阻,而是高于1000通低于950阻,中间那50就是因为衰减,带通带阻也有这么一段
带通:保留大于wp小于ws,滤掉小于wp大于ws频率的值
带阻:保留小于wp大于ws,滤掉大于wp小于ws频率的值
即当
wp>ws:高通
wp<ws:低通
wp,ws为二元矢量
wp=[0.2 0.7] ws[0.1 0.8]:带通
wp=[0.1 0.8] ws[0.2 0.7]:带阻