首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相关系数与信噪比

相关系数与信噪比
EN

Stack Overflow用户
提问于 2014-01-28 13:58:18
回答 1查看 1.7K关注 0票数 1

我感兴趣的是一个参考信号和一系列其他信号之间的相关性。为此,我使用了斯皮尔曼的柯夫。此外,我想解释一下,为什么某些数据的相关性更强,而其他数据的更弱的。显而易见的答案是:“嗯,信号是相似的/不是相似的”。我的想法是,我希望它们都是相似的,这就是为什么我对它们感兴趣的原因。

假设我有这三个信号:

代码语言:javascript
复制
ref = [0.153698000000000    0.159227000000000   0.153578000000000   0.135617000000000   0.106725000000000   0.0720750000000000  0.0383580000000000  0.00419000000000000 -0.0406150000000000 -0.104511000000000  -0.178757000000000  -0.237172000000000  -0.248983000000000  -0.201136000000000  -0.112051000000000  -0.0171030000000000 0.0556220000000000  0.100198000000000   0.127225000000000   0.146429000000000   0.156469000000000   0.148586000000000   0.120207000000000   0.0822790000000000  0.0465630000000000  0.0127520000000000  -0.0302530000000000 -0.0892330000000000 -0.151656000000000  -0.187429000000000  -0.171909000000000  -0.106635000000000  -0.0207050000000000 0.0504730000000000  0.0890630000000000  0.101382000000000   0.102716000000000   0.103612000000000   0.101693000000000   0.0877250000000000  0.0557510000000000  0.00836400000000000 -0.0466150000000000 -0.101411000000000  -0.149962000000000  -0.184511000000000  -0.192687000000000  -0.163118000000000  -0.0969680000000000 -0.0117410000000000 0.0659480000000000  0.116307000000000   0.136674000000000   0.136510000000000   0.127171000000000   0.112167000000000   0.0907370000000000  0.0624430000000000  0.0266490000000000  -0.0188730000000000 -0.0752460000000000 -0.139144000000000  -0.194234000000000  -0.216676000000000  -0.188924000000000  -0.114953000000000  -0.0216350000000000 0.0608270000000000  0.116310000000000   0.147004000000000   0.166052000000000   0.179028000000000   0.180012000000000   0.161279000000000   0.121606000000000   0.0727670000000000  0.0258380000000000  -0.0186780000000000 -0.0675800000000000 -0.127120000000000  -0.188126000000000  -0.225266000000000  -0.212062000000000  -0.145823000000000  -0.0534320000000000 0.0279870000000000  0.0772470000000000  0.0977090000000000  0.108232000000000   0.121362000000000   0.131944000000000   0.126989000000000   0.100732000000000   0.0629320000000000  0.0262270000000000  -0.00548300000000000    -0.0427550000000000 -0.0963450000000000 -0.158377000000000  -0.203218000000000  -0.203878000000000  -0.149980000000000  -0.0592800000000000 0.0337540000000000  0.0997230000000000  0.128674000000000   0.133482000000000   0.128745000000000   0.122315000000000   0.112027000000000   0.0905840000000000  0.0587200000000000  0.0247430000000000  -0.00688800000000000    -0.0431370000000000 -0.0940400000000000 -0.156244000000000  -0.207234000000000  -0.217930000000000  -0.171546000000000  -0.0821420000000000 0.0148240000000000  0.0863420000000000  0.119430000000000   0.125936000000000   0.125051000000000   0.127984000000000   0.128781000000000   0.115835000000000   0.0852330000000000  0.0443400000000000  0.00490900000000000 -0.0255570000000000 -0.0544690000000000 -0.0948830000000000 -0.148332000000000  -0.197016000000000  -0.212808000000000  -0.179499000000000  -0.103302000000000  -0.0123390000000000 0.0617030000000000  0.104228000000000   0.119877000000000   0.122972000000000   0.125183000000000   0.125265000000000   0.114951000000000   0.0870480000000000  0.0447450000000000  -0.000855000000000000   -0.0396970000000000 -0.0696810000000000]

