查看: 1187|回復: 1|關注: 0
打印 上一主題 下一主題

奇迹觉醒2019最强职业: [未答復] matlab相干函數(功率譜方法)及窗函數相關問題

[復制鏈接]

新手

5 麥片

財富積分


奇迹觉醒女神之光 www.mhotr.icu 050


1

主題

3

帖子

0

最佳答案
跳轉到指定樓層
1#
發表于 2019-4-11 12:44:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 smilemat 于 2019-4-11 12:46 編輯

大神們,初來乍到,最近在做描述函數識別,遇到幾個問題:
首先,原理利用的是 ,即利用輸入輸出信號的互譜、自譜進行計算兩者的線性相關性。
我做了以下嘗試:
1、使用mscohere函數,得到

圖1

類似噪聲很大的圖像,不知道是否正確,這個相關系數應該如何看?是均值還是最高值的曲線呢?
2、想使用題目中的公式,用matlab帶的頻譜函數計算,與mscohere對比。
  1. fs=100;
  2. L1=1024;
  3. window=hamming(L1);
  4. noverlap=L1/2;
  5. [pcc_jz,w]=pwelch(K(2,:),window,noverlap);%Pcc
  6. [puu_jz,w]=pwelch(K(4,:),window,noverlap,w);%Puu 糾結的地方開始
  7. [pcu_jz,w]=cpsd(K(2,:),K(4,:),window,noverlap,w);%pcu
  8. rou=power(abs(pcu_jz),2)./pcc_jz./puu_jz;
  9. plot(w/pi,rou)
  10. figure
  11. mscohere(K(2,:),K(4,:),hamming(1024),514,1024)
復制代碼
發現在%糾結的地方,這幾行起,如果使用上述代碼,plot出來的與圖1有倍數的差別(看縱坐標的相關性),如圖

圖2

但是如果代碼中
  1. [pcc_jz,w]=pwelch(K(2,:),window,noverlap);%Pcc
  2. [puu_jz,w]=pwelch(K(4,:),window,noverlap,w);%Puu 糾結的地方開始
  3. [pcu_jz,w]=cpsd(K(2,:),K(4,:),window,noverlap,w);%pcu
復制代碼
變成
  1. [pcc_jz,w]=pwelch(K(2,:),window,noverlap);%Pcc
  2. puu_jz=pwelch(K(4,:),window,noverlap);%Puu  差別是,這一次不按照之前得出的w,去固定的后面函數的w
  3. pcu_jz=cpsd(K(2,:),K(4,:),window,noverlap);%pcu
復制代碼


圖3

不知道是為啥?本人是沒有學過信號相關的課程,不知道屬于什么學科內容呢?或者只是matlab設置參數中的內容?請指教!

3、最基本的問題,就是:

  1. rou=power(abs(pcu_jz),2)./pcc_jz./puu_jz;
復制代碼
這一行代碼是否符合題目中的那個公式呢?

理論上,附件里的K數據,希望計算出來的是接近1的數,現在算起來只有0.5,不知道是這個代碼寫的不對,或者就是數據本身相關性不好呢?

(在網上看到說,計算功率譜定義窗函數以后會有能量損失??)

感謝感謝!


附件(即代碼中的K):

jz.mat (609.4 KB, 下載次數: 2)

新手

5 麥片

財富積分


050


1

主題

3

帖子

0

最佳答案
2#
 樓主| 發表于 2019-4-18 12:21:24 | 只看該作者
給自己頂一下
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

站長推薦上一條 /4 下一條

快速回復 奇迹觉醒女神之光 返回列表