声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 14100|回复: 16

[随机振动] 用matlab怎么把时域分析转换成频域分析

[复制链接]
发表于 2012-11-5 20:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我用状态空间方法,得到了一多自由度系统的时域分析数据,用matlab怎么转换成频域分析?

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2012-11-5 20:32 | 显示全部楼层
听说是用傅里叶变换,可应该怎么变换?对时间和时域响应x(t)都fft吗?
 楼主| 发表于 2012-11-5 22:33 | 显示全部楼层
clear;
clf;

N=1000; %1000个采样点
fs=500;%采样频率500Hz
t=0:1/fs:(N-1)/fs;

y=sin(2*pi*20*t);%20Hz的正弦信号
subplot(211);
plot(t,y);

Y = fft(y);%计算fft
f =fs*(0:N-1)/N;%转换为频率
subplot(212);
plot(f,abs(Y)/(N/2));

横轴如果不转换则是从1到N的点数,每点频率间隔fs/N,纵轴表示幅度,需除N/2转换为实际的信号幅度。
横坐标是频率,n*fs/N
摘录matlab中文论坛
 楼主| 发表于 2012-11-5 22:37 | 显示全部楼层
Fs = 1000;                    % Sampling frequency
T = 1/Fs;                     % Sample time
L = 1000;                     % Length of signal
t = (0:L-1)*T;                % Time vector
% Sum of a 50 Hz sinusoid and a 120 Hz sinusoid
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
y = x + 2*randn(size(t));     % Sinusoids plus noise
plot(Fs*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(y,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);%NFFT/2+1=513

% Plot single-sided amplitude spectrum.
figure(2)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
帮助文档中
 楼主| 发表于 2012-11-5 22:56 | 显示全部楼层
帮助文档中,Y/L,最后又乘以2?
首先要把Matlab图的纵坐标除以点数L,这是由于DFT公式的非对称性造成的,然后再乘以2,因为有一半的能量放到了负频率。
发表于 2012-11-6 13:51 | 显示全部楼层
学习之!!
 楼主| 发表于 2012-11-6 14:02 | 显示全部楼层

阿英讲频率f,角频率Ω和数字频率w的物理含义--附MATLAB仿真  
http去掉://anony3721.blog.163.com/blog/static/51197420111129503233/
详细解释了各物理意义,
频率分辨率(频率轴上相邻两点频率差)为fs/NFFT,即采样频率/样本总数,
横轴
f = fs/2*linspace(0,1,NFFT/2+1);

f=fs/NFFT*(0:NFFT/2)
自问自答!!哈哈
 楼主| 发表于 2012-11-6 20:35 | 显示全部楼层
对于那种随机激励输入,转换成频域后,怎么看?
 楼主| 发表于 2012-11-6 20:37 | 显示全部楼层
这个帖子,知识点比较全,http://forum.vibunion.com/thread-49413-1-1.html
回复 支持 1 反对 0

使用道具 举报

发表于 2012-11-7 10:48 | 显示全部楼层
好深奥啊!我也想学学,可是还不知从何学起
 楼主| 发表于 2012-11-7 12:42 | 显示全部楼层
发表于 2012-11-15 10:47 | 显示全部楼层
kyu16866 发表于 2012-11-7 12:42
看看机械控制工程,有关于时域与频率分析的详细内容

好的,谢谢!
发表于 2012-11-22 22:13 | 显示全部楼层
学习了  哈哈
发表于 2012-11-23 11:24 | 显示全部楼层
个人认为这个问法有点问题,matlab怎么转换成频域分析?

时域和频域只是表示一组信号在不同域类的特性,有些特性在这个域内可以看到,可是在另一域内则无法了解到。我们为了更好的了解信号的特性,而从不同的角度去看看这个问题,就像了解一个事物一样,我们从不同的方面去了解他,才能对他有一个更清晰的认识!

楼主的学习精神值得称赞!
 楼主| 发表于 2012-11-23 22:03 | 显示全部楼层
rogen 发表于 2012-11-23 11:24
个人认为这个问法有点问题,matlab怎么转换成频域分析?

时域和频域只是表示一组信号在不同域类的特性, ...

现在需要用而已,需要将时域内的数据转换到频域内,与直接用频域得出的结果对比。有些时候对这些物理意义,不是很清楚,像相干系数,如果为1,就很关,可说明什么问题了?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-27 16:24 , Processed in 0.058883 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表