声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 11694|回复: 43

[FFT] 对于任意信号进行fft的时候,采样频率怎么确定?

[复制链接]
发表于 2007-10-31 18:44 | 显示全部楼层 |阅读模式

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

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

x
也就是拿到得到数据之后,画出了时域图,但是此时仍然对信号的最高频率不了解,下面如果作fft,但是采样频率并不知道,此时该怎么办?

[ 本帖最后由 zhangnan3509 于 2007-10-31 18:52 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-10-31 19:32 | 显示全部楼层
采样频率都不知道的话,没办法知道具体的频率,做FFT只能看出信号在0到分析频率(采样频率的一半)之间的相对分布,或者说得到以采样频率归一化的频率。
发表于 2007-10-31 19:36 | 显示全部楼层
数据怎么会不知道采样时间呢???知道了采样时间不就知道采样频率了?
 楼主| 发表于 2007-10-31 19:39 | 显示全部楼层

回复 #3 后知后觉 的帖子

你是说 数据的个数就是采样频率吗?我想不是这样的吧
 楼主| 发表于 2007-10-31 19:39 | 显示全部楼层

回复 #2 yangzj 的帖子

如果这个数据是自己模拟出来的呢?这时候怎么确定?
发表于 2007-10-31 19:41 | 显示全部楼层
怎么会问这个问题?贴出你的生成函数

[ 本帖最后由 VibrationMaster 于 2007-10-31 19:42 编辑 ]
发表于 2007-10-31 19:42 | 显示全部楼层

回复 #2 yangzj 的帖子

不知道采样时间,应该可以分析出频率成分吧?很多信号对时间没要求,但是一样可以分析频率成分呀。图像信号,就是和时间无关的,也可以进行频率成分分析:loveliness:

不知道是不是理解错了,前辈多指教
发表于 2007-10-31 19:48 | 显示全部楼层
就是在分析仿真信号的时候,这里不知道怎么确定采样频率
贴出我的原始仿真数据程序
function dz=Lorenz1(t,z)
we=50;
g1=0.1244;
g2=0.9273;k=1.56*10^6; kx=3.0*10^6;
fa=pi/2;C=1443.4;D=1876.4;
A1=8*sin(g1)*cos(fa/3);
B1=-8*cos(g1)*cos(fa/3)/0.025;
C1=-(8*sin(g1))^2*sin(fa/3);
D1=2*8*sin(g1)*8*cos(g1)*sin(fa/3)/0.025;
E1=-(-8*cos(g1)/0.025)^2*sin(fa/3);
A2=-8*cos(g2)*cos(fa/3);
B2=-8*sin(g2)*cos(fa/3)/0.025;
C2=-(8*cos(g2))^2*sin(fa/3);
D2=-2*8*sin(g2)*8*cos(g2)*sin(fa/3)/0.025;
E2=-(8*sin(g2)/0.025)^2*sin(fa/3);
a0=sin(fa/3)*(C*sin(g1)-D*cos(g2));
a1=sin(fa/3)*(C*A1*sin(g1)-D*A2*cos(g2))/0.025;
a2=sin(fa/3)*(C*B1*sin(g1)-D*B2*cos(g2));
a3=sin(fa/3)*(C*C1*sin(g1)-D*C2*cos(g2))/0.025/2;
a4=sin(fa/3)*(C*E1*sin(g1)-D*E2*cos(g2))/2;
a5=sin(fa/3)*(C*D1*sin(g1)-D*D2*cos(g2))/0.025/2;
b0=-sin(fa/3)*(C*cos(g1)+D*sin(g2));
b1=-sin(fa/3)*(C*A1*cos(g1)+D*A2*sin(g2))/0.025;
b2=-sin(fa/3)*(C*B1*cos(g1)+D*B2*sin(g2))+k;
b3=-sin(fa/3)*(C*C1*cos(g1)+D*C2*sin(g2))/0.025/2;
b4=-sin(fa/3)*(C*E1*cos(g1)+D*E2*sin(g2))/2;
b5=-sin(fa/3)*(C*D1*cos(g1)+D*D2*sin(g2))/0.025/2;
cwp=0.3;csp=0.3;cxz=0.3;
c1=cwp*sin(g1)^2+csp*cos(g2)^2;
c2=-cwp*sin(g1)*cos(g1)+csp*sin(g2)*cos(g2);
c3=c2;c4=cwp*cos(g1)^2+csp*sin(g2)^2;
c5=cxz;
dz=zeros(6,1);
dz(1)=z(2);
dz(3)=z(4);
dz(5)=z(6);
dz(2)=-(c1*z(2)+c2*z(4)+a1*z(1)+a2*z(3)+a3*z(1)^2+a4*z(3)^2+a5*z(1)*z(3))/0.33;
dz(4)=-(c3*z(2)+c4*z(4)+c5*z(6)+b1*z(1)+b2*z(3)+b3*z(1)^2+b4*z(3)^2+b5*z(1)*z(3)-k*z(5))/0.66;
dz(6)=(3*k*z(3)-3*k*z(5)+3*c5*z(4)-3*c5*z(6)+50*cos(we*t))/4.5;



clear;clc;
t0=linspace(0,20,500000);%积分时间
y0=[0.0001;0;0.0001;0;-0.0001;0;];
[t,z]=ode45(@Lorenz1,t0,y0);
plot(z(490000:500000,1)*1000,z(490000:500000,2))
xlabel('位移u_r(mm)')
ylabel('速度v_u_r(mm/s)')
我想要知道这里面有那些高频谐波分量,因此作fft分析,请大家看看如何思路
发表于 2007-10-31 19:50 | 显示全部楼层
采样频率即取样频率,指每秒钟取得信号样本的次数。所以,采样频率就是$1/{\delta t}$,其中$\delta t$为连续采两次信号的时间间隔。
采样频率/采样点数=频率分辨率。
对于已有信号数据,$\delta t$ 已知,数据点数已知,信号数据已知,应该就可以完成整个分析了。//个人理解

[ 本帖最后由 心灯 于 2007-10-31 19:51 编辑 ]
发表于 2007-10-31 20:28 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-8 14:27 编辑
原帖由 咕噜噜 于 2007-10-31 19:48 发表
就是在分析仿真信号的时候,这里不知道怎么确定采样频率
贴出我的原始仿真数据程序
function dz=Lorenz1(t,z)
we=50;
g1=0.1244;
g2=0.9273;k=1.56*10^6; kx=3.0*10^6;
fa=pi/2;C=1443.4;D=1876.4;
A1=8 ...


主程序下加了FFT变化的部分,得出图形如附件所示,不知道有没有问题。除了50Hz的以外,发现了两个频率,一个低频,一个高频,具体分析你来做吧


  1. close all;
  2. clear;clc;
  3. t0=linspace(0,20,500000);%积分时间
  4. y0=[0.0001;0;0.0001;0;-0.0001;0;];
  5. [t,z]=ode45(@Lorenz1,t0,y0);
  6. plot(z(490000:500000,1)*1000,z(490000:500000,2))
  7. xlabel('位移u_r(mm)')
  8. ylabel('速度v_u_r(mm/s)')
  9. t0=t;
  10. %%
  11. close all;
  12. dt= 4.000008000016000e-005; %t0(2)-t0(1);

  13. t=t0(490001:500000,1);
  14. m=length(t);
  15. y=z(490001:500000,2);
  16. figure;plot(t,y)
  17. f=0:1/((m-1)*dt):1/dt;
  18. yfft=fft(y);
  19. figure;plot(f(1:end/2),abs(yfft(1:end/2)/(m/2)),'-')

复制代码
forgululu.jpg

评分

1

查看全部评分

发表于 2007-10-31 20:32 | 显示全部楼层
我说的不是数据个数。是采样时间啊。

你得到的数据不都是一个个离散点下的数据吗?(只有离散数据才能被计算机处理)

既然是离散点下的数据,那就应该有采样时间,从而就有了采样频率了。
发表于 2007-10-31 20:32 | 显示全部楼层
时域信号是模拟信号可能不知道采样频率,如果是数字信号应该知道采样频率。

如果不知道采样频率,画出来的时间历程也就没有意义了。
发表于 2007-10-31 20:34 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-8 14:27 编辑
原帖由 花如月 于 2007-10-31 19:42 发表
不知道采样时间,应该可以分析出频率成分吧?很多信号对时间没要求,但是一样可以分析频率成分呀。图像信号,就是和时间无关的,也可以进行频率成分分析:loveliness:

不知道是不是理解错了,前辈多指教


怎么会不知道采样时间呢?

没有采样时间,那你的数据是怎么来的?不都是一个个的离散时间点下的数据吗?
发表于 2007-10-31 20:37 | 显示全部楼层
无论是模拟还是实际实验。都应先确定采样频率,然后就知道了采样时间,然后才能测得你需要的离散时间下的数据。

否则你的数据不是这样测得,那真的就像万老师说的那样没有意义。
发表于 2007-10-31 20:39 | 显示全部楼层

回复 #14 后知后觉 的帖子

采样频率等于采样时间的倒数?呵呵
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-22 17:19 , Processed in 0.072643 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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