Anonymous 发表于 2010-11-10 20:45

请问:一个信号在另外一个信号上的投影怎么实现

如题,一个正弦信号z,以及一个在z上加了噪声后的信号y。用y在z上进行投影,这个过程怎样实现呢?有没有投影的matlab函数呢?多谢

zhouyang664 发表于 2010-11-10 21:21

这几天咋竟是信号处理的问题跑来matlab讨论区问了...

chenlu1986 发表于 2010-11-10 21:35

回复 2 # zhouyang664 的帖子

啊?不好意思啊 我以为这个问函数的问题是在这个版块发呢。偶错了。。。不过希望本版块有好心人帮忙解答吧~~~~~~

zhouyang664 发表于 2010-11-10 22:37

我看希望不大,专业性挺强的,
你先再等等,不行的话我再给你整到信号处理专区去!

chenlu1986 发表于 2010-11-12 19:06

本帖最后由 chenlu1986 于 2010-11-12 19:06 编辑

回复 4 # zhouyang664 的帖子

谢谢,你还是给俺整到信号处理区吧 谢谢 {:{28}:}

JG5BVICTOR 发表于 2010-11-16 11:04

回复 1 # chenlu1986 的帖子

矢量向矢量投影就是矢量点乘再除以投影轴的模(y.*z)/|z|,但我觉得你貌似你是想降噪才去投影的。所以我编写了一段简单的Matlab程序给你看看。%Projection using the method of Global Projection denoise
clear;
clc;
load LorenzSNR.mat;
dim=9;
tau=1;
=phasespace(Y,dim,tau);%reconstruct the time series
=svd(X);
s=diag(s);
plot(s);
p=input('确定阶数p的大小:');
v1=v(:,1:p);
Y=X*v1*v1';
plot(Y(:,1));
phasespace的代码
function =phasespace(x,dim,tau)
%Syntax: =phasespace(x,dim,tau)
%___________________________________
%
% The phase space reconstruction of a time series x whith the Method Of Delays
% (MOD), in embedding dimension m and for time dalay tau.
%
% Y is the trajectory matrix in the reconstructed phase space.
% T is the phase space length.
% x is the time series.
% dim is the embedding dimension.
% tau is the time delay.
%
%
% Reference:
% Takens F (1981): Detecting strange attractors in turbulence. Lecture notes in
% Mathematics, 898. Springer.
%
%
% Alexandros Leontitsis
% Department of Education
% University of Ioannina
% 11 Mar 2001.

if nargin<1 | isempty(x)==1
   error('You should provide a time series.');
else
   % x must be a vector
   if min(size(x))>1
      error('Invalid time series.');
   end
   x=x(:);
   % N is the time series length
   N=length(x);
end

if nargin<2 | isempty(dim)==1
    dim=2;
else
    % dim must be scalar
    if sum(size(dim))>2
      error('dim must be scalar.');
    end
    % dim must be an integer
    if dim-round(dim)~=0
      error('dim must be an integer.');
    end
    % dim must be positive
    if dim<=0
      error('dim must be positive.');
    end
end

if nargin<3 | isempty(tau)==1
    tau=1;
else
    % tau must be scalar
    if sum(size(tau))>2
      error('tau must be scalar.');
    end
    % tau must be an integer
    if tau-round(tau)~=0
      error('tau must be an integer.');
    end
    % tau must be positive
    if tau<=0
      error('tau must be positive.');
    end
end

% Total points on phase space
T=N-(dim-1)*tau;

% Initialize the phase space
Y=zeros(T,dim);

% Phase space reconstruction with MOD
for i=1:T
   Y(i,:)=x(i+(0:dim-1)*tau)';
end

JG5BVICTOR 发表于 2010-11-16 11:30

第一次回帖,好多东西部晓得咋弄,见谅。我把投影程序传上来了,有不妥的地方还请各位专家,批评指正。明显看出来由降噪的效果,这是向吸引子主流形的方向投影的结果(程序中P的选择),个人觉得这也是SVD降噪的本质所在,但有些问题是,SVD降噪,奇异谱降噪都是选用延迟时间为1(本程序也一样),我试过用互信息量求得的最佳延迟时间进行相空间重构(本列中最佳延迟时间为16左右),无法确定阶数P,你是北京科技大学的学生,可以去问一下徐金梧教授,他原来做过局部投影降噪算法(延迟时间不为1),同时他的几个有才华(个人这么认为)的博士生:吕志民、阳建宏等主流形识别、投影降噪方面做过很多的研究,可以去请教一下他们撒。去找他们要局部投影降噪的程序(最好有他们做成功的实例)好好研究一下,顺便说一句如果要到了请发一份给我,谢谢了!

JG5BVICTOR 发表于 2010-11-16 11:32

chenlu1986 发表于 2010-11-19 16:54

回复 6 # JG5BVICTOR 的帖子

谢谢,已经发站内信给你回复了,多谢!

冰冰女 发表于 2011-6-24 11:44

我也想要啊,可不可以也给我啊???{:{26}:}

chenlu1986 发表于 2011-6-24 17:47

回复 10 # 冰冰女 的帖子

呵呵 我没有搞到程序。后来不研究这块也就没再管了 不好意思啊

JG5BVICTOR 发表于 2011-6-25 15:02

回复 10 # 冰冰女 的帖子

我怎么把程序传给你?我的邮箱:JG5BVICTOR@126.com ,但是局部投影去噪的程序貌似很过时了,我现在在做流行学习这块了,不过局部投影降噪的程序我有,只不过从振动论坛上下的,运行过,有些降噪效果!
页: [1]
查看完整版本: 请问:一个信号在另外一个信号上的投影怎么实现