[英]how do i differentiate array values in octave?
我正在執行將ECG信號作為一維數組文件輸入的任務,進行一些處理以檢測心率。
第一步也是使用5點差分方程來求微分值,以擺脫低頻值,我已經搜索了倍頻程的微分法,但發現的只是多項式。 那么如何在octave / mat-lab命令中實現呢?
謝謝
根據我的經驗,也許您想使用5個點來計算信號的斜率(微分的近似值),例如,可以輕松實現:
load ecg;
n=5
for i=n+1:length(ecg)
Y(i-n) = (ecg(i) - ecg(i-n))/n;
end
subplot(2,1,1); plot(ecg)
subplot(2,1,2); plot(Y)
這是您期望的結果嗎?
您可以在R-peak檢測中使用Pan-Tompkins
方法,
ecgSig
是您的ECG信號,采樣頻率為Fs
,
t=(0:size(ecgSig,2)-1)/Fs;
ecgSig = circshift(ecgSig,[0 5]) - ecgSig;
subplot(211)
plot(t,ecgSig);
subplot(212)
plot(t,ecgSig);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.