利用小波变换进行时频分析时,如何进行选取采样频率?
源程序:clear;
clc;
fs=1024;%采样频率,可根据需要设置采样频率,一般为2的整数次幂
% %f1=100;
% f2=200;
% t=0:1/fs:1;
R=xlsread('Gravity');%读取数据
t=R(:,1);
s=R(:,2);
%s=10*sin(2*pi*f1*t)+15*sin(2*pi*f2*t);%两个不同频率正弦信号合成的仿真信号
%s=sin(2*pi*f1*t)/2;%两个不同频率正弦信号合成的仿真信号
%%%%%%%%%%%%%%%%%小波时频图绘制%%%%%%%%%%%%%%%%%%
wavename='cmor3-3';
totalscal=256; %尺度序列的长度,即scal的长度
wcf=centfrq(wavename); %小波的中心频率
cparam=2*wcf*totalscal; %为得到合适的尺度所求出的参数
a=totalscal:-1:1;
scal=cparam./a; %得到各个尺度,以使转换得到频率序列为等差序列
coefs=cwt(s,scal,wavename); %得到小波系数
f=scal2frq(scal,wavename,1/fs); %将尺度转换为频率
imagesc(t,f,abs(coefs)); %绘制色谱图
colorbar;
%colormap(flipud(gray));% 黑白显示,打印比较清晰
xlabel('时间 t/s');
ylabel('频率 f/Hz');
title('小波变换时频图');
所读取的数据中就是一些随时间变化的离散值。当采样频率fs=1024时,得到图
当采样频率fs=1024时,得到图
两张图的纵坐标的变化范围随fs的变化进行变化 这是怎么回事?
纵坐标就是频率轴,你采样频率fs设为1024,那么频率轴的最高频率就是奈奎斯特频率是fs/2,这个和fft是一样的。 不明白,你写的程序是一个图fs1024的那个,下面的图就应该是对的,但是第一个图你是怎么来的呢,好像是没说清楚吧? fred110 发表于 2013-2-26 10:06 static/image/common/back.gif
不明白,你写的程序是一个图fs1024的那个,下面的图就应该是对的,但是第一个图你是怎么来的呢,好像是没说 ...
第一个图是fs=512时所绘制的图,第二个是fs=1024时所绘制的图 本帖最后由 寂寞的部落 于 2013-3-12 22:03 编辑
我也遇到相同的问题,这个与你数据的采样频率有关,采样频率设成你数据信号的采样频率 请问,此处的采样频率是不是收集数据时的采样频率呢,我采集数据时的采样频率是1250Hz,这里是不是要把fs设为2500呢
补充内容 (2013-10-10 09:03):
“totalscal=256; %尺度序列的长度,即scal的长度”
请问256如何计算得到
页:
[1]