fir 低通 matlab,用MATLAB设计FIR滤波器
滤波器
滤波器定义
“滤波器(filter),是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。”
滤波器种类
滤波器按照频率来分类,可分为高通、低通、带通、带阻以及全通滤波器,根据所需选择合适滤波器。
滤波器设计
滤波器的设计方法可分为两大类,一类是IIR,另一类是FIR。对于FIR的设计,一般可以采用等波纹以及窗的方法。
滤波器设计要求
采样频率50khz,带通滤波器,通带15KHz,阻带20KHz,阻带衰减50dB,用凯撒窗设计带通滤波器。
Matlab程序设计滤波器
首先在Matlab中设置所需参数:
fs = 50000;
T = 1/fs;
L = 4000;
t = (0:L-1)*T;1
2
3
4
然后从r32文件中读取信号数据:
filename=['文件路径'];
fid=fopen(filename,'r');
Na=4000;
dat=fread(fid,[32,Na],'float');
data=dat(1,:); %data即为所导入信号1
2
3
4
5
绘制信号时域图:
plot(t,data)1
得到:
再对其进行FFT:
NFFT = 2^nextpow2(L);
Y = fft(data,NFFT)/L;
f=fs/2*linspace(0,1,NFFT/2+1);
figure
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-sided Amplitude Spectrum of y(t)')
xlabel('Frequency(Hz)')
ylabel('|Y(f)|')1
2
3
4
5
6
7
8
得到:
设计滤波器:
fs = 50000;
f = [13000 15000 20000 22000];
dev = [0.01 0.02 0.01];
a = [0 1 0];
[n,wn,beta,ftype] = kaiserord(f,a,dev,fs);
b = fir1(n,wn,'bandpass');
freqz(b)1
2
3
4
5
6
7
得到滤波器的幅值相位图:
所设计滤波器的分子系数存于b中,使所给信号通过所设计的滤波器,所用程序如下:
d=filter(b,1,data);
plot(t,d)1
2
得到滤波后的信号时域图:
对其进行FFT:
Y _af= fft(d,NFFT)/L;
f_af=fs/2*linspace(0,1,NFFT/2+1);
figure
plot(f_af,2*abs(Y_af(1:NFFT/2+1)))
xlabel('Frequency(Hz)')1
2
3
4
5
得到:
利用Matlab工具箱设计滤波器
另外,还有一种更加快捷的设计方法,即使用Matlab自带的工具箱filterDesigner来设计滤波器:
在Matlab的命令行窗口中输入filterDesigner,得到如下窗口:
通过选择设置,可以得到滤波器的系数,以本题为例:
其系数如下:
可对其到处头文件,进行数据处理。
总结
本人对于数字信号处理这门课的学习比较冲忙,对于很多知识点都是比较模糊,希望在后续所需时能够进一步的加深理解。
在FIR滤波器设计的过程中,遇到一个比较困惑的点是,根据其他的案例,滤波器系数是包含分子系数以及分母系数,但本例产生的滤波器仅含分母系数,比较困惑,请大佬们指教!
文章来源: blog.csdn.net,作者:aPei2015,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/aPei2015/article/details/113330808
fir 低通 matlab,用MATLAB设计FIR滤波器相关推荐
- c语言 汉宁窗,汉宁窗设计线性相位FIR低通数字滤波器.docx
MACROBUTTON MTEditEquationSection2 SEQ MTEqn \r \h \* MERGEFORMAT SEQ MTSec \r 1 \h \* MERGEFORMAT S ...
- FIR 基础应用 - AM 调幅波调制解调(FIR 低通滤波)
本文链接:https://blog.csdn.net/qq_46621272/article/details/125334644 FIR 基础应用 - AM 调幅波调制解调(FIR 低通滤波) 文章目 ...
- FIR 基础应用 - FM 调频波调制解调(FIR 低通滤波)
本文链接:https://blog.csdn.net/qq_46621272/article/details/125337119 FIR 基础应用 - FM 调频波调制解调(FIR 低通滤波) 文章目 ...
- 低通采样的matlab实现,基于matlab的FIR滤波器设计(低通,频率取样法)
基于matlab的FIR滤波器设计(低通,频率取样法)一.参考程序 M=63;%所需频率采样点个数 Wp=0.5*pi;%通带截止频率 m=0:(M+1)/2;%通频带上的采样点 Wm=2*pi*m. ...
- fir 低通 matlab,MATLAB常用的FIR滤波器设计方法之窗函数法
FIR滤波器很多工科出身的人都不会陌生,在我们的学习和工作中,也常常需要设计FIR滤波器.因为FIR滤波器有两个特点:滤波器是稳定的以及具有线性相位.FIR滤波器在信号处理相关领域当然也包括本人所在的 ...
- matlab使用矩形窗设计一个具有线性相位的低通数字滤波器,用矩形窗设计一个FIR线性相位低通数字滤波器...
1 用矩形窗设计一个FIR线性相位低通数字滤波器.已知215.0Nc.求出nh并画出log20jeH曲线.分析此题给定的是理想线性相位低通滤波器故.-- 0- ccccjjdeeH 解deeHnhnj ...
- MATLAB窗函数法设计FIR 数字滤波器
一.实验目的 1. 熟悉线性相位 FIR 数字滤波器特性. 2. 了解各种窗函数对滤波特性的影响. 3. 掌握用窗函数法设计 FIR 数字滤波器的原理.方法及计算机编程. 此时的h(n) 是有限长的, ...
- 模拟低通原型滤波器的MATLAB设计
一.实验目的 1.掌握巴特沃兹.切比雪夫Ⅰ.Ⅱ型和椭圆型模拟滤波器的特性和技术指标. 2.掌握用MATLAB 设计巴特沃兹.切比雪夫Ⅰ.Ⅱ型和椭圆型低通滤波器的方法. 二.实验原理 1.巴特沃兹低通数 ...
- 低通采样定理 matlab,基于matlab的低通抽样定理仿真
基于matlab的低通抽样定理仿真 DSP 课 程 设 计 专业: 电子信息技术工程 年级: 2011 级 不 姓名: 陈兰兰 学号: 20113015 指导教师: 刘 德 春 阿坝师专电子信息工程系 ...
- 低通采样定理 matlab,基于Matlab的低通抽样定理仿真.docx
DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: 陈兰兰学号: 指导教师: 刘 德 春 阿坝师专电子信息工程系DSP课程设计专业: 电子信息技术工程 年级: 2011级 不姓名: ...
最新文章
- iOS 11 安全区域适配总结
- 洛谷P1467 循环数 Runaround Numbers
- 论文解析:人脸检测中级联卷积神经网络的联合训练
- 发起一个ajax请求,发送ajax请求
- C++中运算符重载的方法
- Centos安装后的一些必要处理工作
- pom文件内标签的讲解
- 如何关闭来自苹果的个性化广告?
- linux上pybind11编辑python库
- poj 1276 Cash Machine(多重背包)
- MFC开发wps演示
- 指南-AT应用指南-AT指令指南-音频播放和TTS
- IDEA的常用快捷键(超详细)
- 高德地图API之定位API
- Python爬虫学习总结
- 苹果iWork,看上去很美
- 很受打动的一篇文章,很幽默让人想看完。
- linux-物理内存不够,swap交换内存来凑
- Linux操作提示:“Cant open file for writing”或“operation not permitted”的解决办法
- 请用面向对象的思想,谈一谈这次面试的过程
热门文章
- sdX和hdX含义及其他安装Linux OS的总结
- python爬虫——爬取b站APP视频信息(通过fiddler抓包工具)
- java高级教程pdf_Java高级特性编程及实战 PDF 下载
- java实现jsp转pdf,使用Java生成Pdf文档-JSP教程,Java技巧及代码
- 【spring】spring源码搭建
- linux odbc 配置文件,linux操作系统配置ODBC数据源
- 韩顺平php从入门到精通讲义,传智播客_韩顺平_php从入门到精通
- Win11怎么卸载软件?Win11彻底卸载软件教程
- bat命令 延迟执行
- java前端学习路线_Java前端需要学什么?Java前端学习路线分享