|
楼主 |
发表于 2007-3-18 10:52
|
显示全部楼层
谢谢,我做论文要编写一个从传感器信号来到最后诊断的软件,这个信号处理要我自己做,包括一些轴心轨迹图之类,都要自己编程,我对FFT了解不太熟,我只会把一个信号通过FFT确认其中有几倍频,并画出图来,但是我不知道怎么确定其中各种频率在通频中的份额。怎么办?
这是我原先写的论文中编的FFT的程序:
实验一 信号的Fourier分析
一、实验目的
加深Fourier变换和离散Fourier变换物理意义的理解,学会MATLAB 调用FFT对信号进行分析处理的基本方法。
二、实验要求
1. 将信号x(t)=sin(2*pi*50*t)+sin(2*pi*350*t)进行Fourier分析,采样频率fS=1000Hz, 调用fft函数,观察其幅频特性和功率谱密度,理解其x,y轴的意义。
2. 改变用于分析的信号采样点数(数据长度),进行FFT分析,解释其图形变化,说明频率分辨率的变化。
3. 改变采样频率(小于Naquist采样频率和较大频率),进行FFT分析,解释其图形变化。
4. 以同步频率进行采样,进行FFT分析,解释其图形变化。
5. 通过编程,举例说明数据采集中的频率混叠,栅栏效应,频谱泄漏现象。
6. 通过以上实验,分析归纳调用FFT时,对信号采样频率和采样点数的要求。
三、实验结果分析
1、 实验程序如下:
t=0:1/1000:1;
w=100*pi;
x=sin(w*t)+sin(7*w*t);
subplot(2,1,1);
plot(t,x);
ylabel('value');
xlabel('time');
title('original signal');
y=fft(x,1000)/1000;
ff=1000*(0:999)/1000;
subplot(2,1,2);
plot(ff,abs(y(1:1000)));
ylabel('amplitude');
xlabel('frequency');
[ 本帖最后由 eight 于 2008-3-24 16:32 编辑 ] |
|