x= [0.271434000000000   0.288274000000000   0.209192000000000   0.0655440000000000  -0.0820200000000000 -0.148026000000000  -0.108114000000000  0.00370200000000000 0.0903880000000000  0.0670870000000000  -0.0543520000000000 -0.198260000000000  -0.266923000000000  -0.210663000000000  -0.0721470000000000 0.0476940000000000  0.0976820000000000  0.0815330000000000  0.0550950000000000  0.0509430000000000  0.0654310000000000  0.0761700000000000  0.0716700000000000  0.0496400000000000  0.0296730000000000  0.00932700000000000 -0.0220210000000000 -0.0918530000000000 -0.191917000000000  -0.273027000000000  -0.278303000000000  -0.193660000000000  -0.0558200000000000 0.0496270000000000  0.0822850000000000  0.0492800000000000  0.00158300000000000 -0.0250730000000000 -0.000159000000000000   0.0643930000000000  0.133856000000000   0.165200000000000   0.124040000000000   0.0217580000000000  -0.0914600000000000 -0.162790000000000  -0.156950000000000  -0.0734400000000000 0.0277270000000000  0.0829160000000000  0.0694490000000000  0.0286590000000000  0.0242190000000000  0.0770240000000000  0.144502000000000   0.164170000000000   0.111881000000000   0.0246120000000000  -0.0525930000000000 -0.0932270000000000 -0.117220000000000  -0.162008000000000  -0.231990000000000  -0.283092000000000  -0.257563000000000  -0.140892000000000  -0.0109250000000000 0.0575570000000000  0.0398860000000000  -0.0119950000000000 -0.0311610000000000 0.00895200000000000 0.0767310000000000  0.111818000000000   0.0770950000000000  -0.00480400000000000    -0.0648260000000000 -0.0590600000000000 -0.0239010000000000 -0.0113260000000000 -0.0503820000000000 -0.119773000000000  -0.166668000000000  -0.153385000000000  -0.0951590000000000 -0.0134120000000000 0.0758570000000000  0.169250000000000   0.265192000000000   0.320269000000000   0.312399000000000   0.248779000000000   0.170381000000000   0.116544000000000   0.0825490000000000  0.0229900000000000  -0.112957000000000  -0.311565000000000  -0.477718000000000  -0.528972000000000  -0.441705000000000  -0.277521000000000  -0.132652000000000  -0.0641130000000000 -0.0469650000000000 0.00307500000000000 0.145157000000000   0.348731000000000   0.493012000000000   0.479475000000000   0.325143000000000   0.114432000000000   -0.0427650000000000 -0.100921000000000  -0.0959820000000000 -0.103768000000000  -0.157386000000000  -0.232400000000000  -0.260288000000000  -0.205974000000000  -0.107415000000000  0.00374900000000000 0.0959960000000000  0.175779000000000   0.259562000000000   0.343460000000000   0.392091000000000   0.364989000000000   0.262129000000000   0.115872000000000   -0.0238940000000000 -0.112717000000000  -0.167219000000000  -0.228616000000000  -0.308254000000000  -0.357301000000000  -0.323026000000000  -0.200829000000000  -0.0399150000000000 0.0773370000000000  0.106666000000000   0.0934510000000000  0.134411000000000   0.283691000000000   0.484582000000000   0.615659000000000   0.578599000000000   0.376662000000000   0.121242000000000   -0.0499920000000000 -0.0908270000000000 -0.0512570000000000 -0.0251360000000000]

y=[0.0805620000000000   0.0193840000000000  0.0317950000000000  0.0923790000000000  0.157971000000000   0.196456000000000   0.213476000000000   0.217857000000000   0.199800000000000   0.132178000000000   0.00511700000000000 -0.129106000000000  -0.200164000000000  -0.161512000000000  -0.0533460000000000 0.0447720000000000  0.0777510000000000  0.0457860000000000  -0.000266000000000000   -0.00166500000000000    0.0469650000000000  0.100767000000000   0.105057000000000   0.0487410000000000  -0.0139600000000000 -0.0339380000000000 -0.0268990000000000 -0.0467280000000000 -0.117983000000000  -0.191721000000000  -0.206983000000000  -0.126591000000000  0.0368150000000000  0.187842000000000   0.245185000000000   0.207442000000000   0.113449000000000   0.0277730000000000  -0.0201070000000000 -0.0340330000000000 -0.0418780000000000 -0.0577930000000000 -0.0687330000000000 -0.0774580000000000 -0.112039000000000  -0.203065000000000  -0.325518000000000  -0.408340000000000  -0.384561000000000  -0.233895000000000  -0.000200000000000000   0.206361000000000   0.301673000000000   0.258327000000000   0.158405000000000   0.0850420000000000  0.0638960000000000  0.0601920000000000  0.0267320000000000  -0.0495640000000000 -0.140141000000000  -0.216581000000000  -0.246500000000000  -0.220618000000000  -0.159008000000000  -0.0645680000000000 0.0638910000000000  0.195499000000000   0.292969000000000   0.314935000000000   0.253050000000000   0.141489000000000   0.0485870000000000  0.0141340000000000  0.00904500000000000 -0.0209880000000000 -0.102024000000000  -0.191704000000000  -0.229835000000000  -0.193077000000000  -0.117835000000000  -0.0788180000000000 -0.132543000000000  -0.227262000000000  -0.261066000000000  -0.146183000000000  0.0732720000000000  0.288526000000000   0.393861000000000   0.375488000000000   0.312956000000000   0.280953000000000   0.293536000000000   0.294787000000000   0.228394000000000   0.0812080000000000  -0.0979610000000000 -0.219818000000000  -0.247000000000000  -0.203883000000000  -0.152293000000000  -0.128943000000000  -0.114403000000000  -0.0782120000000000 -0.0208240000000000 0.0301690000000000  0.0414160000000000  0.00930500000000000 -0.0224010000000000 -0.0127020000000000 0.0374780000000000  0.0839880000000000  0.0805340000000000  0.0179880000000000  -0.0578820000000000 -0.103678000000000  -0.0949510000000000 -0.0417700000000000 0.0216980000000000  0.0582560000000000  0.0632220000000000  0.0520980000000000  0.0350020000000000  0.0327130000000000  0.0430200000000000  0.0648000000000000  0.0662060000000000  0.0380750000000000  0.00131200000000000 -0.0341550000000000 -0.0591350000000000 -0.0705680000000000 -0.0688930000000000 -0.0640920000000000 -0.0680670000000000 -0.0878340000000000 -0.112712000000000  -0.137633000000000  -0.136924000000000  -0.0989540000000000 -0.0408820000000000 0.0148740000000000  0.0569500000000000  0.0903410000000000  0.119637000000000   0.161266000000000   0.213775000000000   0.254719000000000   0.255163000000000   0.198274000000000   0.106108000000000   0.0180750000000000  -0.0376770000000000]

