【问题标题】:Calculating the correlation of 2D signals with different sizes计算不同大小的二维信号的相关性
【发布时间】:2014-11-12 02:22:45
【问题描述】:

我正在尝试计算两个不同信号之间的相关性,如果信号具有相同的大小,它就可以完美地工作。但如果大小不同,则会出错。所以我想知道是否有任何方法可以将一个的大小更改为另一个,以便它们具有相同的大小?有什么帮助吗??

例如:

如果信号 1 是一个大小为 130X9 的矩阵,而信号 2 是另一个大小为 122X12 的矩阵,它们看起来一样......所以我需要将其中一个缩放到另一个,所以两者其中的大小可以是130X9122X12

我的代码:

norm_xcorr_mag = @(x,y)(max(abs(xcorr(x,y)))/(norm(x,2)*norm(y,2)));
norm_xcorr_mag(signal1,signal2);

【问题讨论】:

    标签: matlab matrix correlation


    【解决方案1】:

    如果你有signal processing toolbox

    A = randi(100,[130 9]);
    B = randi(100,[122 12]);
    MaxRow = max(size(A,1),size(B,1));
    MaxCol = max(size(A,2),size(B,2));
    NewA = resample(A,MaxRow,size(A,1));
    NewB = resample(B,MaxRow,size(B,1));
    NewA = resample(NewA',MaxCol,size(A,2))';
    NewB = resample(NewB',MaxCol,size(B,2))';
    

    NewANewB 都是 130x12

    你也可以试试intrep1

    【讨论】:

    • 非常感谢@Kamtal,它工作正常,但我需要知道它如何将数据从小尺寸重新采样到大尺寸?基于什么?它会影响信号形状吗?
    • @SMH。这里有一个信号形状的例子,stackoverflow.com/questions/26817222/…
    • 非常感谢您的帮助
    • @SMH,您还可以指定resample(signal,P,Q,order) 中使用的过滤器的order 以获得更精确的插值。
    • 那是完美的.. 谢谢堆@Kamtal
    猜你喜欢
    • 1970-01-01
    • 2017-12-29
    • 2019-04-17
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    相关资源
    最近更新 更多