zhangnan3509 发表于 2007-3-13 09:14

强烈建议eight先生 就emd的一些在论坛上的热点问题,作专题的讲解!
不知道,您有没有这个时间?但是广大会员会和我一样有一样的想法的。希望您不要推辞。

eight 发表于 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 编辑 ]

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 ==> emd_visu at 47
plot(t,x)
结果是它们不一样长?但是我查了x的长度就是为1764,我时间这样有设错吗?

maxingcellar 发表于 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 编辑 ]

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*sin(2*pi*f2*t);
x3=A*sin(2*pi*f2*t);
x=x1+x2+x3;
subplot(2,1,1);
plot(t,x);
axis();
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();
title('正弦信号叠加的傅立叶变换')
做了几个叠加的傅立叶变换,但是感觉效果不对,希望各位指点。

zhangnan3509 发表于 2007-3-13 15:03

回复 #35 zhangnan3509 的帖子

这不是我本人 zhangnan3509发的,这是别人错用我的ID发的。特此声明!:'(

eight 发表于 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,不行的话继续调

eight 发表于 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).

似乎就是时域和频域的采样分辨率,也就是输入的列数和行数

eight 发表于 2007-3-13 15:32

原帖由 zhangnan3509 于 2007-3-13 15:03 发表
这不是我本人 zhangnan3509发的,这是别人错用我的ID发的。特此声明!:'(


错用?借用吧

eight 发表于 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的频谱对应关系

bingbing1110 发表于 2007-3-13 16:07

我有自己的号了,谢谢eight哥哥,谢谢(见习)版主哥哥:lol

maxingcellar 发表于 2007-3-13 16:19

= toimage(A,f,t,splx,sply)那对于f呢?瞬时时间是t = 0.04/1764:0.04/1764:0.04;那瞬时频率f该为多少?很疑惑:@L

[ 本帖最后由 maxingcellar 于 2007-3-13 16:35 编辑 ]

maxingcellar 发表于 2007-3-13 19:19

我用=instfreq(x,t,L,trace);这个求出瞬时频率只有1762项少了2个,这是怎么回事呢?eight

bingbing1110 发表于 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');

eight 发表于 2007-3-13 19:49

原帖由 maxingcellar 于 2007-3-13 19:19 发表
我用=instfreq(x,t,L,trace);这个求出瞬时频率只有1762项少了2个,这是怎么回事呢?eight


不懂,我没有做过瞬时频率这部分,你先看看其原理吧
页: 1 2 [3] 4
查看完整版本: 急救:EMD_VISU.M的问题