声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1360|回复: 7

[编程技巧] [求助]时频转换

[复制链接]
发表于 2006-4-21 10:27 | 显示全部楼层 |阅读模式

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

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

x
现有离散的时域数据(xi,ti),xi为位移,ti为时间。怎样可以得到xi的频域数据?谢谢!
回复
分享到:

使用道具 举报

发表于 2006-4-21 22:03 | 显示全部楼层
fft
 楼主| 发表于 2006-4-22 10:24 | 显示全部楼层

回复

谢谢教授的指点!我编了一个小程序,但是还有一些问题不太明白,想再请教一下:
程序如下:
clear all
[a,b,c,d,e,g]=textread('aa.txt','%n%n%n%n%n%n');  % aa.txt为数据文件,其中第三列和第四列为本程序所用的数据
dt=0.034;  % dt为采样时间间隔,即每0.034秒采集一个数据
t=0:0.0340:0.0340*599;  % 数据文件中共有600个数据
x=d-c;  % x为力传感器测量值,后面对x进行傅氏转换
plot(t,x)
xlabel('时间(S)');ylabel('力(KPa)');
len=length(x);
y=fft(x);
Y=y.*conj(y)/len;
f=(1/dt)*(0:(len-1))/2/len;
figure(2)
plot(f,Y)
xlabel('频率(Hz)');ylabel('幅值')

请问:1.程序中第11行“f=(1/dt)*(0:(len-1))/2/len;”对频率f的取值范围对不对?这样得到的图形横轴(X轴)是不是真实的频率值?
2. 下图是PLOT的图,好像是对称的,是不是程序有些地方写错了?谢谢了!
7s8U2TdL.jpg
发表于 2006-4-23 09:57 | 显示全部楼层
1是对的
2fft结果是对称的,你取前一半就行了
 楼主| 发表于 2006-4-23 21:01 | 显示全部楼层
还有一个问题想请教一下教授:本程序是对力(单位是KPa)进行频谱分析,请问所得到的谱的单位是什么?(也就是图形的纵坐标的单位是什么?)谢谢!
发表于 2006-4-27 16:41 | 显示全部楼层
tt
发表于 2006-4-27 17:03 | 显示全部楼层
1是错的,应该是f=(1/dt)*(0:(len-1))/len,如果去掉后一半对称的话则是:f=(1/dt)*(0:(len/2-1))/len;
还有你做的并不是幅值谱,你要做单边幅值谱的话应该对FFT的结果取模后再乘2,而你现在做的是模的平方.
幅值谱的单位就是你x的单位
 楼主| 发表于 2006-4-28 16:04 | 显示全部楼层
谢谢yangzj的讲解!请问什么是单边幅值谱?为什么对fft取模后再乘以2呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-12 23:16 , Processed in 0.074266 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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