Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Matlab中窗函数的简单使用

Matlab中窗函数的简单使用

作者头像
AIHGF
发布于 2019-02-18 02:54:53
发布于 2019-02-18 02:54:53
3.6K0
举报
文章被收录于专栏:AIUAIAIUAI

一、摘要

这里主要是对窗函数的简单应用做些介绍,是在已知滤波器阶数的情况下,设计滤波器。多数情况下,在不能直接知道滤波器阶数的时候,可参考“http://www.cnblogs.com/sunev/archive/2011/11/23/2260579.html”。

二、MATLAB中的窗函数

(1)矩形窗(Rectangle Window)     调用格式:w=boxcar(n),根据长度 n 产生一个矩形窗 w。

(2)三角窗(Triangular Window)    调用格式:w=triang(n),根据长度 n 产生一个三角窗 w。

(3)汉宁窗(Hanning Window)       调用格式:w=hanning(n),根据长度 n 产生一个汉宁窗 w。

(4)海明窗(Hamming Window)       调用格式:w=hamming(n),根据长度 n 产生一个海明窗 w。

(5)布拉克曼窗(Blackman Window)  调用格式:w=blackman(n),根据长度 n 产生一个布拉克曼窗 w。

(6)恺撒窗(Kaiser Window)        调用格式:w=kaiser(n,beta),根据长度 n 和影响窗函数旁瓣的β参数产生一个恺撒窗w。

三、基于窗函数的 FIR 滤波器设计

利用 MATLAB 提供的函数 fir1来实现

