如何找出的最大值振幅的二分之一是那一筆資料

data.rar

 

  請各位幫幫我…

  當我已經量到訊號後,並且已知訊號其最大值振幅時…

  那該如何找出的最大值振幅的二分之一是那一筆資料…

  也就是要如何逐一讀取單一筆資料,並進行比對,也同時記錄該筆資料Array Index number

  因為我不知道如何將圖形案的資料轉為陣列資料…

  附上檔案(data read.vi)與讀取的資料檔(AA1.txt)

  懇請各位先進幫幫忙

 謝謝

像這樣.......?

![](upload://5GqsRn9FgweOu9CN37t2EJiIK6i.jpeg)

data read1_Edit.vi

deomaxwell38552.9086111111

![](upload://AbErTYSKs4VmiH86KqTLfQ5A8mJ.jpeg)data read2.vi

不知你要的是不是這樣的波形

如果不是可以用畫的來表示

運算時間比較長我最近才學7.1以前都用6.1

應該還有更好的寫法

也請其他同好給予指導

bye238581.5035069444

看 sendin0300 的語意好像只是要最大振幅哪一點的INDEX,如果是這樣的話,哪直接抓單點會比較快,你參考一下我的作法,如果其他先進有更好的作法也請指點一下.

data read1.vi

KENLIN38553.4090277778

      

   file.rar

     真的很感謝大家熱心的幫忙…

    bye2 的解法跟我想要的答案比較符合

    可能我表達的不是很清楚

    我再重新描述我的問題…

    也希望各位高手們再給我指正與教導

    問題描述如下,配合附件的圖說明會比較清楚

   (因為我不會像Deomamwell一樣直接將圖形Post出來)

1、 從漣波線最大值處,往前找出第一筆的A=0.5Max值與index (從前面開始的第一點0.5Max),與從漣波線最大值處往後找第一筆的B=0.5Max值與index。(分別只需要找一筆的0.5Max值與index, 而且是Rise time )。

 (註:都僅需從漣波上升點,Rise time)

2、 如何找出紅色區間漣波線的頻率?  因振幅不同,所以我不知如何計算週期。

<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 

3、 如何找出白色線的遞增與遞減的值與相對應index ?  (我只會找最大值與最大值的index)。

應該是找peak or valley.

analyze-->signal processing->time domain->peak detecter

 

從第一個波形圖來看,你的三個波形該應是有相對應的關係的,建議你把這些關係分析出來用來作波形切割的依據哪才會有比較好的泛用性,否則就只能用來分析目前存檔的波形而已.就第2個問題我試了一下大概像下圖,不過我是以絕對位置來切出你所謂紅色區間的漣波波形,從頻譜上來看大概主波是落在1Hz左右,而Extract Single Tone Information VI所抓出來的頻率也在0.86Hz

data_read_1.vi

![](upload://inltMiCW5b6pu3qIQodNd26RPcR.jpeg)

<span =bold>sendin0300

   file.rar

這個檔案損毀可以重新再傳一次

sendin0300
根據你的問題1我寫了一個小程式

你看看是不是你想要的結果

我是用cursor來決定你要的最大值50%的位置

當然是從最max peak那個位置往前和往後找出最近的一個位置

因為你的程式我開不了所以我自己產生一個簡單的sin波來完成

另外兩個問題我有空在試試看

location.vi

有得到左右的location和數值

 

重新附上檔案…     問題.rar

真的非常感謝各位的幫忙…

sendin0300

我已將第二提與第三題做回覆

請參照內容將您的目的達成

問題回覆.doc

第一題現在對你應該不是太大問題

希望你在完成後將您的程式碼(屬於問題內容就好不需太多)公佈在這個版面

我也想知道是不是有更好的方法

你再看看   KENLIN 

之前第二題的分析與我所得到答案相同

bye238556.3824768519

 

問題1.rar

 

哇…我被考倒了

 

附上我可做的程度,但可能會讓bye2失望。  : )

 

我還不太懂你的這兩個提示步驟的用意及如何去作

"將這個陣列反轉當位準超過0.5以後的值設為1再將陣列反轉"

及 "你再將原始的陣列設定一個位準以上的值之後設為1可得到綠色線"

 

可是看到你的作法,讓我覺得這個技巧真的很利害,也使我受益良多…真的感謝你的協助與教導。

<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

不好意思, 發表一下意見, 之前太忙沒有跟上大家討論的腳步

雖然我沒有把所有的人的程式都run一次

但是sendin0300發問的問題中就有些錯誤

oscillometric method 是找 0.5倍最大峰值的峰值

也就是從所有峰值中找最接近0.5倍最大峰值的那一點

但是你現在是找0.5倍最大值的點, 那就會找到很多, 而且幾乎都不是你要的點

給你的心得, 你幾乎不可能剛好找到0.5倍最大峰值的峰值

所以只要找到最接近的峰值就可以了

因此, 我認為第一步是先將所有的峰值抓到才對

不過或許sendin0300有更好的作法也不一定, 我靜觀其變囉

yao38559.0775

解答.rar

我將我所製作的程式碼提供給各位參考

閱讀過sendin0300製作的程式

發現到

我的敘述寫的不是很好

還請大家多多指導

sendin0300

如果我的做法還沒達到你的目標的話

可以再說明詳細一些嗎

 

 



 

bye238559.3290509259

解答_1.rar

  還是要先感謝各位熱心的幫忙…謝謝囉…

  經由bye2與各位高手的教導和提示…

  我已經初步完成訊號有處理…

  有試著用waveform peak detection.vi 找每個漣波peak的最大值與index

  但不知為何在相同的pulse都會有二、三個peak值…

  因為從漣波peak的圖形可知,其只有24個peak,…

  可是我找出來都超過24個點…

  請問一下這問是要如何解決?? 

  

 yao好像對我的訊號的資料,好像蠻了解的…

  不知可否請問一下yao,對DBP與SBP的公式計算方式可否給建議… 

  真心的感謝大家的指導…

 

 

 

SBP - 收縮壓
DBP - 舒張壓

其實Oscillometric method的SBP及DBP的計算是一個統計的結果

SBP,DBP發生脈波振幅的比例大致在下列的範圍內

0.5 <= As/Am <= 0.6 (As:收縮壓時的振幅, Am:動脈平均壓的振幅, 也就是最大振幅)

0.6 <= Ad/Am <= 0.8 (Ad:舒張壓時的振幅)

只要在這個範圍內的比值都是合理的

要看你所使用的硬體擷取的訊號電壓範圍在哪

因此每一個血壓計的設計應該不會完全一樣

血壓量測裝置作業技術規範 <- 這一本規範內有蠻詳盡的說明

至於要去哪找我就不太清楚了, 或許圖書館找的到吧