本帖最后由 zmy240778 于 2017-12-8 09:09 编辑

上面那个图都是时域,下面那个图都是我通过FFT转化得到的频域,

但是我得到的频域上面有很多分支,我看不清哪个是一阶频率,哪个是二阶频率。

但是我看别人的,就很清楚,

所以想请教一下,这个应该怎么做。

下面附上我的matlab程序。

%FFT变换,获得采样数据基本信息,时域图,频域图

%这里的向量都用行向量,假设被测变量是速度,单位为m/s

clear;

close all;

A=importdata('DATA.TXT');                                  %通过仪器测量的原始数据,存储为data.txt中,附件中有一个模版(该信号极不规则)

%将测量数据赋给A,此时A为N×2的数组

x=A(:,1);                                     %将A中的第一列赋值给x,形成时间序列

x=x';                                           %将列向量变成行向量

y=A(:,2);                                     %将A中的第二列赋值给y,形成被测量序列

y=y';                                           %将列向量变成行向量

%显示数据基本信息

fprintf('\n数据基本信息:\n')

fprintf('        采样点数 = %7.0f \n',length(x))                         %输出采样数据个数

fprintf('        采样时间 = %7.3f s\n',max(x)-min(x))                    %输出采样耗时

fprintf('        采样频率 = %7.1f Hz\n',length(x)/(max(x)-min(x)))   %输出采样频率

fprintf('        最小速度 = %7.3f m/s\n',min(y))                         %输出本次采样被测量最小值

fprintf('        平均速度 = %7.3f m/s\n',mean(y))                      %输出本次采样被测量平均值

fprintf('        速度中值 = %7.3f m/s\n',median(y))                   %输出本次采样被测量中值

fprintf('        最大速度 = %7.3f m/s\n',max(y))                          %输出本次采样被测量最大值

fprintf('        标准方差 = %7.3f \n',std(y))                               %输出本次采样数据标准差

fprintf('       协 方 差 = %7.3f \n',cov(y))                                %输出本次采样数据协方差

fprintf('     自相关系数 = %7.3f \n\n',corrcoef(y))                       %输出本次采样数据自相关系数

%显示原始数据曲线图(时域)

subplot(2,1,1);

plot(x,y)                                                                                %显示原始数据曲线图

axis([min(x) max(x) 1.1*floor(min(y)) 1.1*ceil(max(y))])             %优化坐标,可有可无

xlabel('时间 (s)');

ylabel('被测变量y');

title('原始信号(时域)');

grid;

%傅立叶变换

y=y-mean(y);                                               %消去直流分量,使频谱更能体现有效信息

Fs=5000;                                                     %得到原始数据data.txt时,仪器的采样频率。其实就是length(x)/(max(x)-min(x));

N=1012108;                                                 %data.txt中的被测量个数,即采样个数。其实就是length(y);

z=fft(y);

%频谱分析

f=(0:N-1)*Fs/N;

Mag=2*abs(z)/N;

%幅值,单位同被测变量y

Pyy=Mag.^2;                                              %能量;对实数系列X,有 X.*X=X.*conj(X)=abs(X).^2=X.^2,故这里有很多表达方式

%显示频谱图(频域)

subplot(2,1,2,'Linewidth',2)

plot(f(1:N/2),Mag(1:N/2),'r')                         %显示频谱图

%             将这里的Pyy改成Mag就是 幅值-频率图了

axis([min(f(1:N/2)) max(f(1:N/2)) 1.1*floor(min(Pyy(1:N/2))) 1.1*ceil(max(Pyy(1:N/2)))])

xlabel('频率 (Hz)')

ylabel('能量')

title('频谱图(频域)')

grid on;

%返回最大能量对应的频率和周期值

[a,b]=max(Pyy(1:N/2));

fprintf('\n傅立叶变换结果:\n')

fprintf('           FFT_f = %1.3f Hz\n',f(b))             %输出最大值对应的频率

fprintf('           FFT_T = %1.3f s\n',1/f(b))          %输出最大值对应的周期

