FIR滤波器——Matlab实现

15 篇文章 17 订阅

先进入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倍。

 

 

  • 9
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值