MATLAB函数fir1「建议收藏」

MATLAB函数fir1「建议收藏」fir1基于窗函数的fir滤波器设计;主要形式:b=fir1(n,Wn)b=fir1(n,Wn,ftype)b=fir1(___,window)b=fir1(___,scaleopt)系数的含义n—滤波器阶数。Wn—截止频率,0≤Wn≤1,Wn=1对应于采样频率的一半。当设计带通和带阻滤波器时,Wn=[W1W2],W1≤…

大家好,又见面了,我是你们的朋友全栈君。

fir1

基于窗函数的fir滤波器设计;

主要形式:

b = fir1(n,Wn)

b = fir1(n,Wn,ftype)

b = fir1(___,window)

b = fir1(___,scaleopt)

系数的含义

n  — 滤波器阶数。

Wn — 截止频率, 0≤Wn≤1,

Wn=1 对应于采样频率的一半。

数字角频率w、模拟角频率Ω之间的关系为 w=Ω/Fs,所以  w = 2*pi*f/Fs  ,f为模拟频率;

例如截止频率为300HZ,采样频率为1000HZ,(这里的频率都是模拟频率)换算成数字角频率为  截止频率为 0.6pi  rad/sample  而Wn就是0.6;

当设计带通和带阻滤波器时, Wn=[W1 W2],W1≤ω≤W2。

ftype — 当指定 ftype 时,可设计高通和带阻滤波器。ftype = high 时,设计高通 FIR 滤波器;

ftype=stop 时设计带阻 FIR 滤波器。低通和带通 FIR滤波器无需输入 ftype 参数。

Window — 窗函数。窗函数的长度应等于FIR 滤波器系数个数,即阶数 n+1。

n — 滤波器阶数,默认为汉明窗。

b为生成的滤波器系数,、。

解释:

b = fir1(n,Wn)使用汉明窗来设计具有线性相位的n阶低通,带通或多频FIR滤波器。滤波器类型取决于Wn的元素数量。

b = fir1(n,Wn,ftype)设计低通,高通,带通,带阻或多频带滤波器,取决于ftype的值和Wn的元素数量。

b = fir1(___,window)使用window中指定的向量和先前语法中的任何参数设计过滤器。

b = fir1(___,scaleopt)另外指定滤波器的幅度响应是否被归一化。

注意:对于具有任意频率响应的窗口滤波器,请使用fir2。

设计一个48阶FIR带通滤波器,通带为0.35π≤ω≤0.65π rad/ sample。
 其幅度和相位响应。如下所示:

b = fir1(48,[0.35 0.65]);
freqz(b,1,512)

MATLAB函数fir1「建议收藏」

实例2

加载chirp.mat。
该文件包含一个信号y,其大部分功率高于Fs / 4,或奈奎斯特频率的一半。 采样率为8192 Hz。设计一个34阶FIR高通滤波器,以衰减低于Fs / 4的信号分量。 使用0.48的截止频率和30 dB纹波的Chebyshev窗口。

load chirp

t = (0:length(y)-1)/Fs;

bhi = fir1(34,0.48,'high',chebwin(35,30));
freqz(bhi,1)

MATLAB函数fir1「建议收藏」

过滤信号。 显示原始和高通滤波信号。 对两个图使用相同的y轴刻度。

outhi = filter(bhi,1,y);

subplot(2,1,1)
plot(t,y)
title('Original Signal')
ys = ylim;

subplot(2,1,2)
plot(t,outhi)
title('Highpass Filtered Signal')
xlabel('Time (s)')
ylim(ys)

MATLAB函数fir1「建议收藏」

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160786.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python 对selenium框架进行二次封装,原来如此简单

    python 对selenium框架进行二次封装,原来如此简单

    2021年11月10日
    54
  • sql查询序列是否存在_oracle if判断是否为空

    sql查询序列是否存在_oracle if判断是否为空sql如下:selectsequence_namefromuser_sequenceswheresequence_name=’参数’需要注意的是oraclesequence参数必须转换成大写。例子:(这是使用simple框架实现)//判断oraclesequence是否已经存在publicstaticbooleanisSequenceExi…

    2022年10月10日
    4
  • tensor数据转cpu——gpu的tensor转numpy

    tensor数据转cpu——gpu的tensor转numpy仅作为记录,大佬请跳过。用target.cpu().numpy()展示参考传送门

    2022年10月18日
    5
  • 南大lamda实验室失败面经分享「建议收藏」

    南大lamda实验室失败面经分享「建议收藏」2019年保研基本上尘埃落定,博主最后去了北大信科读研。关于北大的夏令营,把北大往年的夏令营真题刷一刷https://blog.csdn.net/caozixuan98724/article/details/93521208,面试就个凭造化了。值得说的内容不多,反而是最早开始的南大一行,值得说的地方很多,非常有趣,作为我参加的第一个保研面试,跪的一塌糊涂。初审首先先讲lamda实验室的初审…

    2022年4月29日
    98
  • pycharm pyinstaller打包exe_pip安装第三方库失败

    pycharm pyinstaller打包exe_pip安装第三方库失败1.安装时打开AnacondaPrompt,然后cdD:\Anaconda3\pkgs打开路径,输入安装命令:pipinstallPyInstaller。最后输入piplist查看2.调出terminal终端,输入命令例如pyinstaller-F-wvipvideoplay2.py点击回车如图:输入指定命令后会在当前目录下生产dist文件夹,dist文件夹下为生成的exe文件参数说明:-F:将所有库文件打包成一个exe-w:隐藏黑色控制台窗口如果不加-F参数会生成很多文

    2022年8月27日
    6
  • 怎么安装linux和win10双系统,在Win10下安装Linux双系统的方法

    怎么安装linux和win10双系统,在Win10下安装Linux双系统的方法虽然Win10正式版发布的时间并不长,但是现在使用这个新系统的用户已经非常多了。而最近有位用户因为工作需求,想要在全新的windows10系统中安装Linux双系统。那么,这该如何操作呢?下面,小编就给大家分享下在Win10下安装Linux双系统的具体方法。具体方法如下:不管您要安装哪种Linux系统,首先给硬盘划分一个空白分区。win8.1-14、准备LinuxMint启动盘启动电脑,进入…

    2022年7月24日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号