当前位置: 首页 > news >正文

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.lryc.cn/news/157594.html

相关文章:

  • VUE写后台管理(2)
  • RHCSA8.2
  • 修改linux中tomcat的端口
  • 学妹学Java(一)
  • 湖南省副省长秦国文一行调研考察亚信科技
  • k8s部署redis 3主3从
  • Vue2安装vuex和vue-router报错处理
  • 算法leetcode|79. 单词搜索(rust重拳出击)
  • 2023年高教社杯全国大学生数学建模竞赛参赛事项注意
  • 数学建模--逻辑回归算法的Python实现
  • Qt6_贪吃蛇Greedy Snake
  • Credo推出业界首款单片集成CMOS VCSEL驱动器的800G光DSP芯片
  • 【经验分享】如何使用VSCode对比两个文件
  • 从裸机开始安装ubuntu系统到安装NVIDIA驱动
  • 索尼 toio™ 应用创意开发征文|小巧机器,大无限,探索奇妙世界
  • 什么牌子的led台灯质量好?热门的Led护眼台灯推荐
  • 预推免,保研------长安大学保内,附加分面试准备【记录帖】
  • Linux开源防病毒引擎ClamAV
  • Java复习-25-单例设计模式
  • 博客系统自动化测试项目实战(测试系列9)
  • 华纳云:Linux的底层体系结构是怎样的
  • SpringMVC常用注解介绍及参数传递说明
  • 4 个你可能不知道的 Python 迭代工具过滤器函数
  • Scrapy简介-快速开始-项目实战-注意事项-踩坑之路
  • lightdb 支持兼容Oracle的to_clob函数
  • ES6中let和const关键字与var关键字之间的区别?
  • Python中的异常处理3-1
  • 大数据与AI:解析智慧城市的幕后英雄
  • 将钉钉机器人小程序从一个公司迁移至另一个公司的步骤
  • j解决Ubuntu无法安装pycairo和PyGObject