基于MATLAB的FIR和IIR低通/带通滤波器实现

news/2025/10/19 5:55:45/文章来源:https://www.cnblogs.com/t435hh18/p/19148252

一、FIR低通滤波器

%% FIR低通滤波器设计
clear; clc; close all;% 参数设置
Fs = 1000;      % 采样率
Fc = 150;       % 截止频率
N = 64;         % 滤波器阶数% 生成测试信号(含50Hz/150Hz/300Hz成分)
t = 0:1/Fs:1;
signal = sin(2*pi*50*t) + 0.5*sin(2*pi*150*t) + 0.2*sin(2*pi*300*t);% 添加高斯噪声
noisy_signal = signal + 0.3*randn(size(t));% 设计FIR低通滤波器(汉明窗)
Wn = Fc/(Fs/2);
b = fir1(N, Wn, 'low', hamming(N+1));% 滤波处理
filtered = filter(b, 1, noisy_signal);% 频谱分析
NFFT = 2^nextpow2(length(signal));
Y = fft(noisy_signal, NFFT)/NFFT;
Y_filt = fft(filtered, NFFT)/NFFT;
f = Fs/2*linspace(0,1,NFFT/2+1);% 图形对比
figure;
subplot(2,2,1); plot(t, signal); title('原始信号');
subplot(2,2,2); plot(t, noisy_signal); title('含噪信号');
subplot(2,2,3); plot(t, filtered); title('滤波后信号');
subplot(2,2,4); plot(f, 20*log10(abs(Y(1:NFFT/2+1))));
hold on; plot(f, 20*log10(abs(Y_filt(1:NFFT/2+1))), 'r');
title('频谱对比'); legend('原始', '滤波后');

二、FIR带通滤波器

%% FIR带通滤波器设计
clear; clc; close all;% 参数设置
Fs = 2000;      % 采样率
Fpass = [300 800]; % 通带范围
Fstop = [200 1000];% 阻带范围
Ap = 1;         % 通带衰减(dB)
As = 40;        % 阻带衰减(dB)% 生成测试信号(含200Hz/500Hz/1000Hz成分)
t = 0:1/Fs:0.5;
signal = sin(2*pi*200*t) + sin(2*pi*500*t) + sin(2*pi*1000*t);% 添加噪声
noisy_signal = signal + 0.5*randn(size(t));% 计算最小阶数
N = firpmord(Fpass, Fstop, Ap, As, Fs);% 设计带通滤波器(等波纹法)
b = firpm(N, Fpass, [1 1], [1 0.5]);% 滤波处理
filtered = filter(b, 1, noisy_signal);% 频谱分析
NFFT = 2^nextpow2(length(signal));
Y = fft(noisy_signal, NFFT)/NFFT;
Y_filt = fft(filtered, NFFT)/NFFT;
f = Fs/2*linspace(0,1,NFFT/2+1);% 图形对比
figure;
subplot(2,2,1); plot(t, signal); title('原始信号');
subplot(2,2,2); plot(t, noisy_signal); title('含噪信号');
subplot(2,2,3); plot(t, filtered); title('滤波后信号');
subplot(2,2,4); plot(f, 20*log10(abs(Y(1:NFFT/2+1))));
hold on; plot(f, 20*log10(abs(Y_filt(1:NFFT/2+1))), 'r');
title('频谱对比'); legend('原始', '滤波后');

三、IIR低通滤波器

%% IIR低通滤波器设计
clear; clc; close all;% 参数设置
Fs = 1000;      % 采样率
Fc = 150;       % 截止频率
Rp = 1;         % 通带波纹(dB)
Rs = 40;        % 阻带衰减(dB)% 生成测试信号(含50Hz/150Hz/300Hz成分)
t = 0:1/Fs:1;
signal = sin(2*pi*50*t) + 0.5*sin(2*pi*150*t) + 0.2*sin(2*pi*300*t);% 添加噪声
noisy_signal = signal + 0.3*randn(size(t));% 设计巴特沃斯低通滤波器
[N, Wn] = buttord(Fc/(Fs/2), 1.2*Fc/(Fs/2), Rp, Rs);
[b,a] = butter(N, Wn, 'low');% 滤波处理
filtered = filter(b, a, noisy_signal);% 频谱分析
NFFT = 2^nextpow2(length(signal));
Y = fft(noisy_signal, NFFT)/NFFT;
Y_filt = fft(filtered, NFFT)/NFFT;
f = Fs/2*linspace(0,1,NFFT/2+1);% 图形对比
figure;
subplot(2,2,1); plot(t, signal); title('原始信号');
subplot(2,2,2); plot(t, noisy_signal); title('含噪信号');
subplot(2,2,3); plot(t, filtered); title('滤波后信号');
subplot(2,2,4); plot(f, 20*log10(abs(Y(1:NFFT/2+1))));
hold on; plot(f, 20*log10(abs(Y_filt(1:NFFT/2+1))), 'r');
title('频谱对比'); legend('原始', '滤波后');

四、IIR带通滤波器

