matlab滤波器脉冲响应,用Matlab设计一个带通有限长FIR冲激响应滤波器

1 设计要求

给定一个2kHz的正弦波,它受到一个均值为0,方差为0.01的白噪声干扰。用SPTool设计一个数字带通FIR滤波器来抑制此宽带噪声,以增强所需要的2kHz正弦波。此带通滤波器是根据以下的指标要求进行设计的:

(1). 此带通滤波器的截止频率约为1800Hz和2200Hz。

(2). 通带波纹约为1.5dB,阻带衰减约为35dB。

(3). 滤波器为线性相位滤波器。

(4). 应使用具有最低阶数的设计方法。

2 设计步骤 2.1 生成2kHz正弦波

利用Matlab生成2kHz正弦波,Matlab脚本如下:(singen.m)

clc

clear

t=1; %s 采样时长

F=2000; %Hz 源正弦信号频率

Fs=10000; %Hz 采样频率

n=0:t*Fs; %采样时间序列

in=sin(2*pi*F/Fs*n)+0.1*randn(1,t*Fs+1); %生成序列并加方差为0.01的白噪声干扰

savein.datin–ascii %生成的信号存于in.dat文件中

plot(n./Fs,in);

xlim([0,0.0005])

注意:randn默认产生方差为1的白噪声序列,则0.1*randn产生方差为0.01的白噪声序列。产生信号的第一个周期图像如下:

faae5f45277f0df7021f29637ea89324.gif

在cmd中键入sptoo,打开SPTool窗口。

单击File->import。由workspace中导入信号in及其采样频率7313f4bac2197db79c6aa60f7156e6a2.gif分别导入Data和Sampling Frequency中,并在Name标签中用in代替sig1,然后单击OK。

8dafb4b71c7cd40e8d5a2c3fcb2f6992.png

9bd2f790a08500f1c4d79c4cdc70c78c.png

点击上图View按钮,得到输入信号的时域波形如下图:

59bb8e14ea920b11cb9291e33a671459.png

单击上图箭头所示按钮,放大信号可得下图:

afbc8990c571a02afec3b47bfbdd3c4d.png

选中in信号,在spectra中点击create按钮将弹出频谱分析窗口,如下图:

5df26c3076ca053d51b4923ceba8b1fc.png

此时点击Apply,即可产生功率谱估计曲线:

a3d5090e4620d00d86c903d1d906baaf.png

可以看出此正弦波2KHz为主要频率。

2.2 根据指标设计滤波器

转回SPTool界面,单击滤波器设计列表下的New按钮打开FDATool。

73e4b5a72dcc03e50246492098514a41.png

531f5a8e8939bb253cb0cbb5e9b52c4e.png

根据滤波器指标填写设计器。

2923eee9dd04d900db2b3b2459df861e.png

点击DesignFilter 得到所设计的滤波器如下:

9834c6c5549f92b44338ccb4038462e2.png

此时可以关掉FDATool,回到SPTool中,滤波器列表中多出了filter1,点击View可以进入FVT,在SPTool的主窗口中突出显示in和filter1,如下图:

6d366c599226efb8c32943a1802ce900.png

点击Filters栏下的Apply按钮即可应用filt1进行in信号的滤波。

此时弹出输出选项按如下图配置

af4cb28fe331a3e9e64fc9ab372b3885.png

点击OK后输出信号out即在Signals列表中。

3 实验结果

Out信号的图像如下图所示,可以点击窗口上的喇叭分别听取滤波前后的声音信号,可以发现滤波之后的信号明显要比滤波前清晰。

9c008fab4953fcd21e7c18b89db1e011.png

滤波前后频谱比较:

b0cb90da6f59ed5d87b7d9cf90333060.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值