把频谱图的纵坐标设置为分贝刻度

这篇具有很好参考价值的文章主要介绍了把频谱图的纵坐标设置为分贝刻度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在信号的频谱分析中,有时频谱的幅值有很大的动态范围,必须要把幅值取对数转换成为分贝值。

有两种解决方法:一种是Y轴用对数坐标;另一种是对幅值取对数,转换成分贝值后再画图。
(1)Y轴用对数坐标:
作图时,Y轴用对数坐标。在MATLAB中,X轴、Y轴或X-Y轴可以用对数坐标。相应的函数分别是semilogx、semilogy和loglog,这三个函数都是作图时用的函数,相当于常用的作图函数plot。例如我们要把Y轴用对数坐标,只要将原plot(x,y)改为semilogy(x,y)就可以了。
(2)转换为分贝值后再作图:
已知信号y(n)在FFT后的幅值为abs(Y),可以把它们转换为分贝值,一般用如下公式:
Y_db =20*log10(abs(Y))
其中是把abs(Y)取以10为底的对数,再乘以20。这样作图时就把原幅值之间的动态范围缩小了,容易在图中看出各峰值。
案例:读入一组实验数据文件(文件名为sndatal.mat),作出该组数据的频谱图。寻找谱图中的最大峰值和最小峰值的大小和频率,程序如下:

clear all; clc; close all;

load sndata1.mat            % 读入数据
X=fft(y);                   % FFT
n2=1:L/2+1;                 % 计算正频率索引号
freq=(n2-1)*fs/L;           % 频率刻度
% 第一部分
% 线性幅值作图
pos = get(gcf,'Position');
set(gcf,'Position',[pos(1), pos(2)-100,pos(3),(pos(4)-140)]);
plot(freq,abs(X(n2)),'k'); grid
xlabel('频率/Hz'); ylabel('幅值')
title('线性幅值')
set(gcf,'color','w');
pause
% 第二部分
% 用对数坐标作图
figure
pos = get(gcf,'Position');
set(gcf,'Position',[pos(1), pos(2)-100,pos(3),(pos(4)-140)]);
semilogy(freq,abs(X(n2)),'k'); grid;
xlabel('频率/Hz'); ylabel('幅值')
title('对数坐标幅值'); hold on
set(gcf,'color','w');
% 计算分贝值作图
figure
X_db=20*log10(abs(X(n2)));
pos = get(gcf,'Position');
set(gcf,'Position',[pos(1), pos(2)-100,pos(3),(pos(4)-140)]);
plot(freq,X_db,'k'); grid;
xlabel('频率/Hz'); ylabel('幅值/dB')
title('分贝幅值'); hold on
set(gcf,'color','w');

运行结果如下:

把频谱图的纵坐标设置为分贝刻度

 把频谱图的纵坐标设置为分贝刻度

 把频谱图的纵坐标设置为分贝刻度

从数值上来看,最大峰值和最小峰值的差值大于40dB,所以用分贝值表示无论视觉观察还是数值计算都更为方便,用对数坐标显示,虽观察有改进,但计算上不如用分贝值方便。

 实验数据下载链接如下:

https://download.csdn.net/download/qq_42233059/86405507

参考文献:MATLAB数字信号处理85个实用案例精讲——入门到进阶;宋知用(编著) 文章来源地址https://www.toymoban.com/news/detail-476931.html

