matlab 振动信号处理中的 预处理 时域分析 频域分析程序 GUI设计 数据是台架振动数据
作者&投稿:靳毅 (若有异议请与网页底部的电邮联系)
参考著作
MATLAB在振动信号处理中的应用
告诉邮箱,可以发给您。
1、整周期采样、工程单位转换(数字量转化为物理量)
2、时域分析(波形、轴心轨迹、轴心位置)
3、频域分析(傅里叶变换、频谱、相位、瀑布图、滤波分析、细化谱、倒频谱、包络分析)
4、变速分析(波特图、极坐标图、级联图)
5、趋势分析
实际上,经过采样得到原始振动数据后,就时域分析和频域分析两种。时域分析是对原始振动数据的显示,频域分析是对经过傅里叶变换后数据的显示,只是显示的方法不同而已,例如轴心轨迹是对相同部位两个方向波形的合成,瀑布图是不同时刻的频谱显示,波特图是不同转速下的频谱显示。
%%%%%%%%%%%%%%%%%%%%%%%%
clear %消除内存中所有变量和函数
clc %消除工作窗口所显示的内容
close all hidden %关闭所有隐藏的窗口
%%%%%%%%%%%%%%%%%%%%%%%%%
%提示用键盘输入输入数据文件名
fni=input('消除多项式趋势项-输入数据文件名','s');
%以只读方式打开数据文件
fid=fopen(fni,'r');
sf=fscanf(fid,'%f',1); %读入采样频率值
m=fscanf(fid,'%d',1); %读入拟合多项式阶数
fno=fscanf(fid,'%s',1); %读入输出数据文件名
x=fscanf(fid,'%f',inf); %读入时程数据存成列向量
%关闭数据文件
status=fclose(fid);
%取信号数据长度
n=length(x);
%建立离散时间列向量
t=(0:1/sf:(n-1)/sf);
%计算趋势项的多项式系数待定系数向量a
a=polyfit(t,x,m);
%用x减去多项式系数a生成的趋势项
y=x-polyval(a,t);
%将分成2行1列的图形窗口的第1列设为当前绘图区域
subplot(2,1,1);
%绘制x对于t的时程曲线图形
plot(t,x);
%在图幅上添加坐标网络
grid on;
%将分成2行1列的图形窗口的第2列设为当前绘图区域
subplot(2,1,2);
%绘制y对于t的时程曲线
plot(t,y);
%在图幅上添加坐标网络
grid on;
%以写的方式打开文件或建立一个新文件
fid=fopen(fno,'w');
%进行n次循环将计算结果写到输出数据文件中
for k=1:n
%每行输出两个实型数据,t为时间,y为消除趋势项后的结果
fprintf(fid,'%f%f\n',t(k),y(k));
%循环体结束语句
end
%关闭数据文件
status=fclose(fid);
可能还是没修改完全 你再查查看
邗欣健步: 有很多中文字符,修改下:%%%%%%%%%%%%%%%%%%%%%%%% clear %消除内存中所有变量和函数 clc %消除工作窗口所显示的内容 close all hidden %关闭所有隐藏的窗口%%%%%%%%%%%%%%%%%%%%%%%%%%提示用键...
仙游县15758573527: 请问:用什么方法 将 多点激励单点输出得到的多个频响函数 拟合成一个综合的频响函数??急...谢谢! - ?
邗欣健步: 你这是多输入/单输出的系统问题:设输入为:x1(t),x2(t),...,xn(t); 输出为:y(t).输出的傅氏变换 Y(jw)=Σ(i=1→n) Hi(jw) Xi(jw) (1) 其中:Xi(jw) -- 输入的傅氏变换; Y(jw) -- 输出的傅氏变换; Hi(jw) -- 系统的频响函数;由于n个输入通道的独立性,使得系统的n个传递环节不能合成一个传递函数.除非n个输入通道完全相关.比如x1(t)=x2(t)=...=xn(t)=x(t) 时,系统合成一个频响函数: H(jw) = Σ(i=1→n) Hi(jw) 而(1)变成: Y(jw) = H(jw) X(jw) (2) 但此时系统已退化成单输入/单输出系统了!
仙游县15758573527: matlab中fftshift是什么意思 - ?
邗欣健步: 1、在matlab中,经过fft变换后,数据的频率范围是从[0,fs]排列的.2、而一般,我们在画图或者讨论的时候,是从[-fs/2,fs/2]的范围进行分析.3、因此,需要将经过fft变换后的图像的[fs/2,fs]部分移动到[-fs/2,0]这个范围内.而fftshift就是完成这...
仙游县15758573527: MATLAB 如何求离散衰减振荡曲线的包络线(衰减振荡曲线函数未知,只有离散的点) - ?
邗欣健步: MATLAB和Mathematica、Maple并称为三大数学软件.它在数学类科技应用软件中在数值计算方面首屈一指.MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制...
仙游县15758573527: 如何使用matlab的fft - ?
邗欣健步: 首先你要把kk和t定义好,再使用fft 你的周期时长是什么意思?你已经知道你的信号的频率了? 我需要的是采样频率和采样点数.下面是我的M文件程序,是处理振动信号的,不是电脑的仿真信号,你可以改一下.不懂再问我 % script file creat_...
仙游县15758573527: matlab中的预定义语句说明都有哪些 - ?
邗欣健步: matlab不需要预定义的 变量什么的都可以直接用,也不需要程序头之类的
仙游县15758573527: 数字信号处理中,分析信号的频谱.Matlab代码中,幅频是这样得到的 x为信号,N=length( - ?
邗欣健步: abs(fft(x))是求得信号x的幅度谱,至于程序其他的部分,应该是为了求得x的频率成分实际的振幅,通俗点说就是如果用每一个频率成分乘上它的实际的振幅,再组成的信号的幅度与原本的信号应该是一样的,至于为什么要这样做,我也记不清楚,在涉及到离散傅里叶级数和离散傅里叶变换的推导中应该会有解释.
仙游县15758573527: 怎么用matlab来提取变压器振动信号中的特征参数,比如振幅,峤度,振动烈度,关联维数等值. - ?
邗欣健步: 做什么用途的,是用来分析震动的根源吗?建议测量震动的加速度,使用matlab进行傅里叶变化,转换成频域信号分析.
仙游县15758573527: 变速器上采集到的振动信号如何用matlab进行分析处理? - ?
邗欣健步: 将信号数据导出到xls中 matlab读取xls数据即可 如需matlab程序 可以再联系
仙游县15758573527: 怎么用matlab来分析振动信号 没学过这个软件程序不会写 就是分析他的频域 时域 - ?
邗欣健步: 参考著作 MATLAB在振动信号处理中的应用 告诉邮箱,可以发给您.