matlab中的fir滤波器的使用:
b = fir1(n, wn, ‘ftype’, window, ‘noscale’)
- b:返回的FIR滤波器单位脉冲响应,脉冲响应为偶对称,长度为n+1;
- n:滤波器的阶数;
- wn:滤波器的截止频率,取值范围为0<wn<1,1对应信号采样频率一半。如果wn是单个数值,且ftype参数为low,则表示设计截止频率为wn的低通滤波器,如果ftype参数为high,则表示设计截止频率为wn的高通滤波器;如果wn是有两个数组成的向量[wn1 wn2],ftype为stop,则表示设计带阻滤波器,ftype为bandpass,则表示设计带通滤波器;如果wn是由多个数组成的向量,则根据ftype的值设计多个通带或阻带范围的滤波器,ftype为DC-1,表示设计的第一个频带为通带,ftype为DC-0,表示设计的第一个频带为阻带;
- window:指定使用的窗函数,默认为海明窗;
- noscale:指定是否归一化滤波器的幅度。
1、fir1函数可以设计低通、带通、高通、带阻等多种类型的具有严格线性相位特性的FIR滤波器。
2、采样频率是联系离散时间域和连续时间域的纽带:
时域:采样频率的倒数表示两个相邻样点间的时间间隔;
频域:采样频率是离散时间信号所能表征的最高频率的两倍(按奈奎斯特定理最小是两倍)。
数字滤波器的设计,不管是通带截止频率还是阻带截止频率,理论上都不能超过采样频率的一半。实际上,在数字滤波器设计中,通常把采样频率的一半定义为归一化频率“1”,用一个小于“1”的值(比如说0.2)来定义数字滤波器的通带或阻带截止频率(相当于定义的是截止频率对半采样率的比值)。
3、工程实现:
工程上,在较高采样率上实现数字滤波器,一般而言功耗会大一些。但在过低的采样率上实现数字滤波器也会有一些实际的限制:想象一下,如果要实现一个归一化截止频率为0.49的低通滤波器,会要求多窄的滤波器过度带(0.49~0.5);而只要采样率升高一倍,相同低通滤波器的归一化截止频率就变成了0.245,实现难度就会大大下降。