声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

楼主: maxingcellar

[HHT] 急救:EMD_VISU.M的问题

[复制链接]
发表于 2007-3-13 09:14 | 显示全部楼层
强烈建议eight先生 就emd的一些在论坛上的热点问题,作专题的讲解!
不知道,您有没有这个时间?但是广大会员会和我一样有一样的想法的。希望您不要推辞。
回复 支持 反对
分享到:

使用道具 举报

发表于 2007-3-13 09:33 | 显示全部楼层
原帖由 zhangnan3509 于 2007-3-13 09:14 发表
强烈建议eight先生 就emd的一些在论坛上的热点问题,作专题的讲解!
不知道,您有没有这个时间?但是广大会员会和我一样有一样的想法的。希望您不要推辞。


呵呵,承蒙版主错爱,本人深感荣幸:loveliness: 。不过一来最近真的忙得很,每天都在撰写、修改论文,我马上就要毕业了,所以恐怕抽不出这个时间。二来其实最核心的部分我已经讲了(见帖子:emd方法的 几点不明 请高手予以解答),很多问题都是matlab或信号处理中的基本使用、基本概念问题,这些问题其实只要先看看基础书就可以了。另外,HHT中,EMD我较为熟悉一点,后面的谱分析、瞬时频率我也只是知道一点,所以专题讲解恐怕谈不上:lol

[ 本帖最后由 eight 于 2007-3-13 09:35 编辑 ]
 楼主| 发表于 2007-3-13 14:16 | 显示全部楼层
eight.很奇怪,我求得的一共是1764个点,我把时间定为t = 0:0.04/1764:0.04;
>> varargout = emd_visu(x,t,imf);
??? Error using ==> plot
Vectors must be the same lengths.

Error in ==> emd_visu at 47
plot(t,x)
结果是它们不一样长?但是我查了x的长度就是为1764,我时间这样有设错吗?
 楼主| 发表于 2007-3-13 14:24 | 显示全部楼层
已经搞定,t应该设为t = 0.04/1764:0.04/1764:0.04;谢谢eight这几天的耐心指教,谢谢:@) :@)
eight,你对toimage.m这个程序有研究吗?

[ 本帖最后由 maxingcellar 于 2007-3-13 14:35 编辑 ]
发表于 2007-3-13 15:00 | 显示全部楼层
我是新人(大二的学生)刚接触信号,现在有一个问题,请各位大牛帮帮忙。(因为这个帖子比较火)。呵呵!
n=1024;
A=1;
f1=50;
fs=512;
t=0:1/fs:(n-1)/fs;
f2=30;
f3=10;
x1=A*sin(2*pi*f1*t);
x2=A*sin(2*pi*f2*t);
x3=A*sin(2*pi*f2*t);
x=x1+x2+x3;
subplot(2,1,1);
plot(t,x);
axis([0,0.1,-5,5]);
title('正弦信号');
y=fft(x);
y1=2*abs(y)/n;
ff=0:fs/n:fs*(n-1)/n;
subplot(2,1,2);
plot(ff,y1);
axis([0,100,0,5]);
title('正弦信号叠加的傅立叶变换')
做了几个叠加的傅立叶变换,但是感觉效果不对,希望各位指点。
发表于 2007-3-13 15:03 | 显示全部楼层

回复 #35 zhangnan3509 的帖子

这不是我本人 zhangnan3509发的,这是别人错用我的ID发的。特此声明!:'(
发表于 2007-3-13 15:26 | 显示全部楼层
原帖由 maxingcellar 于 2007-3-13 14:16 发表
eight.很奇怪,我求得的一共是1764个点,我把时间定为t = 0:0.04/1764:0.04;
>> varargout = emd_visu(x,t,imf);
??? Error using ==> plot
Vectors must be the same lengths.

Error in ==> e ...



我之前不是跟你说要调整一下 t 的起始时间,使得与它的长度为1764吗? 我想应该是 t = 0.04/1764:0.04/1764:0.04,你再看看这时候  t 的长度是否1764,不行的话继续调
发表于 2007-3-13 15:30 | 显示全部楼层
原帖由 maxingcellar 于 2007-3-13 14:24 发表
已经搞定,t应该设为t = 0.04/1764:0.04/1764:0.04;谢谢eight这几天的耐心指教,谢谢:@) :@)
eight,你对toimage.m这个程序有研究吗?



就是了

没有用过toimage.m,刚看了一下:
%            - splx : number of columns of the output im (time resolution).
%                     If different from length(t), works only for uniform
%                     sampling.
%            - sply : number of rows of the output im (frequency resolution).

似乎就是时域和频域的采样分辨率,也就是输入的列数和行数
发表于 2007-3-13 15:32 | 显示全部楼层
原帖由 zhangnan3509 于 2007-3-13 15:03 发表
这不是我本人 zhangnan3509发的,这是别人错用我的ID发的。特此声明!:'(



错用?借用吧
发表于 2007-3-13 15:40 | 显示全部楼层
原帖由 zhangnan3509 于 2007-3-13 15:00 发表
我是新人(大二的学生)刚接触信号,现在有一个问题,请各位大牛帮帮忙。(因为这个帖子比较火)。呵呵!
n=1024;
A=1;
f1=50;
fs=512;
t=0:1/fs:(n-1)/fs;
f2=30;
f3=10;
x1=A*sin(2*pi*f1*t);
x2=A* ...



不知道他所指的问题是否求不出三种频率。试试先阅读一下这个帖子:[原创]关于FFT的频谱对应关系
发表于 2007-3-13 16:07 | 显示全部楼层
我有自己的号了,谢谢eight哥哥,谢谢(见习)版主哥哥:lol
 楼主| 发表于 2007-3-13 16:19 | 显示全部楼层
[im,tt] = toimage(A,f,t,splx,sply)那对于f呢?瞬时时间是t = 0.04/1764:0.04/1764:0.04;那瞬时频率f该为多少?很疑惑:@L

[ 本帖最后由 maxingcellar 于 2007-3-13 16:35 编辑 ]
 楼主| 发表于 2007-3-13 19:19 | 显示全部楼层
我用[fnormhat,t]=instfreq(x,t,L,trace);这个求出瞬时频率只有1762项少了2个,这是怎么回事呢?eight
发表于 2007-3-13 19:29 | 显示全部楼层
小女子看过帖子之后,还是有问题,为什么在6Hz的位置上还出现呢?
fs = 10;          %采样频率
N = 1024;           %采样点数
t = (0:N-1)/fs;     %采样时间序列s

a = 0.75;
w = 4;
x = a*cos(2*pi*w*t);

subplot(2,1,1);
plot(t, x);
xlabel('t/s');

xf = 2*abs(fft(x))/N;   


df = fs/N;          %频率分辨率Hz

f = (0:N-1)*df;    %频域序列

subplot(2,1,2);
plot(f, xf);
xlabel('f/Hz');
11.jpg
发表于 2007-3-13 19:49 | 显示全部楼层
原帖由 maxingcellar 于 2007-3-13 19:19 发表
我用=instfreq(x,t,L,trace);这个求出瞬时频率只有1762项少了2个,这是怎么回事呢?eight



不懂,我没有做过瞬时频率这部分,你先看看其原理吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 05:24 , Processed in 0.099108 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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