matlab读取图片的频率,获得时域图之后,也获得了频域图,但是如何查看频率呢......相关推荐

  1. matlab怎么输出图像文件夹,Matlab读取图片 显示和保存图像的相关操作

    当前有部份朋友还不清楚Matlab读取图片 显示和保存图像的操作,所以下面绿软吧就带来Matlab读取图片 显示和保存图像的相关操作,一起来看看吧! Matlab读取图片 显示和保存图像的相关操作 打 ...

  2. Matlab 读取图片并将其按指定尺寸保存为mat格式

    1.读取图片 使用imread函数,以矩阵的形式返回图片的数据 I = imread('1.jpg'); 红字部分更改为自己的图片路径 2.缩放图片 使用imresize函数,将图片缩小为64x64, ...

  3. matlab 读取图片后分区域编号_你的第一个有限元求解器——仅十行MATLAB代码

    有限元分析话题中有不少讨论有限元求解器的问题,但大都停留在概念层面,未见实际代码.望本文能略起抛砖引玉之作用. 以下代码是基于MATLAB编写. 问题描述 考虑一平面有界区域 ,设其边界为 .我们求解 ...

  4. matlab读取图片亮度,Matlab中使用imagesc函数显示的亮度图像怎么和原图像的大小不一样?...

    在matlab 2006上写的两个函数,这两个函数的调用格式为: 读DICOM图像数据: X = read_dicom(filename) 这个函数的作用是从filename所指定的文件中读取图像数据 ...

  5. matlab 读取图片的格式

    在matlab中读取图像数据用imread函数:img = imread('******png') 其中img的格式为:height x width x channels x num ; 3通道的顺序 ...

  6. matlab产生单音信号的时域、频域图

    clc; close all; clear all;fs = 100e3; % 采样频率 fc1=10e3; fc2=20e3; L = 2048; % 显示点数 t = 0:1/fs:(L-1)/f ...

  7. matlab读取一个文件的图片大小,Matlab读取文件夹中子文件夹中的图片并修改尺寸...

    今天被师兄问到如何利用matlab批处理图片,觉得很简单嘛 就让他去百度 结果只百度到处理文件夹中图片的程序 好吧 这里放上如何处理文件夹中子文件夹的图片 现状:在一个名为casia的文件夹中,里面有 ...

  8. matlab保存所有图,Matlab中图片保存的5种方法

    matlab的绘图和可视化能力是不用多说的,可以说在业内是家喻户晓的. Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个.另外其他专业工具 ...

  9. python三维矩阵出图_python读取图片的方式,以及将图片以三维数组的形式输出方法...

    python 三维npy数组如何画成三维图片 画成三维图片? 你要是想要看空间分布的话画散点图就可以啊,用matplotlib 网页链接 要是那种各种弯曲的面,也是matplotlib 网页链接 再就 ...

最新文章

  1. Android Studio开发RecyclerView遇到的各种问题以及解决(一)
  2. C++继承中父类和子类之间的赋值兼容
  3. PHP使用Switch语句判断星座,PHP的switch判断语句的“高级”用法详解 用switch语句怎样判断成绩的等级...
  4. 深度学习入门:10门免费线上课程推荐
  5. 【译】Effective TensorFlow Chapter11——在TensorFlow中调试模型
  6. android播放器录制视频,Android播放器的录制实践
  7. php 论坛下载,PHPWind论坛社区
  8. linux和主机共享文件,设置Linux虚拟机与主机共享文件的方法
  9. 使用3g模块SIM5360E收发短信
  10. 信而泰ALPS 用户管理——网络测试仪实操
  11. 互联网思维之迭代思维
  12. 软件测试平台的作用以及会包含哪些功能?
  13. DC-DC与LDO的区别及原理
  14. 给文字上加中划线_小小招式让你给文字添加上划线
  15. Redis AKF CAP 集群知识
  16. HTTP 状态码 301 和 302 详解及区别——辛酸的探索之路
  17. linux文件夹缩略图不显示,分享|如何在终端显示图像缩略图
  18. python数据结构基础(单链表,多链表,二叉树)
  19. 用计算机绘制颗粒级配曲线,巧用excel绘制颗粒级配曲线与自动计算粒组特征参数...
  20. 原xp系统电脑重装win732位

热门文章

  1. 03MFC的ODBC类简介
  2. 2年的程序员之路 ,分享给你们
  3. 装逼神器,5 行 Python 代码 实现一键批量扣图,你get到了吗
  4. 新手关于如何看编程经典书的一些疑惑?
  5. 工作之余,如何再赚一份收入?
  6. linux generic什么意思_如何在 Ubuntu 中修复 VirtualBox 的 “rc=1908” 错误 | Linux 中国...
  7. Adobe illustrator 多个对象进行环形布局 - 连载22
  8. iMeta宏基因组生物信息期刊-创刊背景和简介
  9. Cell | 大规模多组织转录组学研究揭示长非编码RNA与人类复杂疾病的联系
  10. 生信宝典之傻瓜式(五) 文献挖掘查找指定基因调控网络