corrcoef(ref,x) = 0.7448 (我不知道为什么会得到4个值作为correcoef的结果)。corrcoef(ref,y) = 0.6860

现在,我不能用时间来判断原因或稍微弱一点的相关性,所以我试着观察频率:

现在,我猜是因为每个信号的信噪比。我想计算每个信号的信噪比,但这是我被困的地方。我找到的所有与信噪比有关的公式都事先知道哪一个是信号,哪个是噪声,但我不知道。我想计算信噪比的方法是取最高峰值的能量,然后除以其余峰值的能量,但我不知道如何在matlab中做到这一点。我想,对于最高的峰值,我可以有一个光标指向,但我如何计算其余的峰值的总和能量?

PS:我试过Matlab的a = snr(x) ;,我得到了

代码语言:javascript
复制
Undefined function 'snr' for input arguments of type 'double'.

即使我列出工具箱>>ver,信号处理工具箱版本6.19,它是一个列表。谢谢!

稍后编辑:如果我尝试这样做会怎样:

代码语言:javascript
复制
Energy = abs(fft(ref, NbOfPoints))  //get the magnitudes for FFT in NbOfPoint
Energy = Energy(1:NbOfPoints/2)     // keep the first half, the others are mirrored
[HP index] = max(Energy)            // get the magnitude of the highest peak and it's position
Energy(index)=0                     // set the Highest Peak to 0
SNR = HP / sum(Energy)              // compute magnitude of highest peak / sum of others

这有关系吗?结果明显偏低( 0.02 ~ 0.03 ),不知道这是否是一种比较信号和噪声的公认方法。也许我应该在最高峰周围选择一些豆子,而不是最高峰呢?比如(HP-2:HP+2)?

EN

回答 1

Stack Overflow用户

发布于 2014-02-05 10:42:00

当你试图解释为什么信号在时间域上或多或少相关时,你必须仔细地阅读信号的光谱域。虽然我理解你试图量化每个信号的信噪比的方法,但你也说你不知道什么是信号和什么是噪音。参考信号的图显示主谱峰存在谐波,这也是信号的一部分(而不是噪声)。

如果将两个信号的x-y图与参考信号相对应,这就是正在执行的相关操作。

代码语言:javascript
复制
plot (ref,x,'.')
hold on
plot (ref,y,'.r')

因此,在逐点(或逐个样本)的基础上,与x或y线性增长相关的参考信号增加,信号线性变化越大,它们的相关性就越强。

有时,看看互相关,看看信号中是否有任何滞后,是很有用的。如果是这样的话,您可能会发现峰值相关并不发生在滞后0(这相当于运行一个简单的相关),而是在信号之间存在一定程度的滞后。

代码语言:javascript
复制
[LAGS,C] = xcorr ([ref',x'])
plot(LAGS,C)

您可能还需要进行一致性分析,以查看两个信号之间的频率内容是相似的。这将帮助您决定信号是否位于光谱峰值是全部噪声,或者是否有其他的光谱内容(包括谐波)是实际的“信号”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21407554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档