%% IIR带通滤波器设计
clear; clc; close all;% 参数设置
Fs = 2000;      % 采样率
Fpass = [300 800]; % 通带范围
Fstop = [200 1000];% 阻带范围
Rp = 1;         % 通带波纹(dB)
Rs = 40;        % 阻带衰减(dB)% 生成测试信号(含200Hz/500Hz/1000Hz成分)
t = 0:1/Fs:0.5;
signal = sin(2*pi*200*t) + sin(2*pi*500*t) + sin(2*pi*1000*t);% 添加噪声
noisy_signal = signal + 0.5*randn(size(t));% 计算最小阶数
[N, Wn] = buttord(Fpass/(Fs/2), Fstop/(Fs/2), Rp, Rs);% 设计带通滤波器
[b,a] = butter(N, Wn, 'bandpass');% 滤波处理
filtered = filter(b, a, noisy_signal);% 频谱分析
NFFT = 2^nextpow2(length(signal));
Y = fft(noisy_signal, NFFT)/NFFT;
Y_filt = fft(filtered, NFFT)/NFFT;
f = Fs/2*linspace(0,1,NFFT/2+1);% 图形对比
figure;
subplot(2,2,1); plot(t, signal); title('原始信号');
subplot(2,2,2); plot(t, noisy_signal); title('含噪信号');
subplot(2,2,3); plot(t, filtered); title('滤波后信号');
subplot(2,2,4); plot(f, 20*log10(abs(Y(1:NFFT/2+1))));
hold on; plot(f, 20*log10(abs(Y_filt(1:NFFT/2+1))), 'r');
title('频谱对比'); legend('原始', '滤波后');

五、关键参数说明

参数 FIR设计建议 IIR设计建议
阶数选择 通常需较高阶数(32-128) 较低阶数(4-16)即可
相位特性 严格线性相位 非线性相位
设计方法 窗函数法/firpm 巴特沃斯/切比雪夫
抗噪性能 过渡带较陡峭 需更高阶数实现

六、扩展应用

  1. 实时滤波

    % 使用dsp.FilterCascade实现实时处理
    firFilter = dsp.FIRFilter('Numerator', b);
    iirFilter = dsp.BiquadFilter('SOSMatrix', [b a]);
    
  2. GUI界面开发

    % 使用App Designer创建交互界面
    fdesign = fdesign.bandpass('Fst,Fp1,Fp2,Fst',200,300,800,1000,Fs);
    d = design(fdesign,'equiripple');
    

七、完整工程文件结构

Filter_Design/
├── FIR_LP/
│   ├── main.m
│   └── plot_result.m
├── FIR_BP/
│   ├── main.m
│   └── plot_result.m
├── IIR_LP/
│   ├── main.m
│   └── plot_result.m
└── IIR_BP/├── main.m└── plot_result.m

相关代码 matlab FIR 底通和带通滤波器和IIR 底通和带通滤波器完整程序 www.youwenfan.com/contentcnj/50643.html

可清晰对比FIR和IIR滤波器在信号处理中的性能差异。实际应用中建议:

  • 对相位敏感场景优先选择FIR滤波器
  • 对计算资源有限场景选择IIR滤波器
  • 高频信号处理推荐使用等波纹设计法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/938987.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于模糊C均值聚类(FCM)的图像分割技术

图像分割是计算机视觉和图像处理中的关键步骤,而模糊聚类方法特别是模糊C均值(FCM)算法在这一领域表现出色。 模糊聚类图像分割概述 核心原理 模糊C均值聚类(FCM)是一种软聚类算法,它允许每个像素以不同的隶属度属于…

2025年广告衫厂家推荐排行榜,防静电/劳保/国网/餐厅/工厂/电工/防酸碱/电力/车间/航空/员工/文化衫/T恤/POLO衫/冲锋衣公司推荐!

2025年广告衫厂家推荐排行榜,防静电/劳保/国网/餐厅/工厂/电工/防酸碱/电力/车间/航空/员工/文化衫/T恤/POLO衫/冲锋衣公司推荐!随着企业对品牌形象和员工安全的重视程度不断提高,广告衫作为一种重要的宣传工具和工…

2025年管道安装厂家权威推荐榜单:专业施工与优质服务口碑之选!

2025年管道安装厂家权威推荐榜单:专业施工与优质服务口碑之选!随着城市化进程的不断推进,管道安装工程在基础设施建设中的重要性日益凸显。无论是住宅、商业还是工业项目,高质量的管道安装都是确保设施正常运行的关…

2025年流量控制器厂家推荐排行榜,气体流量控制器,液体流量控制器,智能流量控制器公司精选!

2025年流量控制器厂家推荐排行榜:气体、液体与智能流量控制器公司精选随着工业自动化和智能化的快速发展,流量控制器在各个行业中的应用越来越广泛。无论是气体流量控制器、液体流量控制器还是智能流量控制器,选择合…

2025年沸腾制粒机厂家权威推荐榜:沸腾制粒/湿法混合/摇摆制粒机,专业性能与客户口碑深度解析及优质品牌推荐!