到了这里,关于把频谱图的纵坐标设置为分贝刻度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue3 - 【完整源码】实现容器用鼠标拖曳功能,将容器 “限制在指定范围内“ 鼠标拖拽移动并拿到横纵坐标(详细示例源码及注释,一键复制开箱即用)

    在vue3网页项目中,实现将一个容器设置为鼠标可拖动拖曳效果(并限制在边界内不可拖出去),并且拖拽时自动获取横纵坐标以及相关的事件,基础的示例可自定义为任何你想要的效果。 你可以直接下方效果图的示例源代码,配合详细的原理描述及代码注释保证可用!稍微改改

    2024年02月08日
    浏览(40)
  • matlab设置坐标轴的坐标显示范围和刻度

    所用代码: 逐个演示代码结果:   参考资料: matlab设置x轴和y轴的坐标显示范围和刻度_matalb的极坐标图如何将坐标标出来_phymat.nico的博客-CSDN博客

    2024年02月09日
    浏览(70)
  • matplotlib 设置坐标轴的刻度显示

    💖💖感谢各位观看这篇文章,💖💖点赞💖💖、收藏💖💖、你的支持是我前进的动力!💖💖 💖💖感谢你的阅读💖,专栏文章💖持续更新!💖关注不迷路!!💖 设置刻度有两个方法: ax.set_xticks(self, ticks, minor=False) 设置刻度 ,matplotlib将刻度放在对应范围的哪个位置,

    2024年02月12日
    浏览(53)
  • chatgpt赋能python:Python坐标轴刻度间隔设置

    Python是一种高级编程语言,经过多年的发展,现已成为数据分析、人工智能和机器学习领域的主要工具之一。在数据可视化中,Matplotlib是Python中最常用的绘图库之一。在Matplotlib中,设置坐标轴刻度间隔是绘制热力图、散点图和折线图等图表常见的操作。 坐标轴是绘图中最基

    2024年02月07日
    浏览(62)
  • MATLAB可视化(四)如何设置图形的坐标范围、坐标系、刻度和网格控制

    一、坐标控制 坐标轴的设置 其中\\\'-ro\\\'是用来设置曲线形状 绘制出的图形如下: 接下来设置坐标轴  x轴0—pi/2,y轴0—5 二、刻度、网格、坐标的开启与封闭 1 设置坐标轴的刻度 #set (gca,\\\'Xtick\\\',xs,Ytick,ys):二维坐标轴的刻度设置 #set (gca,\\\'Xtick\\\',xs,Ytick,ys,Ztick,zs):三维坐标轴的刻度设

    2024年02月11日
    浏览(41)
  • 语音信号处理基础知识之频谱、相位谱、幅度谱、功率谱及语谱图

    一段音频信号在时域上,可以用一个实数向量来表示。这个数组的大小=采样率*音频时长。举个例子:一段采样率为8000,长15.6s的音频在matlab中表示为: 15.6x8000=124800大小的实数向量 下面是利用matlab读取.wav文件和.pcm文件的两种方法 从上图可以看出,音频信号在matlab中就是用一

    2024年02月05日
    浏览(96)
  • 深入理解梅尔刻度、梅尔滤波器组和梅尔时频谱图

    短时傅里叶变换公式 S ( m , k ) = ∑ n = 1 N − 1 x ( n + m H ) w ( n ) e − i 2 π k N n S(m,k) = sum_{n=1}^{N-1} x(n+mH)w(n)e^{-i2 pi frac{k}{N} n} S ( m , k ) = n = 1 ∑ N − 1 ​ x ( n + m H ) w ( n ) e − i 2 π N k ​ n 其中,m是当前滤波器的序号,表征了当前的时间段,k是当前频率的序号,表征了当前正在

    2023年04月14日
    浏览(42)
  • echarts坐标轴、轴线、刻度、刻度标签

    x 轴和 y 轴都由 轴线、刻度、刻度标签、轴标题 四个部分组成。部分图表中还会有网格线来帮助查看和计算数据 普通的二维数据坐标系都有x轴和y轴,通常情况下,x轴显示在图表底部,y轴显示在左侧,一般配置如下: 当 x 轴(水平坐标轴)跨度很大,可以采用 区域缩放方

    2024年04月14日
    浏览(61)
  • Matlab隐藏坐标轴/数字/刻度线

    目录 一、隐藏坐标轴的数字 二、隐藏坐标轴的刻度 三、隐藏坐标轴 四、隐藏坐标区 五、修改坐标区背景颜色  六、修改图片背景颜色 一、隐藏坐标轴的数字 以X轴为例,在画图的代码后面增加以下设置: 二、隐藏坐标轴的刻度 三、隐藏坐标轴 四、隐藏坐标区 或者   五、

    2024年01月24日
    浏览(46)
  • Matlab中如何调整坐标轴刻度

    Matlab中如何调整坐标轴刻度 在Matlab中,我们经常需要对绘图中的坐标轴刻度进行调整,以便更好地展示数据。本文将介绍如何使用Matlab来调整坐标轴刻度,并提供相应的源代码示例供参考。 Matlab提供了多种方法来调整坐标轴刻度。下面我们将介绍其中的两种常用方法:手动

    2024年02月05日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包