Reply by Randy Yates December 3, 20082008-12-03
Rune Allnor <allnor@tele.ntnu.no> writes:

> On 3 Des, 21:09, Randy Yates <ya...@ieee.org> wrote: >> Randy Yates <ya...@ieee.org> writes: >> > Rune Allnor <all...@tele.ntnu.no> writes: >> >> >> On 3 Des, 20:38, Randy Yates <ya...@ieee.org> wrote: >> >>> Rune Allnor <all...@tele.ntnu.no> writes: >> >>> > On 3 Des, 19:56, Randy Yates <ya...@ieee.org> wrote: >> >>> >> John O'Flaherty <quias...@yeeha.com> writes: >> >>> >> > One aspect is that heart rate (and maybe respiration rate) isn't >> >>> >> > really periodic*. Separating the signals by the spectra of the >> >>> >> > impulses (for heart rate, at least), or the fact that heart sound is >> >>> >> > double (lub-dub), and finding time intervals between beats would give >> >>> >> > a series of instantaneous heart rates, which could be averaged >> >>> >> > appropriately. >> >> >>> >> Hi John, >> >> >>> >> True it's not strictly periodic. But I was hoping it's close >> >>> >> enough... and that there was a more robust method than bone-headed peak >> >>> >> detection. Where are you going to set the threshold? This is an >> >>> >> algorithm that has to run unattended on a platform over multiple >> >>> >> subjects, multiple signal strength scenarios, multiple SNR scenarios, >> >>> >> etc. >> >> >>> > Do you have an example data set you can post? >> >> >>> Hi Rune, >> >> >>> Sure - try these: >> >> >>> &#4294967295;http://www.digitalsignallabs.com/signals >> >> >> I get a "you don't have access" error. >> >> > Sorry - try again. >> >> Grrr. Try this instead: >> >> &#4294967295;http://galois.digitalsignallabs.com/signals > > I got the data. > > I looked at the left_clavicle_mix1_amplified_orig.wav file, > and it seems that both the signals occupy the same frequency > band, 10-500 Hz. > > I can see what I believe are the heartbeats in the time > domain data, but there is no way I can extract them by > means of simple filtering. > > As far as I can tell, you have two options: > > 1) Get a reference recording of respitory only, make > a Wiener filter for it, try and detect the heartbeats > in the prediction error signal. (Maybe an adaptive > filter works too; I don't know.) > 2) Look for the spike train in the cepstrum. > > Both approaches will take lots of efforts (more than I > can do just like that) and either may or may not work.
I'm glad you said that - I couldn't see a way to do it right off either. These people have what looks like the most promising method: @inproceedings{hult, author = "P. Hult and T. Fjallbrant and S. Dahle and P. Danielsson and P. Ask", title = "{A method for respiration monitoring by the use of a bioacoustic signal}", year = "2000", booktitle = "{IEE Conf. Publ. No. 476}", month = "September", organization = "First International Conference on Advances in Medical Signal and Information Processing (IEEE)"} They propose the use of a "dual tracking loop" where the heart beat is modeled in one loop and subtracted from the other, and vice-versa for the respiration signal. I'd call this method a joint source separation / parameter estimator. --Randy -- % Randy Yates % "My Shangri-la has gone away, fading like %% Fuquay-Varina, NC % the Beatles on 'Hey Jude'" %%% 919-577-9882 % %%%% <yates@ieee.org> % 'Shangri-La', *A New World Record*, ELO http://www.digitalsignallabs.com
Reply by Jerry Avins December 3, 20082008-12-03
John O'Flaherty wrote:
> On Wed, 03 Dec 2008 07:41:40 -0500, Randy Yates <yates@ieee.org> > wrote: > >> Andor <andor.bariska@gmail.com> writes: >> >>> On 3 Dez., 12:45, Rune Allnor <all...@tele.ntnu.no> wrote: >>>> On 3 Des, 12:23, Andor <andor.bari...@gmail.com> wrote: >>>> >>>> >>>> >>>> >>>> >>>>> On 3 Dez., 11:04, Rune Allnor <all...@tele.ntnu.no> wrote: >>>>>> On 3 Des, 09:45, Andor <andor.bari...@gmail.com> wrote: >>>>>>> Randy Yates wrote: >>>>>>>> It seems that the MUSIC algorithm is for estimation of sinusoids. Is >>>>>>>> there an adaptation or other similar algorithm that can be applied to >>>>>>>> estimate the fundamental frequencies of a mixture of periodic signals? >>>>>>> Hello Randy >>>>>>> In the presence of noise and with only finitely many samples of the >>>>>>> signal, I don't think your task is solvable, unless you can supply >>>>>>> some constraints. >>>>>>> you need very many samples (multiple periods) to determine the period. >>>>>> Wrong. MUSIC can do that in very few samples, depending >>>>>> on the SNR. >>>>> No, what I said is correct (and you are saying the same thing): in the >>>>> presence of noise, the number of samples required for determining the >>>>> frequencies of the summands depends on the width of the confidence >>>>> intervals and the SNR. In the examples I gave and that you snipped it >>>>> is clear why there are many samples required. >>>> Sorry, I axed your first post too badly: While you are >>>> right for general (quasi) periodic signals, you chose >>>> an example that doesn't does not support your claim: >>>> The sinusoidal is the one quasi-periodic signal where the >>>> period can actually be determined with just a few samples. >>> You are forgetting the noise, Rune. Any noise, however small, will not >>> allow to determine the frequencies of two sinusoids accurate enough >>> (with finitely many samples) to exclude the possiblity that there is >>> no fundamental period. >> I see your point, Andor. >> >> Actually, what I'm trying to figure out how to do (as an academic >> exercise at this point rather than a paying job) is estimate heart rate >> R_H and respiratory rate R_R from a single microphone signal containing >> both. >> >>> This is why I asked Randy if he could supply constraints. If we knew >>> that the frequencies of the sinusoids were selected from a finite set >>> of possible frequencies (eg DTMF tones), then, given some frequency >>> estimation method (MUSIC or any other) and the SNR, we can supply >>> bounds on the number of samples required to determine the fundamental >>> frequency with 1-eps chance for error (the value of eps will give a >>> lower bound on the number of required samples). >> Generally R_H > R_R, but not necessarily so. And there's nothing that >> would prevent R_H = M * R_R, either. >> >> Sounds in general to me like MUSIC is a bad approach. Thank you both, >> Rune/Andor, for your responses and guidance. > > One aspect is that heart rate (and maybe respiration rate) isn't > really periodic*. Separating the signals by the spectra of the > impulses (for heart rate, at least), or the fact that heart sound is > double (lub-dub), and finding time intervals between beats would give > a series of instantaneous heart rates, which could be averaged > appropriately.
You will find that the only difference between the average of ten beat intervals and (time-between-first-beat-and-eleventh-beat)/10 is less accumulated round-off error in the second method. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Reply by Rune Allnor December 3, 20082008-12-03
On 3 Des, 21:09, Randy Yates <ya...@ieee.org> wrote:
> Randy Yates <ya...@ieee.org> writes: > > Rune Allnor <all...@tele.ntnu.no> writes: > > >> On 3 Des, 20:38, Randy Yates <ya...@ieee.org> wrote: > >>> Rune Allnor <all...@tele.ntnu.no> writes: > >>> > On 3 Des, 19:56, Randy Yates <ya...@ieee.org> wrote: > >>> >> John O'Flaherty <quias...@yeeha.com> writes: > >>> >> > One aspect is that heart rate (and maybe respiration rate) isn't > >>> >> > really periodic*. Separating the signals by the spectra of the > >>> >> > impulses (for heart rate, at least), or the fact that heart sound is > >>> >> > double (lub-dub), and finding time intervals between beats would give > >>> >> > a series of instantaneous heart rates, which could be averaged > >>> >> > appropriately. > > >>> >> Hi John, > > >>> >> True it's not strictly periodic. But I was hoping it's close > >>> >> enough... and that there was a more robust method than bone-headed peak > >>> >> detection. Where are you going to set the threshold? This is an > >>> >> algorithm that has to run unattended on a platform over multiple > >>> >> subjects, multiple signal strength scenarios, multiple SNR scenarios, > >>> >> etc. > > >>> > Do you have an example data set you can post? > > >>> Hi Rune, > > >>> Sure - try these: > > >>> &#4294967295;http://www.digitalsignallabs.com/signals > > >> I get a "you don't have access" error. > > > Sorry - try again. > > Grrr. Try this instead: > > &#4294967295;http://galois.digitalsignallabs.com/signals
I got the data. I looked at the left_clavicle_mix1_amplified_orig.wav file, and it seems that both the signals occupy the same frequency band, 10-500 Hz. I can see what I believe are the heartbeats in the time domain data, but there is no way I can extract them by means of simple filtering. As far as I can tell, you have two options: 1) Get a reference recording of respitory only, make a Wiener filter for it, try and detect the heartbeats in the prediction error signal. (Maybe an adaptive filter works too; I don't know.) 2) Look for the spike train in the cepstrum. Both approaches will take lots of efforts (more than I can do just like that) and either may or may not work. Rune
Reply by Randy Yates December 3, 20082008-12-03
Randy Yates <yates@ieee.org> writes:

> Rune Allnor <allnor@tele.ntnu.no> writes: > >> On 3 Des, 20:38, Randy Yates <ya...@ieee.org> wrote: >>> Rune Allnor <all...@tele.ntnu.no> writes: >>> > On 3 Des, 19:56, Randy Yates <ya...@ieee.org> wrote: >>> >> John O'Flaherty <quias...@yeeha.com> writes: >>> >> > One aspect is that heart rate (and maybe respiration rate) isn't >>> >> > really periodic*. Separating the signals by the spectra of the >>> >> > impulses (for heart rate, at least), or the fact that heart sound is >>> >> > double (lub-dub), and finding time intervals between beats would give >>> >> > a series of instantaneous heart rates, which could be averaged >>> >> > appropriately. >>> >>> >> Hi John, >>> >>> >> True it's not strictly periodic. But I was hoping it's close >>> >> enough... and that there was a more robust method than bone-headed peak >>> >> detection. Where are you going to set the threshold? This is an >>> >> algorithm that has to run unattended on a platform over multiple >>> >> subjects, multiple signal strength scenarios, multiple SNR scenarios, >>> >> etc. >>> >>> > Do you have an example data set you can post? >>> >>> Hi Rune, >>> >>> Sure - try these: >>> >>> &#4294967295;http://www.digitalsignallabs.com/signals >> >> I get a "you don't have access" error. > > Sorry - try again.
Grrr. Try this instead: http://galois.digitalsignallabs.com/signals -- % Randy Yates % "The dreamer, the unwoken fool - %% Fuquay-Varina, NC % in dreams, no pain will kiss the brow..." %%% 919-577-9882 % %%%% <yates@ieee.org> % 'Eldorado Overture', *Eldorado*, ELO http://www.digitalsignallabs.com
Reply by Randy Yates December 3, 20082008-12-03
Rune Allnor <allnor@tele.ntnu.no> writes:

> On 3 Des, 20:38, Randy Yates <ya...@ieee.org> wrote: >> Rune Allnor <all...@tele.ntnu.no> writes: >> > On 3 Des, 19:56, Randy Yates <ya...@ieee.org> wrote: >> >> John O'Flaherty <quias...@yeeha.com> writes: >> >> > One aspect is that heart rate (and maybe respiration rate) isn't >> >> > really periodic*. Separating the signals by the spectra of the >> >> > impulses (for heart rate, at least), or the fact that heart sound is >> >> > double (lub-dub), and finding time intervals between beats would give >> >> > a series of instantaneous heart rates, which could be averaged >> >> > appropriately. >> >> >> Hi John, >> >> >> True it's not strictly periodic. But I was hoping it's close >> >> enough... and that there was a more robust method than bone-headed peak >> >> detection. Where are you going to set the threshold? This is an >> >> algorithm that has to run unattended on a platform over multiple >> >> subjects, multiple signal strength scenarios, multiple SNR scenarios, >> >> etc. >> >> > Do you have an example data set you can post? >> >> Hi Rune, >> >> Sure - try these: >> >> &#4294967295;http://www.digitalsignallabs.com/signals > > I get a "you don't have access" error.
Sorry - try again. -- % Randy Yates % "The dreamer, the unwoken fool - %% Fuquay-Varina, NC % in dreams, no pain will kiss the brow..." %%% 919-577-9882 % %%%% <yates@ieee.org> % 'Eldorado Overture', *Eldorado*, ELO http://www.digitalsignallabs.com
Reply by Rune Allnor December 3, 20082008-12-03
On 3 Des, 20:38, Randy Yates <ya...@ieee.org> wrote:
> Rune Allnor <all...@tele.ntnu.no> writes: > > On 3 Des, 19:56, Randy Yates <ya...@ieee.org> wrote: > >> John O'Flaherty <quias...@yeeha.com> writes: > >> > One aspect is that heart rate (and maybe respiration rate) isn't > >> > really periodic*. Separating the signals by the spectra of the > >> > impulses (for heart rate, at least), or the fact that heart sound is > >> > double (lub-dub), and finding time intervals between beats would give > >> > a series of instantaneous heart rates, which could be averaged > >> > appropriately. > > >> Hi John, > > >> True it's not strictly periodic. But I was hoping it's close > >> enough... and that there was a more robust method than bone-headed peak > >> detection. Where are you going to set the threshold? This is an > >> algorithm that has to run unattended on a platform over multiple > >> subjects, multiple signal strength scenarios, multiple SNR scenarios, > >> etc. > > > Do you have an example data set you can post? > > Hi Rune, > > Sure - try these: > > &#4294967295;http://www.digitalsignallabs.com/signals
I get a "you don't have access" error. Rune
Reply by Randy Yates December 3, 20082008-12-03
Randy Yates <yates@ieee.org> writes:

> Rune Allnor <allnor@tele.ntnu.no> writes: > >> On 3 Des, 19:56, Randy Yates <ya...@ieee.org> wrote: >>> John O'Flaherty <quias...@yeeha.com> writes: >>> > One aspect is that heart rate (and maybe respiration rate) isn't >>> > really periodic*. Separating the signals by the spectra of the >>> > impulses (for heart rate, at least), or the fact that heart sound is >>> > double (lub-dub), and finding time intervals between beats would give >>> > a series of instantaneous heart rates, which could be averaged >>> > appropriately. >>> >>> Hi John, >>> >>> True it's not strictly periodic. But I was hoping it's close >>> enough... and that there was a more robust method than bone-headed peak >>> detection. Where are you going to set the threshold? This is an >>> algorithm that has to run unattended on a platform over multiple >>> subjects, multiple signal strength scenarios, multiple SNR scenarios, >>> etc. >> >> Do you have an example data set you can post? > > Hi Rune, > > Sure - try these: > > http://www.digitalsignallabs.com/signals > > Thanks. > > --Randy
PS: Give it a few more minutes - files are still transferring. -- % Randy Yates % "How's life on earth? %% Fuquay-Varina, NC % ... What is it worth?" %%% 919-577-9882 % 'Mission (A World Record)', %%%% <yates@ieee.org> % *A New World Record*, ELO http://www.digitalsignallabs.com
Reply by Randy Yates December 3, 20082008-12-03
Rune Allnor <allnor@tele.ntnu.no> writes:

> On 3 Des, 19:56, Randy Yates <ya...@ieee.org> wrote: >> John O'Flaherty <quias...@yeeha.com> writes: >> > One aspect is that heart rate (and maybe respiration rate) isn't >> > really periodic*. Separating the signals by the spectra of the >> > impulses (for heart rate, at least), or the fact that heart sound is >> > double (lub-dub), and finding time intervals between beats would give >> > a series of instantaneous heart rates, which could be averaged >> > appropriately. >> >> Hi John, >> >> True it's not strictly periodic. But I was hoping it's close >> enough... and that there was a more robust method than bone-headed peak >> detection. Where are you going to set the threshold? This is an >> algorithm that has to run unattended on a platform over multiple >> subjects, multiple signal strength scenarios, multiple SNR scenarios, >> etc. > > Do you have an example data set you can post?
Hi Rune, Sure - try these: http://www.digitalsignallabs.com/signals Thanks. --Randy -- % Randy Yates % "And all that I can do %% Fuquay-Varina, NC % is say I'm sorry, %%% 919-577-9882 % that's the way it goes..." %%%% <yates@ieee.org> % Getting To The Point', *Balance of Power*, ELO http://www.digitalsignallabs.com
Reply by John O'Flaherty December 3, 20082008-12-03
On Wed, 03 Dec 2008 13:56:55 -0500, Randy Yates <yates@ieee.org>
wrote:

>John O'Flaherty <quiasmox@yeeha.com> writes: > >> One aspect is that heart rate (and maybe respiration rate) isn't >> really periodic*. Separating the signals by the spectra of the >> impulses (for heart rate, at least), or the fact that heart sound is >> double (lub-dub), and finding time intervals between beats would give >> a series of instantaneous heart rates, which could be averaged >> appropriately. > >Hi John, > >True it's not strictly periodic. But I was hoping it's close >enough... and that there was a more robust method than bone-headed peak >detection. Where are you going to set the threshold? This is an >algorithm that has to run unattended on a platform over multiple >subjects, multiple signal strength scenarios, multiple SNR scenarios, >etc.
ECG and plethysmograph heartrate detection systems face all those problems; there's AGC for threshold control. At any rate, googling around idly, I found this, using the "blind source" thingy you mentioned up-thread, for separation of fetal from mother's heartbeat in ECGs. Maybe it could be adapted to microphone signals and heart vs. respiration- http://www.comp.nus.edu.sg/~changec/publications/P0861.pdf -- John
Reply by Rune Allnor December 3, 20082008-12-03
On 3 Des, 19:56, Randy Yates <ya...@ieee.org> wrote:
> John O'Flaherty <quias...@yeeha.com> writes: > > One aspect is that heart rate (and maybe respiration rate) isn't > > really periodic*. Separating the signals by the spectra of the > > impulses (for heart rate, at least), or the fact that heart sound is > > double (lub-dub), and finding time intervals between beats would give > > a series of instantaneous heart rates, which could be averaged > > appropriately. > > Hi John, > > True it's not strictly periodic. But I was hoping it's close > enough... and that there was a more robust method than bone-headed peak > detection. Where are you going to set the threshold? This is an > algorithm that has to run unattended on a platform over multiple > subjects, multiple signal strength scenarios, multiple SNR scenarios, > etc.
Do you have an example data set you can post? Rune