2025年沸腾制粒机厂家权威推荐榜:沸腾制粒/湿法混合/摇摆制粒机,专业性能与客户口碑深度解析及优质品牌推荐!随着工业技术的不断进步和市场需求的日益多样化,沸腾制粒机、湿法混合制粒机以及摇摆制粒机等设备在制药…

2025年聚乙烯多功能防水篷布厂家推荐排行榜,耐用防水,户外必备优质品牌!

2025年聚乙烯多功能防水篷布厂家推荐排行榜,耐用防水,户外必备优质品牌!随着户外活动和工业需求的不断增加,聚乙烯多功能防水篷布成为了市场上备受关注的产品。这类篷布以其出色的防水性能、耐用性和多功能性,广泛…

2025年柴油发电机组厂家权威推荐榜:静音高效与持久耐用的行业首选!

2025年柴油发电机组厂家权威推荐榜:静音高效与持久耐用的行业首选!随着电力需求的不断增长和技术进步,柴油发电机组在各个领域中的应用越来越广泛。无论是工业生产、建筑施工还是应急备用电源,柴油发电机组都发挥着…

uml建模复习心得 - 2305

uml建模复习心得复习UML,各种图各有用途,但最核心、最需要下功夫理解的,无疑是类图。它直接决定了代码的结构和质量。 UML图快速回顾 结构图(静态):描述系统由什么组成,如类图、组件图。 行为图(动态):描述系…

SQL Server中关于 INSERTED.Id 与 SCOPE_IDENTITY() 获取新增数据的Id

前景: 通过程序将一个数据库的主表+子表的数据迁移至新的数据库,表的id未自增长,源数据存在删除的情况,所以需要获取插入数据新增id和旧id的比对关系数据 通过如下语句来获取新旧idBEGIN TRY BEGIN TRANSACTION;D…

2025年鸡精生产线/鸡精生产设备厂家推荐排行榜,高效节能与智能化生产之选!

2025年鸡精生产线/鸡精生产设备厂家推荐排行榜,高效节能与智能化生产之选!随着食品工业的不断发展,鸡精作为一种重要的调味品,其生产技术也在不断进步。高效的鸡精生产线和先进的生产设备是确保产品质量和生产效率…

设备二维码图片下载

package com.inovance.paas.tpm.infra.util; import org.apache.commons.compress.utils.IOUtils; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.*; im…

neural network中的tensor是什么?

在神经网络中,Tensor(张量) 是核心数据结构,用于表示和操作多维数组。它本质上是数学中张量概念的工程化实现,是标量、向量、矩阵在高维空间的自然扩展。以下从多个维度详细解释: 1. 数学本质:多维数组的泛化维…

2025年工厂维保,工厂机电维修,工厂应急维修,工厂运维服务厂家推荐排行榜,专业高效与全方位保障之选!

2025年工厂维保、工厂机电维修、工厂应急维修、工厂运维服务厂家推荐排行榜,专业高效与全方位保障之选!随着工业4.0时代的到来,制造业的自动化和智能化水平不断提升,工厂维保、机电维修、应急维修及运维服务的需求…

2025/10/17

Return on Investment(ROI) 投资回报率 - 最常用的商业术语 这是“ROI”最核心和最广泛使用的含义。 全称:Return on Investment 中文:投资回报率 定义:衡量一项投资盈利效率的指标,用于评估从投资中获得的回报与…

2025年视频拍摄服务权威推荐榜:创意剪辑与高清画质完美结合,打造视觉盛宴!

2025年视频拍摄服务权威推荐榜:创意剪辑与高清画质完美结合,打造视觉盛宴!随着数字化时代的到来,视频拍摄已成为企业宣传、品牌推广的重要手段。高质量的视频不仅能够吸引观众的注意力,还能有效提升品牌形象和市场…

2025年10月权威更新:门头/仿木纹板/拉网/铝复合板/锥芯板/太空舱/铝蜂窝板/铝单板厂家排行榜前十强推荐与选购指南四川汇才以实力登顶

随着建筑行业对装饰材料的品质、环保与定制化要求不断提升,铝单板市场竞争已从单一价格比拼转向综合实力较量。2025 年行业数据显示,头部厂家凭借规模化生产、技术创新与全链条服务占据市场主导。本榜单基于生产能力…

2025年网络推广服务商权威推荐榜单,SEO优化,SEM营销,社交媒体推广,内容营销公司推荐

2025年网络推广服务商权威推荐榜单:SEO优化、SEM营销、社交媒体推广、内容营销公司推荐随着数字化转型的加速,越来越多的企业开始重视网络推广,希望通过SEO优化、SEM营销、社交媒体推广和内容营销等手段提升品牌影响…

日志分析-Tomcat日志分析

日志分析-Tomcat日志分析 简介 小王在自己的服务器上安装配置了Tomcat,并写了几个简单的网页。但由于安全意识不足,很快就被攻击者利用了。请你帮他排查一下存在的安全问题。 RDP 端口3389 用户名/密码:Administrat…