帶著之前對頻譜的疑問去查看程序!天啊,竟然犯了一個非常愚蠢的錯誤!畫頻譜圖時居然沒有用到fft函數!哎,蠢到家了!只能先修訂錯誤了!然后再看看心率檢測程序的運行結果了!心率估計采用頻譜估計的方式!此刻作為老程序員又在擔心了:還會不會有其他的什么錯誤呢?雖然開始了擔心,但總得先看程序的運行結果吧!
錯了就再改,程序員還能怕反復嗎?這個過程是失敗走向成功的必由之路!那早年我讀研究生的時候有沒有在算法上碰壁呢?經常碰壁!給大家看看當年的老古董程序,也是關于lms算法的。當年用的是matlab 4.0軟件!20年就這么過去了!天啊,我的青春沒了,而且感到一事無成!怎么辦?抓緊時間寫文章講解程序吧,再小的崗位也能發出光和熱!
當年看過的論文!
2004年的一篇論文!
看到這,時間彷佛回到了過去!
此刻,我又想起自己深夜寫代碼累了去籃球場上練習投籃的場景,人生第一個三分球是在中科院上海天文臺的籃球場上出現的,那晚周邊很安靜!當年的拼搏歷歷在目!拼搏不一定保證有美好的未來,但不拼博肯定沒有!
認真的回顧程序!框圖里面也是輸出的是誤差信號!
這兩個框圖是不是類似啊!當面后面少畫了一根反饋線。誤碼信號要用來調整自適應濾波器中的權值!寫到這,我可以明確的告訴大家,PPG中去除運動偽跡的方法完全實用于語音中的噪聲消除!后續我也將給出語音消噪的一系列文章,敬請期待!
看看當下的程序吧!硬件環境在不斷的提高,但我的算法水平呢?也有提高,不過提高的很慢!如何加速?身體好的時候就多寫代碼唄!下面展示LMS算法結合頻域檢測心率值的程序!
% example_lms_v2_2_1
% data:2021-10-26
%%% 程序說明
% 濾波器輸入是原始的三軸加速度信號!
% 采用頻譜估計來計算心率!
% 強化心率計算過程,采用窗口滑動方法!
% 30秒累積數據處理一次!
% 軟件環境:2021a
close all;clear all;
%%%%%%%%%%%%%%%% 數據讀取
%%%%%%% 采集數據
%%% 文件名
PPG_filename = ‘walk20211015-1.csv’; % PPG數據
%%% 讀入數據
PPG_data = readmatrix(PPG_filename);
%%% 三軸數據
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;
%%% 心率數據
% 采樣頻率 25Hz
Fs = 25 ;
% 綠光數據
責任編輯:haq
-
仿真
+關注
關注
50文章
4048瀏覽量
133431 -
智能手環
+關注
關注
47文章
792瀏覽量
72838
原文標題:數字信號處理之信號處理仿真 第六章 智能手環之技術應用(13)—心率算法的優化(LMS算法)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論