liujing123 发表于 2008-4-11 22:22

关于hilbert求解析信号的问题,自己编的东西抖动厉害

function =blyf(N,L,T);
%FMLIN        Signal with linear frequency modulation.

%        N       : 采样点数
%        L: 传感距离(default: 1000)
%        T: 初始温度(default: 25)
%        P      : 应变 (default:0).
%        Y       : signal


if (nargin == 0),
error ( 'The number of parameters must be at least 1.' );
elseif (nargin == 1),
L=1000; T=25;
elseif (nargin == 2),
T=25;

end;

if (N <= 0),
error ('The signal length N must be strictly positive' );
elseif (T > 120) | (T < 20),
error ( 'fnormi and fnormf must be between 20 and 60' ) ;
else
m=ones(N,1);
n=(0:1:N-1)';
      t=n./(10^8);
   T1=(((n>=1)&(n<=200))*25.*m)+(((n>=201)&(n<=250)).*(n-176).*m)+(((n>=251)&(n<=N))*25.*m);
         w=11*10^9*(1+9.4*10^-5*(T1-T));
      x=2*10^-6*cos(w.*t);
end ;
   调用上面函数
    y=blyf(500);
       y=hilbert(y);%求其解析信号
   ifr=instfreq(y);%用瞬时频率函数求其瞬时频率
   plot(ifr);
   得出的结果应该是线性的,该怎么改进呢????

tjucruiser 发表于 2008-4-12 11:50

是边界抖动厉害,还是全部时间?

auwi_zxy 发表于 2008-4-12 14:20

我有过这方面的经验,在边界处有些抖动。

kevin19821 发表于 2008-4-12 14:47

是的 我上次作也是这样的

liujing123 发表于 2008-4-13 14:21

是反映频率线性变化的那部分,好像hilbert变换求解析信号有问题呀〉还没有解决呢。另外求瞬时频率的函数还应该看看,做出的结果不太对。如果将x=2*10^-6*cos(w.*t);换为x=2*10^-6*exp(j*w.*t);大家试一下,似乎就没有抖动了。可是想用instfreq()瞬时频率测量没有那么容易。
因为我是取了500个点,每一点上对应有温度,温度又反映信号的那一点的频率。这样仿真的信号。
求助一下:能不能将得到的x(t)进行一下平滑,更能反映真实的信号
谢谢大家!!!
页: [1]
查看完整版本: 关于hilbert求解析信号的问题,自己编的东西抖动厉害