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

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

Matlab代码如下:

% 如何把频谱图的纵坐标设置为分贝刻度
%
% pr2_2_6 
clc; clear; close all;load pr2_2_6_sndata1.mat    % 读入数据
X = fft(y);                   % FFT
n2 = 1:L/2+1;                 % 计算正频率索引号
freq = (n2-1)*fs/L;           % 频率刻度
% 第一部分
% 线性幅值作图
figure('Name', '线性幅值')
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('Name', '用对数坐标作图')
pos = get(gcf,'Position');
set(gcf,'Position',[pos(1), pos(2)-100,pos(3),(pos(4)-140)]);
semilogy(freq,abs(X(n2)),'k'); % 把y轴用对数坐标作图
grid;
xlabel('频率/Hz'); ylabel('幅值')
title('对数坐标幅值'); hold on
set(gcf,'color','w');% 计算分贝值作图
figure('Name', '计算分贝值作图')
X_db = 20*log10(abs(X(n2))); %把FFT之后的幅值转换为分贝值
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');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/101851.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI理论学习】语言模型:从Word Embedding到ELMo

语言模型:从Word Embedding到ELMo ELMo原理Bi-LM总结参考资料 本文主要介绍一种建立在LSTM基础上的ELMo预训练模型。2013年的Word2Vec及2014年的GloVe的工作中,每个词对应一个vector,对于多义词无能为力。ELMo的工作对于此,提出了…

Linux入门之多线程|线程的同步|生产消费模型

文章目录 一、多线程的同步 1.概念 2.条件变量 2.1条件变量概念 2.2条件变量接口 1.条件变量初始化 2.等待条件满足 3.唤醒等待 3.销毁条件变量 2.3条件变量demo 二、生产消费模型 1.生产消费模型 2.基于BlockQueue的生产者消费者模型 3.基于C用条件变量和互斥锁实…

c语言数组的用法

c语言数组的用法如下: 一维数组的定义方式 在C语言中使用数组必须先进行定义。一维数组的定义方式为: 类型说明符 数组名 [常量表达式]; 其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表…

9月7日扒面经

redis缓存用在哪里,用本地缓存行不行? 数据库查询缓存,减小数据源压力,提高响应速度 页面缓存:将页面的渲染结果缓存在Redis中,以减少页面生成的时间和服务器负载。 频繁计算结果缓存:将频繁计算的结果…

stable diffusion实践操作-随机种子seed

系列文章目录 stable diffusion实践操作 文章目录 系列文章目录前言一、seed是什么?二、使用步骤1.多批次随机生成多张图片2.提取图片seed3. 根据seed 再次培养4 seed使用4.1 复原别人图4.1 轻微修改4.2 固定某个人物-修改背景 三、差异随机种子1. webUI位置2. 什么…

maven打包时显示无效jdk版本

1、配置当前项目所需的Jdk版本 2、与当前项目指定的jdk版本相同 3、与当前项目指定的jdk版本相同 4、与当前项目指定的jdk版本相同 5、指定主项目启动时的vm配置与当前项目所需版本相同

Linux系统离线安装RabbitMQ

安装rabbitmq 1、下载安装包 首先进入官网进行安装包的下载,在下载时一定要注意erlong版本和rabbitmq-server版本匹配 rabbitmq版本对应关系:传送门 Erlong下载地址:传送门 rabbitmq-server下载地址:传送门 socat 不同版本 centos7:传送门 cent…

nas汇编程序的调试排错方法

nas汇编程序的调试排错方法: 1、查找是哪一步错了 2、查看对应的*.lst文件,本例中是"asmhead.lst" 3、根据*.lst文件的[ERROR #002]提示查看源码,改错。 4、重新运行编译,OK 1、查找是哪一步错了: nask.ex…

QT之形态学操作

形态学操作包含以下操作: 腐蚀 (Erosion)膨胀 (Dilation)开运算 (Opening)闭运算 (Closing)形态梯度 (Morphological Gradient)顶帽 (Top Hat)黑帽(Black Hat) 其中腐蚀和膨胀操作是最基本的操作,其他操作由这两个操作变换而来。 腐蚀 用一个结构元素…

Spring-TX 事务

目录 一、事务的种类 二、Spring事务管理器 三、事务注解使用 四、事务注解属性 一、事务的种类 1.编程式事务 所谓编程式事务就是用代码手写事务,包含了事务的开始,具体事务,事务的提交和事务的回滚。在这期间就会产生一些冗余问题&am…

typeScript学习笔记(一)

学习资源来自: 类与接口 TypeScript 入门教程 (xcatliu.com) 一.TypeScript的安装和运行 1.安装TypeScript 通过npm(Node.js包管理器)安装Visual Studio的TypeScript插件:(Visual Studio 2017和Visual Studio 2015 Update 3默认包含了Typ…

关于MyBatisPlus框架下出现xml里面定义的方法无法被正确识别以及提示调用mysql存储过程时参数无效的问题

第一个问题:xml里面明明定义了方法A,但是通过IService接口调用A的时候,总提示无法将接口中定义的函数绑定到xml中的同名方法中(“Invalid bound statement (not found): com.aircas.sqlservice.mapper.SysTempIndexMapper.getRemo…