先进入filterDesigner,老版本的是fdatool。
滤波器参数设置如下图所示。
Specify Order设置为15,实际阶数为16阶。
滤波器参数为:等纹波滤波器,低通,采样率8kHz,通带频率为1kHz,阻带频率为3kHz。
点击Design Filter,即生成滤波器的幅频特性曲线。
量化参数设置如下图所示。
生成c头文件
从该头文件件中,复制出滤波器的系数出来。
Matlab代码如下:
close all; clear all; clc;
coe =[-122 -223 743 1190 -2645 -4306 9187 28935 28935 9187 -4306 -2645 1190 743 -223 -122]; %滤波器系数
len = length(coe); % 滤波器阶数
Fs=8000; % 采样率
T=0.1; % 时间
dt=1.0/Fs; % 时间刻度
N=T/dt; % 点数
t=linspace(0,T,N); % 时间向量
x = sin(2*pi*1768*t); % 输入信号,1768Hz
outputY = conv(x,coe)/(2^len); % 输出信号
subplot(211)
plot(t,x);
subplot(212)
plot(outputY)
运行结果如下:
滤波器中1.768kHz时,为-3dB点,而在上图时域中可以看出,输出信号的幅值下降到0.707倍。