调用格式:fir1(n,Wn,’ftype’,Window),n 为阶数、Wn 是截止频率(如果输入是形如[W1 W2]的矢量时,本函数将设计带通/带阻滤波器。

[例]设计一个长度为 8 截止频率为0.4π的线性相位 FIR 滤波器。

用矩形窗:

Window=boxcar(8);

b=fir1(7,0.4,Window);

freqz(b,1)

用blackman窗:

Window=blackman(8);

b=fir1(7,0.4,Window);

freqz(b,1)

[例] 设计线性相位带通滤波器,其长度N=15,上下边带截止频率分别为W1= 0.3π,W2=0.5π

Window=blackman(16);

b=fir1(15,[0.3 0.5],Window);

freqz(b,1)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年03月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
本文使用 DDS 生成三个信号,并在 Vivado 中实现低通滤波器。低通滤波器将滤除相关信号。
FPGA技术江湖
2025/02/21
810
FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
matlab实现不同窗滤波器示例
在Matlab中使用汉明窗设计低通滤波器可以通过fir1函数实现。汉明窗通常用于设计滤波器,可以提供更突出的频率特性。
FPGA开源工作室
2024/03/02
4060
matlab实现不同窗滤波器示例
基于Matlab的FIR滤波器设计与实现
前面一篇文章介绍了通过FDATool工具箱实现滤波器的设计,见“基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成”,这里通过几个例子说明采用Matlab语言设计FIR滤波器的过程。
AIHGF
2019/02/18
2.2K0
MATLAB函数fir1「建议收藏」
数字角频率w、模拟角频率Ω之间的关系为 w=Ω/Fs,所以 w = 2*pi*f/Fs ,f为模拟频率;
全栈程序员站长
2022/09/13
2K0
MATLAB函数fir1「建议收藏」
【DSP教程】第36章 FIR滤波器的Matlab设计(含低通,高通,带通和带阻)
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第36章 FIR滤波器的Matlab设计(含低通,高通,
Simon223
2021/07/19
3.9K0
【DSP教程】第36章       FIR滤波器的Matlab设计(含低通,高通,带通和带阻)
【DSP教程】第43章 IIR滤波器的Matlab设计
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第43章 IIR滤波器的Matlab设计 本章节讲解II
Simon223
2021/08/18
2.1K0
【DSP教程】第43章       IIR滤波器的Matlab设计
FIR 带通滤波器设计
%本文将针对一个含有 5Hz 、 15Hz 和 30Hz 的混和正弦波信号, 设计一个 FIR 带通滤波器, %给出利用 MATLAB 实现的三种方法: 程序设计法、 FDATool 设计法和 SPTool 设计法。 参 %数要求:采样频率 fs=100Hz ,通带下限截止频率 fc1=10 Hz ,通带上限截止频率 fc2=20Hz ,过渡带宽 6 Hz,通阻带波动 0.01 ,采用凯塞窗设计。 fc1 =10 ; fc2 =20 ; fs=100 ; [n,Wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100); %得出滤波器的阶数 n=38 , beta=3.4 w1=2*fc1/fs; w2=2*fc2/fs;% 将模拟滤波器的技术指标转换为数字滤波器的技术指 window=kaiser(n+1,beta);% 使用 kaiser 窗函数 b=fir1(n,[w1 w2],window); %使用标准频率响应的加窗设计函数 fir1 freqz(b,1,512);% 数字滤波器频率响应 t = (0:100)/fs; s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);% 混和正弦波信号 sf = filter(b,1,s); %对信号 s 进行滤波
全栈程序员站长
2022/08/18
7770
FIR 带通滤波器设计
基于MATLAB的数字信号处理(5) FIR数字滤波器设计及软件实现
MATLAB函数 fir1 和 fftfilt 的功能及其调用格式可以用 help 命令查阅;
叶庭云
2021/12/01
8.9K0
基于MATLAB的数字信号处理(5)    FIR数字滤波器设计及软件实现
FIR数字滤波器设计(下)
今天给大侠带来FIR数字滤波器设计,由于篇幅较长,分三篇。今天带来第三篇,FIR数字滤波器设计,包括窗函数法设计FIR滤波器、频率采样法设计FIR滤波器以及基于firls函数和remez函数的最优化方法设计FIR滤波器。话不多说,上货。
FPGA技术江湖
2021/04/21
2.5K0
FIR数字滤波器设计(下)
MATLAB语音信号处理「建议收藏」
数字信号处理课设,我们使用MATLAB对语音信号进行了一系列处理,并将其所有功能集中于下图界面中:
全栈程序员站长
2022/09/01
4.1K0
MATLAB语音信号处理「建议收藏」
Matlab数字滤波器设计实践—FIR
在理想情况下,低通滤波器使信号中低于指定截止频率 ωc 的所有频率分量保持不变,并拒绝高于 ωc 的所有分量。由于实现理想低通滤波器所需的脉冲响应是无限长的,因此无法设计出理想的 FIR 低通滤波器。理想脉冲响应的有限长度逼近会导致滤波器的通带 (ω<ωc) 和阻带 (ω>ωc) 中都出现波纹,并导致通带和阻带之间的过渡带宽度非零。 当用有限脉冲响应逼近时,通带/阻带波纹和过渡带宽度都是不希望出现的,且不可避免地与理想低通滤波器存在偏差。下图说明了这些偏差:
FPGA开源工作室
2021/08/26
1.7K0
GNU Radio FFT模块窗函数对比
GNU Radio 中 FFT 模块的窗函数包括以下几种:矩形窗(Rectangular Window)、汉明窗(Hamming Window)、汉宁窗(Hann Window)、黑曼窗(Blackman Window)、黑曼-哈里斯窗(Blackman-Harris Window)、凯泽窗(Kaiser Window)、巴特利特窗(Bartlett Window)、平顶窗(Flattop Window),本文对窗函数实现的结果做一个记录对比。
Gnep@97
2024/05/09
4420
GNU Radio FFT模块窗函数对比
MATLAB实现数字滤波器的直接设计
一、实验目的 1. 熟悉并会使用实验中用到的MATLAB 函数 2. 掌握用MATLAB 函数直接设计数字滤波器的编程方法 二、实验原理 设计IIR 滤波器的基本方法有两种途径: 途经1:首先设计模拟低通滤波器,再在时域实现滤波器的变换得到我们期望的类型,最后 再转换到相应类型的数字滤波器。 途经2:首先设计模拟低通滤波器,再转换为数字低通滤波器,最后实行频带变换将滤波器 转换到我们期望的类型的数字滤波器。
timerring
2022/07/20
4770
MATLAB实现数字滤波器的直接设计
matlab函数加窗
数字信号处理的主要数学工具是傅里叶变换.而傅里叶变换研究的是整个时间域和频率域的关系。不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用截取的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。无限长的信号被截断以后,其频谱发生了畸变,原来集中在f(0)处的能量被分散到两个较宽的频带中去了(这种现象称之为频谱能量泄漏)。 为了减少频谱能量泄漏,可采用不同的截取函数对信号进行截断,截断函数称为窗函数,简称为窗。 窗函数就是时域有限宽的信号。 泄漏与窗函数频谱的两侧旁瓣有关,如果两侧瓣的高度趋于零,而使能量相对集中在主瓣,就可以较为接近于真实的频谱,为此,在时间域中可采用不同的窗函数来截断信号。
FPGA开源工作室
2022/05/18
1.2K0
matlab函数加窗
数字微分器的MATLAB设计
一、实验目的 1.掌握FIR 滤波器设计的各种基本方法 2.了解数字微分器的频域特性 3.学会用窗函数法设计数字微分器 二、实验原理 在连续时间系统中,对信号x(t)的导数的拉普拉斯变换是
timerring
2022/07/20
7470
数字微分器的MATLAB设计
MATLAB窗函数法设计FIR 数字滤波器
一、实验目的 1. 熟悉线性相位 FIR 数字滤波器特性。 2. 了解各种窗函数对滤波特性的影响。 3. 掌握用窗函数法设计 FIR 数字滤波器的原理、方法及计算机编程。
timerring
2022/07/20
2.2K0
MATLAB窗函数法设计FIR 数字滤波器
matlab理想低通滤波器代码_matlab简单低通滤波器
设低通滤波器通带截止频率为ωp=0.2π,阻带截止频率为ωs=0.4π,通带波纹Ag=0.5dB,最小阻带衰减Ar=50dB。
全栈程序员站长
2022/11/02
1K0
MATLAB 分析FIR 滤波器的相位特性和幅度特性
3. 学会用 MATLAB 工具分析FIR 滤波器。二、 实验原理与方法 实验十六中已经讲过脉冲相应的对称与反对称,即满足h(n) = h(M − 1 − n) 为对称
timerring
2022/07/20
1.6K0
MATLAB 分析FIR 滤波器的相位特性和幅度特性
Matlab滤波器设计:FIR滤波器与IIR滤波器设计实现示例
本文使用Matlab中的Signal Processing Toolbox中的designfilt函数,并根据频率响应实现如下两种滤波器:
用户1143655
2022/12/12
5.7K0
Matlab滤波器设计:FIR滤波器与IIR滤波器设计实现示例
间接法加窗分析信号的功率谱
维纳辛钦定理指出,随机信号的相关函数与它的功率谱是一对傅里叶变换对。BT法就是基于这个原理。先由观测数据估计出自相关函数,然后求自相关函数的傅立叶变换,以此变换作为对功率谱的估计,也称为间接法。BT法要求信号长度N以外的信号为零,这也造成BT法的局限性。
不去幼儿园
2024/12/03
1350
间接法加窗分析信号的功率谱
相关推荐
FPGA DSP:Vivado 中带有 DDS 的 FIR 滤波器
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文