频谱分析频谱分析

  • PFN2l3Ly4z
    了解作者
  • matlab
    开发工具
  • 1.2KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 0
    下载次数
  • 2022-12-05 04:57
    上传日期
频谱分析 matlab 软件 程序 好用 简单
pSpecAnalysis.zip
  • pSpecAnalysis.m
    2.1KB
内容介绍
function [p,f] = pSpecAnalysis(data,fs,options) % 对数据进行及频谱分析(画频谱或功率谱) % 输入: % data为待分析信号,需要是一维实数 % fs为采样频率,即每秒钟采样点数 % options为可选选项,使用结构体的方式导入,安装自身需求选择是否设置。具体包括: % options.Detrend :去趋势,设置options.Detrend = 1时,将在做fft前去除data趋势, % 当画出的频谱图在0频率时出现峰值,可将该选项置1,可以有效抑制0频率的峰值,默认情况不去趋势 % options.analysisType :频谱分析类型,当options.analysisType = 'fft'时,进行快速傅里叶变化FFT % 当options.analysisType = 'psd'时,计算功率谱 % options.psdUnit :功率谱单位,当options.psdUnit = 1时,单位为W/Hz(默认) % 当options.psdUnit = 2时,单位为分贝dB % options.plotType :画图种类选择,当options.plotType = 1时,只绘制信号频谱图(默认) % 当options.plotType = 2时,绘制信号时域图和频谱图在同一张图上(上下两张) % Copyright (c) 2021 Mr.看海 All rights reserved. % 原文链接 https://zhuanlan.zhihu.com/p/447781065 % 代码地址:http://www.khscience.cn/docs/index.php/2021/12/21/freana/ % 本代码为淘宝买家专用,不开源,请勿公开分享~ %% [p,f] = kSpecAnalysis(data,fs,options); if ~isfield(options,'analysisType') options.analysisType = 'fft'; end if strcmp(options.analysisType,'fft') ti = '频谱图'; elseif strcmp(options.analysisType,'psd') ti = '功率谱图'; end if ~isfield(options,'plotType') options.plotType = 1; end if ~exist('options.plotType') if options.plotType == 1 figure('color','w') plot(f,p,'k');xlim([f(1),f(end)]); xlabel('频率(Hz)') ylabel('幅值') title(ti) elseif options.plotType == 2 figure('color','w') subplot(2,1,1) t = 1/fs:1/fs:length(data)/fs; plot(t,data,'k');xlim([t(1),t(end)]); xlabel('时间(s)') ylabel('幅值') title('时域信号') subplot(2,1,2) plot(f,p,'k');xlim([f(1),f(end)]); xlabel('频率(Hz)') ylabel('幅值') title(ti) end end end
评论
    相关推荐
    • matlab 课件
      matlab 功能很强大,本课件详细的介绍了matlab在科学计算中的应用。
    • Matlab教程
      MatlaB经典ppt,主要讲解了MatlaB的入门知识,图形编程以及仿真。
    • matlab入门
      matlab的入门教程,很值得仔细看看,对提高matlab能力有帮助
    • matlab编译器
      matlab编译为exe文件所需要的文件; 使用时解压,将解压后文件拖入至matlab命令行即可
    • matlab
      matlab的基础知识进行介绍
    • MatLab
      “#MatLab
    • MATLAB编译器
      基于MATLAB 2018b版本介绍MATLAB编译器。介绍如何利用编译器将MATLAB代码编译为独立应用程序或组件,并在没有安装MATLAB的计算机上进行部署。
    • MATLAB 论文
      基于MATLAB的论文撰写!可以为你指明一条写作MATLAB论文的道路!
    • matlab
      matlab经典课堂讲义
    • matlab
      matlab