1.matlab设计fir滤波器的方法

matlab可以使用fir1函数设计低通、高通、低通、带通等具有严格线性相位特性的滤波器。
fir1函数的几种语法如下:

    b=fir1(n,wn);b=fir1(n,wn,'ftype');b=fir1(n,wn,'ftype',window)b=fir1(...,'noscale')

各个参数的含义:

  • b:返回fir滤波器的单位脉冲相应,偶对称,长度为n+1;
  • n:滤波器的阶数,设计出的滤波器长度为n+1;
  • wn:滤波器的截止频率,取值范围0<wn<1,1对应采样频率的1/2。当需要设计低通/高通滤波器,wn是单个值的,即截至频率,ftype参数是low/high;;当设计带通/带阻滤波器时,wn由两个数组成的向量[wn1 wn2],ftype参数是bandpass/stop;
  • window:指定使用的窗函数,默认是汉明窗(Hamming),最常用的还有汉宁窗(Hanning)、布莱克曼窗(Blackman)、凯赛窗(Kaiser);
  • noscale:指定归一化滤波器的幅度‘

2.fir1函数设计滤波器

设计滤波器,采用汉明窗,长度41(阶数40),采样频率2000hz:

  • 1.低通,截至频率200hz;
  • 2.高通,截至频率200hz;
  • 3.带通,通带200-400hz;
  • 4.带阻,阻带200-400h’z
