求数据的频谱图
可能是很笨的问题,但是却困扰了一个星期。希望高手、大侠能够帮助,领导天天催,实在没办法了。是这样:每天得到一个数据,共268天,也就是有268个数据,想求这269个数据的频谱图,不知道怎么求,用fft,然后呢,实在搞不懂,不是搞这个的,可是硬着头皮也不行,求求你们啦,:'(部分数据,y=[ 309280 252635873328 4073 456938404890549410200 462656306105 510262425076 6108 71106024],最后一天的期限了,:@Q
[ 本帖最后由 xinyuxf 于 2007-7-22 12:11 编辑 ] clc
clear all
file_choice = input('');
%读取外部文件
if(file_choice==1)
= uigetfile('*.*');
filename = fullfile(pathname, filename);
fid = fopen(filename,'r');
channel = fscanf(fid,'%g ',);
else
channel = input(' Enter the matrix name:');
end
motor_parameter.sample_fre=5000;
motor_parameter.analysis_num=length(channel);
t=0:1/motor_parameter.sample_fre:motor_parameter.analysis_num/motor_parameter.sample_fre;
y=fft(channel); %傅立叶变换
%fft及时间曲线绘图
motor_parameter.analysis_num=length(channel); %信号的分析点数
t=0:1/motor_parameter.sample_fre:motor_parameter.analysis_num/motor_parameter.sample_fre;
f=motor_parameter.sample_fre*(0:motor_parameter.analysis_num-1)/motor_parameter.analysis_num;
subplot(2,2,1)
plot(t(1:motor_parameter.analysis_num),channel(1:motor_parameter.analysis_num)) %绘制时域波形
subplot(2,2,2)
plot(f(1:motor_parameter.analysis_num/2),2*abs(y(1:motor_parameter.analysis_num/2))/motor_parameter.analysis_num)%绘制幅频波形 motor_parameter.sample_fre是采样频率,根据你的情况改下,不知道有用不
非常感谢lvma6 !
非常感谢lvma6 !
页:
[1]