帶著之前對頻譜的疑問去查看程序!天啊,竟然犯了一個(gè)非常愚蠢的錯(cuò)誤!畫頻譜圖時(shí)居然沒有用到fft函數(shù)!哎,蠢到家了!只能先修訂錯(cuò)誤了!然后再看看心率檢測程序的運(yùn)行結(jié)果了!心率估計(jì)采用頻譜估計(jì)的方式!此刻作為老程序員又在擔(dān)心了:還會(huì)不會(huì)有其他的什么錯(cuò)誤呢?雖然開始了擔(dān)心,但總得先看程序的運(yùn)行結(jié)果吧!
錯(cuò)了就再改,程序員還能怕反復(fù)嗎?這個(gè)過程是失敗走向成功的必由之路!那早年我讀研究生的時(shí)候有沒有在算法上碰壁呢?經(jīng)常碰壁!給大家看看當(dāng)年的老古董程序,也是關(guān)于lms算法的。當(dāng)年用的是matlab 4.0軟件!20年就這么過去了!天啊,我的青春沒了,而且感到一事無成!怎么辦?抓緊時(shí)間寫文章講解程序吧,再小的崗位也能發(fā)出光和熱!
當(dāng)年看過的論文!
2004年的一篇論文!
看到這,時(shí)間彷佛回到了過去!
此刻,我又想起自己深夜寫代碼累了去籃球場上練習(xí)投籃的場景,人生第一個(gè)三分球是在中科院上海天文臺(tái)的籃球場上出現(xiàn)的,那晚周邊很安靜!當(dāng)年的拼搏歷歷在目!拼搏不一定保證有美好的未來,但不拼博肯定沒有!
認(rèn)真的回顧程序!框圖里面也是輸出的是誤差信號!
這兩個(gè)框圖是不是類似啊!當(dāng)面后面少畫了一根反饋線。誤碼信號要用來調(diào)整自適應(yīng)濾波器中的權(quán)值!寫到這,我可以明確的告訴大家,PPG中去除運(yùn)動(dòng)偽跡的方法完全實(shí)用于語音中的噪聲消除!后續(xù)我也將給出語音消噪的一系列文章,敬請期待!
看看當(dāng)下的程序吧!硬件環(huán)境在不斷的提高,但我的算法水平呢?也有提高,不過提高的很慢!如何加速?身體好的時(shí)候就多寫代碼唄!下面展示LMS算法結(jié)合頻域檢測心率值的程序!
% example_lms_v2_2_1
% data:2021-10-26
%%% 程序說明
% 濾波器輸入是原始的三軸加速度信號!
% 采用頻譜估計(jì)來計(jì)算心率!
% 強(qiáng)化心率計(jì)算過程,采用窗口滑動(dòng)方法!
% 30秒累積數(shù)據(jù)處理一次!
% 軟件環(huán)境:2021a
close all;clear all;
%%%%%%%%%%%%%%%% 數(shù)據(jù)讀取
%%%%%%% 采集數(shù)據(jù)
%%% 文件名
PPG_filename = ‘walk20211015-1.csv’; % PPG數(shù)據(jù)
%%% 讀入數(shù)據(jù)
PPG_data = readmatrix(PPG_filename);
%%% 三軸數(shù)據(jù)
x_data = PPG_data(:,3);
y_data = PPG_data(:,4);
z_data = PPG_data(:,5);
% d3_data = x_data;
d3_data = sqrt(x_data.^2+y_data.^2+y_data.^2)/100;
%%% 心率數(shù)據(jù)
% 采樣頻率 25Hz
Fs = 25 ;
% 綠光數(shù)據(jù)
責(zé)任編輯:haq
-
仿真
+關(guān)注
關(guān)注
52文章
4253瀏覽量
135533 -
智能手環(huán)
+關(guān)注
關(guān)注
47文章
798瀏覽量
73667
原文標(biāo)題:數(shù)字信號處理之信號處理仿真 第六章 智能手環(huán)之技術(shù)應(yīng)用(13)—心率算法的優(yōu)化(LMS算法)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
什么是信號的時(shí)域和頻域?
基于STM32的數(shù)據(jù)采集+心率檢測儀(原理圖、PCB、程序源碼等)實(shí)例項(xiàng)目下載
基于STM32的數(shù)據(jù)采集+心率檢測儀(原理圖、PCB、程序源碼等)
LMS Test.Lab:振動(dòng)噪聲測試領(lǐng)域的全能王者
頻域示波器的技術(shù)原理和應(yīng)用場景
用ADS1292 ECG芯片來檢測心率,沒法得到穩(wěn)定的心率值, 心率值變化非常快,為什么?
信號的時(shí)域和頻域測試介紹

評論