基于MATLAB的数字滤波器之低通滤波器 您所在的位置:网站首页 matlab单位冲激函数怎么写 基于MATLAB的数字滤波器之低通滤波器

基于MATLAB的数字滤波器之低通滤波器

2023-09-24 22:40| 来源: 网络整理| 查看: 265

目录

一、低通滤波器简介

1.概念

2.原理

二、低通滤波器的设计

1.技术指标

2.设计步骤

三、MATLAB代码

参考文献

一、低通滤波器简介 1.概念

数字低通滤波器就是让低于截止频率的信号通过,而高于截止频率的信号将被阻止通过。基于这种工作方式,低通滤波器可以将信号中的高频分量去掉,保留低频分量,进而达到去除高频噪声的目的。

2.原理

数字滤波器可以用一个常系数线性差分方程来表示,该方程称为滤波器的系统函数。通过建立理想的数字滤波器模型,再利用数字滤波器的设计方法,就可得到一个逼近该模型的实际滤波器。

二、低通滤波器的设计 1.技术指标

通带截止频率Wp,阻带起始频率Ws, 通带纹波系数Rp(dB),阻带衰减系数Rs(dB)。

2.设计步骤

(1)确定技术指标:Wp,Ws,Rp,Rs;

(2)计算滤波器的最低阶数n和3dB截止频率Wn;

(3)计算系统函数H(z)的分子、分母多项式系数;

(4)计算系统函数H(z)的幅频响应。

三、MATLAB代码 %% 主函数-----------信号去噪 clc; clear; close all; % 产生数据 Fs=4000; % 信号的采样频率 t=(0:1/Fs:(1-1/Fs))'; x1=3*sin(200*pi*t+pi/4); x2=2*cos(1000*pi*t); x=x1+x2; [m,n]=size(x); % m为信号点数 Rp=4; % 通带纹波系数 Rs=20; % 阻带衰减系数 fp=250; % 通带截止频率 fs=400; % 阻带起始频率 [b,a] = Buttord_Filter(fp,fs,Rp,Rs,m,Fs); y=filter(b,a,x); % filter函数实现IIR滤波器的直接形式 figure; subplot(2,1,1);plot(x); subplot(2,1,2);plot(y); function [b,a] = Buttord_Filter(Wp,Ws,Rp,Rs,N,Fs) %% 设计巴特沃斯低通滤波器 % 滤波器设计参数(计算归一化角频率) Wp=Wp/(Fs/2); % 通带截止频率 Ws=Ws/(Fs/2); % 阻带起始频率 % 计算滤波器的最低阶数n和3dB截止频率Wn [n,Wn]=buttord(Wp,Ws,Rp,Rs); % 计算系统函数H(z)的分子、分母多项式系数 [b,a]=butter(n,Wn); % 计算系统函数H(z)的幅频响应:freqz(b,a,计算点数,采样速率); [H,F]=freqz(b,a,N,Fs); % 计算滤波器的相位 pha=angle(H)*180/pi; %% 低通滤波器的幅频特性 figure; subplot(2,1,1);plot(F,20*log10(abs(H))); xlabel('频率(Hz)');ylabel('幅值(dB)'); axis tight; grid on; subplot(2,1,2);plot(F,pha); xlabel('频率(Hz)');ylabel('相位'); axis tight; grid on; title('低通滤波器'); end 参考文献

[1]沈再阳. MATLAB信号处理[M]. 北京:清华大学出版社,2017:214–233.

[2]基于matlab的心电信号预处理



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有