欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于matlab頻域心率計算 [打印本頁]

作者: permanent    時間: 2022-12-22 16:21
標題: 關于matlab頻域心率計算
本帖最后由 permanent 于 2022-12-23 19:11 編輯

現在要在頻域用matlab做一個心率計算,我.m文件里是我在arduino濾波完以后的數據,我給這個數組存的變量名是DataFIR,然后我基本思路是先給這個數據去掉直流分量,然后用fft()這個函數給他做了一個傅里葉變換,然后找到最大值處對應的頻率,乘以60就是我要的每分鐘的心跳次數,但是運行結果差的太多了,竟然是327! ! !求助大佬看看我的程序是哪里有問題么! ! !改了好久了嗚嗚嗚!!附件是心電數據,圖片是代碼截圖和運行結果

clear;
fs=500;
L=fs;
load('DataFIR.mat')
x=DataFIR;
n=1:1:length(x);
y0=x(n)-mean(x);%去掉直流分量
y1=abs(fft(y0));
m = y1(1:length(y1)/2);
N= length(x);
% for i=1:length(m)
%     if m(i)==max(m)%找峰值
%         f=i*(L/N);
%     end
% end
f=find(m==max(m))*L/N;
xinlv=round(f*60)
m = y1(1:length(y1));
x= (0:N-1)*(L/N);
figure;
plot(y0)
figure;
plot(x,m)
xlabel('Frequency (Hz)');ylabel('Magnitude (dB)');title('Filter output');
text(200,2000,"心率"+num2str(xinlv)+"次");

幅頻特性.png (12 KB, 下載次數: 55)

振幅圖

振幅圖

代碼截圖.png (22.69 KB, 下載次數: 59)

代碼截圖

代碼截圖

DataFIR.zip

588 Bytes, 下載次數: 3

心電數據


作者: glinfei    時間: 2022-12-22 21:37
先看看采樣個數和頻率,再直接看看分解圖,再處理。另外,直流分量應該是0頻率的值處理來的,不用管它啊
作者: permanent    時間: 2022-12-22 22:42
glinfei 發表于 2022-12-22 21:37
先看看采樣個數和頻率,再直接看看分解圖,再處理。另外,直流分量應該是0頻率的值處理來的,不用管它啊

您好,這個采樣頻率是題目要求固定的不能變,請問這個采樣個數和采樣頻率會影響我的心率計算結果么
作者: glinfei    時間: 2022-12-23 07:22
permanent 發表于 2022-12-22 22:42
您好,這個采樣頻率是題目要求固定的不能變,請問這個采樣個數和采樣頻率會影響我的心率計算結果么

采樣頻率大于一倍就行了,采樣個數只是影響精度而已,你先把快速傅立葉分解振幅圖譜打出來看看,就知道怎么處理了
作者: permanent    時間: 2022-12-23 09:13
glinfei 發表于 2022-12-23 07:22
采樣頻率大于一倍就行了,采樣個數只是影響精度而已,你先把快速傅立葉分解振幅圖譜打出來看看,就知道怎 ...

您好,這是快速傅里葉變換后的幅頻特性曲線,我把最高的頻率分量點找到乘以60是不是就是每分鐘的心跳次數,可是我這個找到算出來是327,應該是60才對,是我的程序哪里出現問題了么還是我的精度不夠呀?

幅頻特性曲線.png (12 KB, 下載次數: 61)

您好,這個是快速傅里葉變換后畫的圖

您好,這個是快速傅里葉變換后畫的圖

作者: glinfei    時間: 2022-12-23 16:57
permanent 發表于 2022-12-23 09:13
您好,這是快速傅里葉變換后的幅頻特性曲線,我把最高的頻率分量點找到乘以60是不是就是每分鐘的心跳次數 ...

它是周期對稱的,而且你只要0到3Hz區間,放大,應該有四個峰值。我覺得是你頻率區間取的太寬造成的誤差。
作者: Y97    時間: 2022-12-23 17:29
你把快速傅立葉分解振幅圖譜打出來看一下,就知道怎么去處理了
作者: permanent    時間: 2022-12-23 18:39
glinfei 發表于 2022-12-23 16:57
它是周期對稱的,而且你只要0到3Hz區間,放大,應該有四個峰值。我覺得是你頻率區間取的太寬造成的誤差。

您好,我這個程序是先做心電數據的傅里葉變換,然后因為做完后是左右對稱的,所以我把幅度譜取了一半的長度,然后通過max函數找到一個最大值,通過find函數找對應頻率,并不是看圖自己找的,所以振幅圖的區間應該并不影響計算結果,因為find找到的應該就是那個精確的最大值,而振幅圖就是我的一個參考,那能不能麻煩您幫我看一下這到底是哪里的問題,謝謝您了
作者: permanent    時間: 2022-12-23 18:42
glinfei 發表于 2022-12-23 16:57
它是周期對稱的,而且你只要0到3Hz區間,放大,應該有四個峰值。我覺得是你頻率區間取的太寬造成的誤差。

您好,我這個程序是先做心電數據的傅里葉變換,然后因為做完后是左右對稱的,所以我把幅度譜取了一半的長度,然后通過max函數找到那個最大值,find找對應頻率,并不是看圖自己找的,所以振幅圖的區間應該并不影響計算結果,因為max找到的應該就是那個精確的最大值,而振幅圖就是我的一個參考,那能不能麻煩您幫我看一下這到底是哪里的問題,謝謝您了
作者: permanent    時間: 2022-12-23 18:54
Y97 發表于 2022-12-23 17:29
你把快速傅立葉分解振幅圖譜打出來看一下,就知道怎么去處理了

您好,這是我的振幅圖,但是顯然最高點對應的頻率乘以60并不是正確的計算結果,可不可以麻煩您幫我看一下程序是哪里出現了問題么,謝謝您了。

幅頻特性.png (12 KB, 下載次數: 60)

振幅圖

振幅圖





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1