位置: IT常识 - 正文

窗函数的介绍以及画出常见窗函数(汉宁窗,矩形窗,汉明窗,布莱克曼窗)的时域图和频谱图(窗函数的作用)

编辑:rootadmin
窗函数的介绍以及画出常见窗函数(汉宁窗,矩形窗,汉明窗,布莱克曼窗)的时域图和频谱图

推荐整理分享窗函数的介绍以及画出常见窗函数(汉宁窗,矩形窗,汉明窗,布莱克曼窗)的时域图和频谱图(窗函数的作用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:窗函数的类型及特点,窗函数表,窗函数的定义,窗函数的原理,窗函数的类型及特点,窗函数的作用,窗函数的类型及特点,窗函数的作用,内容如对您有帮助,希望把文章链接给更多的朋友!

常见的四种窗函数的表达式为:

四种常见窗函数的参数表

对于实际信号序列,该如何选取窗函数呢?一般来说,选择第一旁瓣衰减大,旁瓣峰值衰减快的窗函数有利于缓解截断过程中产生的频谱泄漏问题。但具有这两个特性的窗函数,其主瓣宽度较大,相应会带来一些副作用,应用中需根据具体情况折中地选择。

设信号中包含fa和fb两个频率分量,窗函数的选择与两个频率分量的间距以及两个频率分量的幅度比例密切相关。窗函数选择的一般准则如下表所列。

窗函数选择的一般规则

主瓣窄的窗函数一般旁瓣泄漏大,频谱泄漏主要集中在旁瓣范围内。旁瓣衰减大的窗函数,一般主瓣较宽,泄漏主要集中在主瓣范围内。

窗函数的介绍以及画出常见窗函数(汉宁窗,矩形窗,汉明窗,布莱克曼窗)的时域图和频谱图(窗函数的作用)

当选择加窗DFT时,已知采样长度N的选择与最小频域分辨率有关,而从上表中看到采样长度N还与窗函数的主瓣宽度相关,所以N的选择应为

N≥(fs/△fmin)K

式中:K为窗函数的主瓣宽度与矩形窗的主瓣宽度之比。 根据窗函数对数据处理的影响,可参照下列原则选取理想的窗函数: ①窗函数频谱的主瓣应尽可能地窄,以提高谱估计时的频域分辨率和减小泄漏。 ②尽量减小窗函数频谱的最大旁瓣的相对幅度,以使旁瓣高度随频率尽快衰减。 若以上两条不能同时得到满足,则往往是增加主瓣宽度以换取对旁瓣的抑制。 总之,在应用窗函数时,除要考虑窗函数频谱本身的特性外,还应充分考虑被分析信号的特点及具体处理要求。

案例、设N=256,用boxcar函数产生矩形窗,以N=256进行FFT,又以N=2048点进行FFT,比较它们的谱图。并用hanning函数,hamming函数和blackman函数得到它们的谱图和时域图,程序如下:

clear all; clc; close all;N=256; % 窗长度 x=boxcar(N); % 设置矩形窗y=hanning(N);z=hamming(N);w=blackman(N);% 第一部分X1=fft(x); % FFTX1_abs=abs(fftshift(X1)); % 计算幅值freq1=(-128:127)/N; % 频率刻度1figure(1);subplot 311; plot(freq1,X1_abs,'k'); % 作图xlim([-0.1 0.1]);xlabel('归一化频率'); ylabel('幅值');title('(a) 补零前FFT谱图')% 第二部分X2=fft(x,N*8); % 对矩形窗补零后FFTX2_abs=abs(fftshift(X2)); % 计算幅值freq2=(-N*4:N*4-1)/(N*8); % 频率刻度2subplot 312; plot(freq2,X2_abs,'k'); % 作图xlim([-0.1 0.1]);xlabel('归一化频率'); ylabel('幅值');title('(b) 补零后FFT谱图')X2_dB=20*log10(X2_abs/(max(X2_abs))+eps); % 幅值取分贝值subplot 313; plot(freq2,X2_dB,'k'); % 作图axis([0 0.1 -50 5]);%xlim([-0.1 0.1]);xlabel('归一化频率'); ylabel('幅值/dB');title('(c) 补零后FFT谱图-分贝值')set(gcf,'color','w');%%Y2=fft(y,N*8); % 对hanning窗补零后FFTY2_abs=abs(fftshift(Y2)); % 计算幅值Y2_dB=20*log10(Y2_abs/(max(Y2_abs))+eps); % 幅值取分贝值Z2=fft(z,N*8); % 对hamming窗补零后FFTZ2_abs=abs(fftshift(Z2)); % 计算幅值Z2_dB=20*log10(Z2_abs/(max(Z2_abs))+eps); % 幅值取分贝值W2=fft(w,N*8); % 对blackman窗补零后FFTW2_abs=abs(fftshift(W2)); % 计算幅值W2_dB=20*log10(W2_abs/(max(W2_abs))+eps); % 幅值取分贝值figure(2);plot(freq2,Y2_dB,'k'); % 作图hold on;plot(freq2,X2_dB,'r');plot(freq2,Z2_dB,'b');plot(freq2,W2_dB,'g');axis([0 0.1 -150 5]);%xlim([-0.1 0.1]);xlabel('归一化频率'); ylabel('幅值/dB');title('补零后FFT谱图-分贝值')legend('hanning','boxcar','hamming','blackman');set(gcf,'color','w');figure(3);plot(hanning(N));hold on;plot(boxcar(N));plot(hamming(N));plot(blackman(N));legend('hanning','boxcar','hamming','blackman');title('四种窗函数的时域波形图');

运行结果如下:

 

 

在程序第一部分中(第一张图片),N=256,作256点的FFT,得图1(a)。从图中可看 到矩形窗的谱图并不只有一条谱线,且没有泄漏。这是怎么回事? 矩形窗的谱函数为

在N点DFT后离散频率为wk=2πk/N(k=C,1,…,N-1)。把wk代入上式可以发现,除k=0外,其他频点的幅值都为0,这就是为什么在图1(a)中除0点有谱线外,其他都为0值。

要得到常见的矩形窗谱图(把0值之间泄漏的值都能绘制出来),可以通过对数据补零得到。在程序第二部分N=256,但FFT变换长度L=2048,其中在数据后补了1792(256*7)个零值。FFT后的结果见图1(b),同时对FFT后的幅值取分贝值后的结果见图1(c),这就是我们常见的矩形窗的谱图。

同时在程序第二部分,我们得到了四种窗函数的时域波形和频谱图。

参考文献:MATLAB数字信号处理85个实用案例精讲——入门到进阶;宋知用(编著)

本文链接地址:https://www.jiuchutong.com/zhishi/287272.html 转载请保留说明!

上一篇:微信小程序前端解密获取手机号(微信小程序前端源码)

下一篇:VsCode配置JavaWeb(最新)(vscode配置javafx)

  • 递延所得税资产和递延所得税负债
  • 小规模企业增值税怎么申报
  • 车船税退税办理时限
  • 一般计税预缴增值税3%怎么办
  • 广告公司小规模税率
  • 自产产品用于职工福利确认收入吗
  • 工伤职工应享有的待遇及救济途径
  • 电子发票和纸质发票额度算在一起吗
  • 换件维修的部件什么意思
  • 小规模转为一般纳税人最新规定
  • 劳务派遣专用发票超过9万怎么办理
  • 公司买货车可以分期付款吗
  • 哪些进项税不能转出
  • 小规模纳税人的好处
  • 小规模劳务公司税率是多少
  • 小规模纳税人怎么算税
  • 个体工商年报填写
  • 个人股权转让个税计算
  • 税法对开办费的怎么汇算清缴
  • 发票金额大于实际支付金额如何报账
  • 其他业务成本如何核算
  • 小规模通行费发票可以抵扣吗
  • 财政补贴会计入养老金一起发放吗
  • php正则替换字符串
  • 电脑启用aero
  • windows 10 build 21354
  • win10任务栏隐藏正在运行的程序
  • 计提减值时注意什么
  • 交易性金融资产的账务处理
  • 股东分红缴纳个税时间
  • 财务如何核对会计信息
  • layui 日期控件赋值
  • 资金支出预算的项目
  • 固定资产清理如何计算增值税
  • 闲置的固定电话机怎么改装
  • 初学者安装visual studio
  • python中的sum函数怎么用
  • 小规模纳税人定义标准
  • 预付一年的技术服务费
  • js读取数据文件
  • 个人所得税核定征收税率
  • 视同小规模纳税人是有?
  • 补充医疗险要放多少钱
  • 代销手续费如何交增值税m
  • 百旺开发票清单
  • 会计凭证审核的主要内容
  • 应付账款和应付票据的区别与联系
  • 直接收到货款也要走应收账款吗
  • 增值税购进扣税法
  • centos rpm包存放位置
  • imessage对方看了会显示已读吗
  • linux设置gid
  • 新手怎么装
  • linux ./文件
  • win7 开机动画
  • win10 u盘写保护
  • linux系统怎么关闭程序
  • linux 多线程 写文件
  • win7显示桌面的组合键
  • win11系统ie浏览器
  • javascript抢票
  • JavaScript Array对象详解
  • js与jquery的关系
  • 两个Collider遮挡的解决办法
  • android studio教程入门
  • javascript indexOf方法、lastIndexOf 方法和substring 方法
  • 安卓开发例子
  • java stringapi
  • 图片处理流程
  • android studio ndk开发教程
  • python UNIX_TIMESTAMP时间处理方法分析
  • js对象的常用方法
  • 农村医保网上如何查询
  • 河南十大纳税公司
  • 国际税收管理处忙不忙
  • 江苏地方税务局2013招考公告
  • 江苏电子税务局社保缴费查询网站
  • 税控盘如何查询季度统计
  • 北京地税局报税时间
  • 国企重组裁员政策解读
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设