clear all; close all; clc;
% 滤波器长度
N=41;
%采样频率
fs=2000;%各种滤波器的特征频率
fc_lpf=200;
fc_hpf=200;
fp_bandpass=[200 400];
fc_stop=[200 400];%以采样频率的一般,对频率归一化
wn_lpf=fc_lpf*2/fs;
wn_hpf=fc_hpf*2/fs;
wn_bandpass=fp_bandpass*2/fs;
wn_stop=fc_stop*2/fs;%采用fir1函数设计FIR滤波器
b_lpf=fir1(N-1,wn_lpf);
b_hpf=fir1(N-1,wn_hpf,'high');
b_bandpass=fir1(N-1,wn_bandpass,'bandpass');
b_stop=fir1(N-1,wn_stop,'stop');%求幅频响应
m_lpf=20*log(abs(fft(b_lpf)))/log(10);
m_hpf=20*log(abs(fft(b_hpf)))/log(10);
m_bandpass=20*log(abs(fft(b_bandpass)))/log(10);
m_stop=20*log(abs(fft(b_stop)))/log(10);% 设置频率响应的横坐标单位为hz
x_f=0:(fs/length(m_lpf)):fs/2;% 单位脉冲响应
subplot(4,2,1);stem(b_lpf);xlabel('n');ylabel('h(n)');legend('lpf');
subplot(4,2,3);stem(b_hpf);xlabel('n');ylabel('h(n)');legend('hpf');
subplot(4,2,5);stem(b_bandpass);xlabel('n');ylabel('h(n)');legend('bandpass');
subplot(4,2,7);stem(b_stop);xlabel('n');ylabel('h(n)');legend('stop');% 幅频响应
subplot(4,2,2);plot(x_f,m_lpf(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('lpf')
subplot(4,2,4);plot(x_f,m_hpf(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('hpf')
subplot(4,2,6);plot(x_f,m_bandpass(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('bandpass')
subplot(4,2,8);plot(x_f,m_stop(1:length(x_f)));xlabel('频率(hz)');ylabel('幅度(db)','fontsize',8);legend('stop');

仿真脉冲相应和幅频响应图:

3.滤波

前面已经设计了低通,带通,高通的滤波器,根据参数设置得到了滤波器系数:

b_lpf、b_hpf、b_bandpass、b_stop

假设我们现在由原始数据xx,要对xx进行滤波,得到数据yy,在matlab应该怎么操作呢

就一句:

yy=filter(b_lpf,1,xx);

matlab的FIR滤波器设计相关推荐

  1. fir滤波器等纹波matlab,基于Matlab的FIR滤波器设计与实现

    基于Matlab的FIR滤波器设计与实现 一.摘要 前面一篇文章介绍了通过FDATool工具箱实现滤波器的设计,见"基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成&quo ...

  2. 低通采样的matlab实现,基于matlab的FIR滤波器设计(低通,频率取样法)

    基于matlab的FIR滤波器设计(低通,频率取样法)一.参考程序 M=63;%所需频率采样点个数 Wp=0.5*pi;%通带截止频率 m=0:(M+1)/2;%通频带上的采样点 Wm=2*pi*m. ...

  3. 长时间数据流的信号滤波处理——基于MATLAB的FIR滤波器设计(1)

    背景 对于任意一个场景,获取到的信号都是经过噪声污染过的,一些简单的加性噪声可以通过统计的特性进行滤除,而对于一些乘性的噪声,只能通过滤波进行滤除. 在信号处理中,信号滤波会广泛使用.在做研究分析信号 ...

  4. matlab凯塞窗低通fir滤波器,基于Matlab的FIR滤波器设计与实现

    一.摘要 前面一篇文章介绍了通过FDATool工具箱实现滤波器的设计,见" 二.实验平台 Matlab7.1 三.实验原理 以低通滤波器为例,其常用的设计指标有: 通带边缘频率fp(数字频率 ...

  5. Matlab:FIR滤波器设计和音频信号滤波去噪

    1. 窗函数法 [x,fs,bits]=wavread('test01.wav'); %sound(x,fs,bits); %按指定的采样率和每样本编码位数回放 N=length(x) % 计算信号x ...

  6. stm32使用dsp库,结合Matlab进行FIR滤波器设计

    首先我们打开Matlab.在命令串口输入fdatool,按回车. Response Type :这里可以设置滤波器类型 lowpass(低通),highpass(高通),banpass(带通),ban ...

  7. matlab滤波器设计工具箱带阻滤波器,用matlab信号处理工具箱进行fir滤波器设计的三种方法...

    用matlab信号处理工具箱进行fir滤波器设计的三种方法 摘 要 介绍了利用 MATLAB 信号处理工具箱进行 FIR 滤波器设计的三种方法:程序设计法. FDATool 设计法和 SPTool 设 ...

  8. 基于MATLAB的IIR滤波器设计与实现

    基于MATLAB的IIR滤波器设计与实现 IIR滤波器的设计主要有经典设计法.直接设计法和最大平滑滤波器设计法三种方法. 1.经典设计法是基于模拟滤波器的变换原理,首先根据滤波器的技术指标设计出相应的 ...

  9. FIR滤波器设计(包括Verilog HDL设计以及MATLAB设计)

    FIR滤波器设计 滤波器原理:滤波器就是对特定的频率或者特定频率以外的频率进行消除的电路,被广泛用于通信系统和信号处理系统中.从功能角度,数字滤波器对输入离散信号的数字代码进行运算处理,以达到滤除频带 ...

最新文章

  1. Science Bulletin:绝对丰度的植物根际微生物群落“扩增-选择”模型
  2. mina处理断包和粘包
  3. android 开发规范1
  4. JAVA程序设计----集合基础之Collection
  5. 文献阅读(part3)--Self-taught Clustering
  6. openstack实例控制台显示响应时间过长_监控OpenStack的技巧
  7. 老司机找BUG指南,赶紧拿走。。
  8. 不使用JavaScript实现菜单的打开和关闭
  9. 你知道生气有多可怕吗?“气死人”是有科学依据的
  10. HDU 4932 Miaomiao#39;s Geometry(推理)
  11. 创业在微软——微软亚洲工程院成长启示(双色)
  12. IO流(二)__BufferedReader和BufferedWriter
  13. 2022年Java常用的框架汇总,你常用哪一个?
  14. 未来世界的幸存者-读书笔记
  15. CentOS 、Linux 配置国内阿里源、yum源镜像
  16. Lumerical官方案例、FDTD时域有限差分法仿真学习(十七)——Y分支功分器
  17. mmm monitor mysql_MySQL(MMM架构使用)
  18. python刷直播人气_python3爬取斗鱼某些版块的主播人气
  19. 常见的五种神经网络(3)-循环神经网络(上)篇
  20. 意念控制四旋翼 学习笔记

热门文章

  1. 国海证券:股票仍是最佳投资品种
  2. Centos8漏扫 ICMP timestamp请求响应漏洞允许Traceroute探测 的解决方法
  3. 企业战略的历史和重要性
  4. 这也太让人大开眼界了,你有没有见过的这样spring boot项目启动图案
  5. Qt使用QFontDatabase类加载第三方字体
  6. 将python项目打包成exe(Pyinstaller 和 Nuitka)
  7. Binder 学习笔记
  8. 30秒制作幻灯片 Cleaver
  9. 炉石传说android版多大内存,炉石传说手机版对手机配置要求高吗? 炉石传说手机版最低配置详细介绍[图]...
  10. 网易游戏FairScheduler迁移CapacityScheduler实践