yyfei11 发表于 2008-4-22 15:41

关于频谱显示,频率分辨率的问题

我在对医学信号进行频谱分析,采样率为60hz,做fft时取256个信号点,fft(x,N)中的N=36000,想得到的频率分辨率为1/60,且只想观察到0.5到5hz的频谱,请问x轴怎么显示啊???

下面是我的源程序和图,我怎么得到的是0到30hz,且频率分辨率为何是5??

clear all;
close all;
clc;

load ecgdatat.txt
x=ecgdatat;
Fs=360;%原始信号的采样率
l=size(x);%4096个点

%对前4080个点采用几点平均法对原信号进行重采样fs=60
k=6;
s=zeros(680,1);
for i=1:680
    s(i)=mean(x((1+(i-1)*k):(1+(i-1)*k+k-1)));
end
fs=60;%重采样后的采样率


%低通滤波海明窗
n=64;%滤波器阶数
wn=15/180;%归一化截至频率1对应(fs/2)处
b1=fir1(n,wn,'low');%默认海明窗
y=filter(b1,1,s);
figure(1);
freqz(b1,1);
figure(2);
subplot(211);
plot(s);
subplot(212);
plot(y);
%频谱分析
N=3600;
py=fft(s(1:256),N);
mag=abs(py)*2/N;
f=(0:length(py)-1)*fs/length(py);
%f=(30:1:300)*(1/60);
figure(5);
plot(f(1:N/2),mag(1:N/2));%关键是plot的x轴不会显示,要求0.5到5hz
grid on;

[ 本帖最后由 eight 于 2008-4-22 17:26 编辑 ]

yyfei11 发表于 2008-4-22 16:01

数据太大传不上去,图怎么也帖不上呢


在线等

yyfei11 发表于 2008-4-22 16:11

这是我得到的频谱图

yyfei11 发表于 2008-4-22 16:16

再次试传下数据:@o

yyfei11 发表于 2008-4-22 16:17

图跟数据都上传了,请大家帮忙分析下,感激不尽谢谢!!!:handshake

songzy41 发表于 2008-4-22 20:37

原帖由 yyfei11 于 2008-4-22 15:41 发表 http://www.chinavib.com/forum/images/common/back.gif

我在对医学信号进行频谱分析,采样率为60hz,做fft时取256个信号点,fft(x,N)中的N=36000,想得到的频率分辨率为1/60,且只想观察到0.5到5hz的频谱,请问x轴怎么显示啊???

下面是我的源程序和图,我怎么得到的是0到30hz,且频率分辨率为何是5??

因为在FFT变换中,频谱在N/2+1时对应于fs/2(N/2时对应fs/2之前的1条谱线),楼主在s中采样频率为60hz,fs/2便是30hz,所以plot(f(1:N/2),mag(1:N/2))是显示了从0到fs/2之前的1条谱线。
而楼主认为频率分辨率为何是5,不知是如何来的?
按楼主的要求:“频率分辨率为1/60,且只想观察到0.5到5hz的频谱”,把程序稍作修改(前面部分都没变,只把稍作改动的部分列出):
%频谱分析
N=3600;
s=s-mean(s);
py=fft(s(1:256),N);
mag=abs(py)*2/length(s);
df=fs/N;
f=(0:length(py)-1)*df;
%f=(30:1:300)*(1/60);
figure(5);
plot(f(1:N/2),mag(1:N/2));%关键是plot的x轴不会显示,要求0.5到5hz
axis(); grid on;
得图有

[ 本帖最后由 songzy41 于 2008-4-22 20:39 编辑 ]

yyfei11 发表于 2008-4-22 22:07

多谢楼上的,:handshake
刚做这方面,感觉不是很懂,差不多都是照猫画虎
我再仔细看看,以后还要多请教你了

这样做了后的频率分辨率是1/60吗?
还有我不太明白:频率分辨率是1/60, 是不是就是说图形显示时每小格是1/60?这个我不是很懂,老师说让我求得的FFT的频率分辨是1/60,我的理解是每小格必须是1/60,这样频谱显示的时候就细致了。这样对吗?

songzy41 发表于 2008-4-23 09:23

在FFT中它的频率分辨率是指两条谱线之间的频率间隔,我在程序中用df来表示:
df=fs/N=60/3600=1/60
所以频率分辨率是1/60。而画图时的打格线可以人为地去划分,如果在0.5-5Hz的这张图中,以1/60Hz来打格,则整张图都是打格线了。

yyfei11 发表于 2008-4-23 11:47

:@) :@) :@) :@) :@)
谢谢,我明白了

sucsu01 发表于 2008-4-24 18:50

学学

呵呵
学习下
刚开始基础小波分析

yangzhong_vp 发表于 2008-4-30 13:17

数据分析软件

有需要对各种振动信号采集和分析仪器,数据分析的请关注以下网址
http://www.vipc.com.cn/

miwueshine 发表于 2013-1-8 15:40

{:{39}:},一直不断学习中。。。。
页: [1]
查看完整版本: 关于频谱显示,频率分辨率的问题