I have a noisy raised cosine curve in the middle of a long string of data. Iknow how long the duration of the raised cosine should be. I want to knowexactly when it starts (i am only interested in onset events). I haveimplemented something that works, but is very slow. Briefly, I generate halfof a raised cosine of the required duration and magnitude. then do a leastsquares difference between the generated and measured waveforms. Then offsetthe generated waveform by one point and do another least squares analysis.The overlay is considered optimal when the least squares difference isminimal, and the onset of the generated curve offset by the minimum leastsquares number of points gives me the value I need. The problem is, this,because of the looping, is SLOW. I have tried doing a cross correlation, butsomehow I don't get the right answers. Anybody have any suggestions foraccomplishing the same thing in a faster way?---You are currently subscribed to vrf as: [email=r***@soco.agilent.comTo]r***@soco.agilent.comTo[/email] subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".To send messages to this mailing list, email "vrf@agilent.com". If you need help with the mailing list send a message to"owner-vrf@it.lists.it.agilent.com".Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/".Subject: Re: [vrf] Raised CosineTo: Stan Bischof (Richard S) From: William Karnavas Date: Mon, 1 May 2006 16:01:55 -0400Bern and Stan,My signal processing is a little rusty, but I believe that a multiplicationin the frequency domain is a correlation in the time domain. So theprocess is to fft the signal and the raised cosine, multiply the 2 togetherand then take the inverse fft, and that should be the correlation you arelooking for. For this to work quickly, you need your signal lengths to bea power of 2 and I think you will need to use the same lengths for both.You can do the fft of the raise cosine and save it, so you only need to dothat calculation once.Bill"Bern Muller" wrote:> I have a noisy raised cosine curve in the middle of a long string ofdata. I> know how long the duration of the raised cosine should be. I want to =know> exactly when it starts (i am only interested in onset events). I have=> implemented something that works, but is very slow. Briefly, I genera=tehalf> of a raised cosine of the required duration and magnitude. then do aleast> squares difference between the generated and measured waveforms. Then=offset> the generated waveform by one point and do another least squaresanalysis.> The overlay is considered optimal when the least squares difference i=s> minimal, and the onset of the generated curve offset by the minimum l=east> squares number of points gives me the value I need. The problem is, t=his,> because of the looping, is SLOW. I have tried doing a cross correlati=on,but> somehow I don't get the right answers.clearly corrleation is the "right" answer so I'd suggestexploring that a little more to see where you go astray.Your described need is a classic correlation detector.Stan-----------------------------------------------------------------------=---Stan Bischof Agilent Technologies 707-577-3994 stan_bischof@agilent.=com-----------------------------------------------------------------------=------You are currently subscribed to vrf as:
lbill@us.ibm.comTo subscribe please send an email to: "vrf-request@lists.it.agilent.com="with the word subscribe in the message body.To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com=".To send messages to this mailing list, email "vrf@agilent.com".If you need help with the mailing list send a message to"owner-vrf@it.lists.it.agilent.com".Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/".==--1__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898Content-type: text/html; charset=US-ASCIIContent-Disposition: inlineContent-transfer-encoding: quoted-printableBern and Stan,
My signal processing is a little rusty, but I believe that a multiplica=tion in the frequency domain is a correlation in the time domain. So t=he process is to fft the signal and the raised cosine, multiply the 2 t=ogether and then take the inverse fft, and that should be the correlati=on you are looking for. For this to work quickly, you need your signa=l lengths to be a power of 2 and I think you will need to use the same =lengths for both. You can do the fft of the raise cosine and save it, =so you only need to do that calculation once.
Bill
">Stan Bischof (Richard S) |r***@so=co.agilent.com>
=Stan Bischof (Richard S) [email=%7Cr***@soco.agilent.c]|r***@soco.agilent.c[/email]=om> 05/01/2006 03:50 PMPlease respond to
Stan Bischof (Richard S) [email=%7Cr***@soco.agilent.com]|r***@soco.agilent.com[/email]>==
To
VRF [email=%7Cvrf@agilent.com]|vrf@agilent.com[/email]>
cc
vrf@agilent.com
Subject
Re: [vrf] Raised Cosine
"Bern Muller" [email=%7Cbernhard.muller@dlcdesignaudio.com]|bernhard.muller@dlcdesignaudio.com[/email]> =wrote:
> I have a noisy raised cosine curve in the middle of a long string =of data. I
> know how long the duration of the raised cosine should be. I want =to know
> exactly when it starts (i am only interested in onset events). I h=ave
> implemented something that works, but is very slow. Briefly, I gen=erate half
> of a raised cosine of the required duration and magnitude. then do= a least
> squares difference between the generated and measured waveforms. T=hen offset
> the generated waveform by one point and do another least squares a=nalysis.
> The overlay is considered optimal when the least squares differenc=e is
> minimal, and the onset of the generated curve offset by the minimu=m least
> squares number of points gives me the value I need. The problem is=, this,
> because of the looping, is SLOW. I have tried doing a cross correl=ation, but
> somehow I don't get the right answers.
clearly corrleation is the "right" answer so I'd suggest
exploring that a little more to see where you go astray.
Your described need is a classic correlation detector.
Stan
-----------------------------------------------------------------------=---
Stan Bischof Agilent Technologies 707-577-3994 stan_b=ischof@agilent.com
-----------------------------------------------------------------------=---
---
You are currently subscribed to vrf as:
lbill@us.ibm.com
To subscribe please send an email to: "vrf-request@lists.it.agilen=t.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilen=t.com".
To send messages to this mailing list, email "vrf@agilent.co=m".
If you need help with the mailing list send a message to
"owner-vrf@it.lists.it.agilent.com".
Search the "unofficial vrf archive" at "www.oswegosw.com=/vrf_archive/".
=--1__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898----0__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898Content-type: image/gif; name="graycol.gif"Content-Disposition: inline; filename="graycol.gif"Content-ID: Content-transfer-encoding: base64R0lGODlhEAAQAKECAMzMzAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIXlI+py+0PopwxUbpuZRfKZ2zgSJbmSRYAIf4fT3B0aW1pemVkIGJ5IFVsZWFkIFNtYXJ0U2F2ZXIhAAA7--0__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898Content-type: image/gif; name="pic22997.gif"Content-Disposition: inline; filename="pic22997.gif"Content-ID: Content-transfer-encoding: base64R0lGODlhWABDALP/AAAAAK04Qf79/o+Gm7WuwlNObwoJFCsoSMDAwGFsmIue***///wAAAAAAAAAAAAAAACH5BAEAAAgALAAAAABYAEMAQAT/EMlJq704682770RiFMRinqggEUNSHIchG0BCfHhOjAuhEDeUqTASLCbBhQrhG7xis2j0lssNDopE4jfIJhDaggI8YB1sZeZgLVA9YVCpnGagVjV171aRVrYRRghXcAGFhoUETwYxcXNyADJ3GlcSKGAwLwllVC1vjIUHBWsFilKQdI8GA5IcpApeJQt8L09lmgkHLZikoU5wjqcyAMMFrJIDPAKvCFletKSev1HBw8KrxtjZ2tvc3d5VyKtCKW3jfz4uMKmq3xu4N0nKBVoJQmx2LGVOmrqNjjJf2hHAQo/eDwJGTKhQMcgQEEAnEjFS98+RnW3smGkZU6ncCWav/4wYOnAITihRL/4FEwbp28BXMMcoscQCVxlepL4IGDSCyJyVQOu0o7CjmLN50OZlqWmyFy5/6yBBuji0AxFRM00oQAqNIstqI6qKHUsWRAEAvagsmfUEAImyxgbmUpJk3IklNUtJOUAVLoUr1+wqDGTE4zk+T6FGuQb3SizBCwatiiUgCBN8vrz+zFjVyQ8FWkOlg4NQiZMB5QS8QO3mpOaKnL0Z2EKvNMSILEThKhCgzMKPVxYJh23qm9KNW7pArPynMqZDiErsTMqI+LRi3QAgkFUbXpuFKhSYZALd0O5RKa2z9EYKBbpbqxIKsjUPRgD7I2XYV6wyrOw92ykExP8NW4URhknC5dKGE4v4NENQj2jXjmfNgOZDaXb5glRmXQ33YEWQYNcZFnrYcIQLNzyTFDQNkXIff0ExVlY4srziQk43inZgL4rwxxINMvpFFAz1KOODHiu+4aEwNEjFl5B3JIKWKF3k6I9bfUGp5ZZcdunll5IA4cuHvQQJ5gcsoCWOOUwgltIwAKRxJgbIkJAQZEq02YliZnpZZ4BH3CnYOXldOUOfQoYDqF1LFHbXCrO8xmRsfoXDXJ6ChjCAH3QlhJcT6VWE6FCkfCcoCgrMFsROrIEX3o2whVjWDjoJccN3LdggSGXLCdLEgHr1lyU3O3QxhgohNKXJCWv8JQr/PDdaqd6w2rj1inLiGeiCJoDspAoQlYE6QWLSECehcWIYxIQES6zhbn1iImTHEQyqJ4eIxJJoUBc+3CbBuwZEV5cJPPkIjFDdeEabQbd6WgICTxiiz0f5dBKquXF6k4senwEhYGnKEFJeGrxUZy8dB8gmAXI/sPvHESfCwVt5hTgYiqQqtdRNHQIU1PJ33ZqmzgE90OwLaoJcnMop1WiMmgkPHQRIrwgFuNV90A3doNKTmrKIN07AnGcI9BQjhCBN4RfA1qIZnMqorJCogKfGQnxSCDilTVIA0yl5ciTovgLuBDKFUDE9aQcw9SA+rjSNf9/M1gxrj6VwDTS0IUSElMzBfsj0NFXR2kwsV1A5IF1grLgLL/r1R40BZEnuBWgmQEybjqRwSAt6bqMCOFkvKFN2GPPkUzIm/SCF8z8pVzpbjVnMsy0vOr1hw3SaSRUhpY09v0z0J1FnwzPlfmh+xl4WtR0zGu24I4KbMQm3lnVu2oNWxI9W/lcyzA+mCKF4DBikxb/+UWtOGRiFP8qEwAayIgIAOw==--0__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898Content-type: image/gif; name="ecblank.gif"Content-Disposition: inline; filename="ecblank.gif"Content-ID: Content-transfer-encoding: base64R0lGODlhEAABAIAAAAAAAP///yH5BAEAAAEALAAAAAAQAAEAAAIEjI8ZBQA7--0__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898--
I have a noisy raised cosine curve in the middle of a long string of data. Iknow how long the duration of the raised cosine should be. I want to knowexactly when it starts (i am only interested in onset events). I haveimplemented something that works, but is very slow. Briefly, I generate halfof a raised cosine of the required duration and magnitude. then do a leastsquares difference between the generated and measured waveforms. Then offsetthe generated waveform by one point and do another least squares analysis.The overlay is considered optimal when the least squares difference isminimal, and the onset of the generated curve offset by the minimum leastsquares number of points gives me the value I need. The problem is, this,because of the looping, is SLOW. I have tried doing a cross correlation, butsomehow I don't get the right answers. Anybody have any suggestions foraccomplishing the same thing in a faster way?---You are currently subscribed to vrf as: [email=r***@soco.agilent.comTo]r***@soco.agilent.comTo[/email] subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".To send messages to this mailing list, email "vrf@agilent.com". If you need help with the mailing list send a message to"owner-vrf@it.lists.it.agilent.com".Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/".Subject: Re: [vrf] Raised CosineTo: Stan Bischof (Richard S) From: William Karnavas Date: Mon, 1 May 2006 16:01:55 -0400Bern and Stan,My signal processing is a little rusty, but I believe that a multiplicationin the frequency domain is a correlation in the time domain. So theprocess is to fft the signal and the raised cosine, multiply the 2 togetherand then take the inverse fft, and that should be the correlation you arelooking for. For this to work quickly, you need your signal lengths to bea power of 2 and I think you will need to use the same lengths for both.You can do the fft of the raise cosine and save it, so you only need to dothat calculation once.Bill"Bern Muller" wrote:> I have a noisy raised cosine curve in the middle of a long string ofdata. I> know how long the duration of the raised cosine should be. I want to =know> exactly when it starts (i am only interested in onset events). I have=> implemented something that works, but is very slow. Briefly, I genera=tehalf> of a raised cosine of the required duration and magnitude. then do aleast> squares difference between the generated and measured waveforms. Then=offset> the generated waveform by one point and do another least squaresanalysis.> The overlay is considered optimal when the least squares difference i=s> minimal, and the onset of the generated curve offset by the minimum l=east> squares number of points gives me the value I need. The problem is, t=his,> because of the looping, is SLOW. I have tried doing a cross correlati=on,but> somehow I don't get the right answers.clearly corrleation is the "right" answer so I'd suggestexploring that a little more to see where you go astray.Your described need is a classic correlation detector.Stan-----------------------------------------------------------------------=---Stan Bischof Agilent Technologies 707-577-3994 stan_bischof@agilent.=com-----------------------------------------------------------------------=------You are currently subscribed to vrf as:
lbill@us.ibm.comTo subscribe please send an email to: "vrf-request@lists.it.agilent.com="with the word subscribe in the message body.To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com=".To send messages to this mailing list, email "vrf@agilent.com".If you need help with the mailing list send a message to"owner-vrf@it.lists.it.agilent.com".Search the "unofficial vrf archive" at "www.oswegosw.com/vrf_archive/".==--1__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898Content-type: text/html; charset=US-ASCIIContent-Disposition: inlineContent-transfer-encoding: quoted-printableBern and Stan,
My signal processing is a little rusty, but I believe that a multiplica=tion in the frequency domain is a correlation in the time domain. So t=he process is to fft the signal and the raised cosine, multiply the 2 t=ogether and then take the inverse fft, and that should be the correlati=on you are looking for. For this to work quickly, you need your signa=l lengths to be a power of 2 and I think you will need to use the same =lengths for both. You can do the fft of the raise cosine and save it, =so you only need to do that calculation once.
Bill
">Stan Bischof (Richard S) |r***@so=co.agilent.com>
=Stan Bischof (Richard S) [email=%7Cr***@soco.agilent.c]|r***@soco.agilent.c[/email]=om> 05/01/2006 03:50 PMPlease respond to
Stan Bischof (Richard S) [email=%7Cr***@soco.agilent.com]|r***@soco.agilent.com[/email]>==
To
VRF [email=%7Cvrf@agilent.com]|vrf@agilent.com[/email]>
cc
vrf@agilent.com
Subject
Re: [vrf] Raised Cosine
"Bern Muller" [email=%7Cbernhard.muller@dlcdesignaudio.com]|bernhard.muller@dlcdesignaudio.com[/email]> =wrote:
> I have a noisy raised cosine curve in the middle of a long string =of data. I
> know how long the duration of the raised cosine should be. I want =to know
> exactly when it starts (i am only interested in onset events). I h=ave
> implemented something that works, but is very slow. Briefly, I gen=erate half
> of a raised cosine of the required duration and magnitude. then do= a least
> squares difference between the generated and measured waveforms. T=hen offset
> the generated waveform by one point and do another least squares a=nalysis.
> The overlay is considered optimal when the least squares differenc=e is
> minimal, and the onset of the generated curve offset by the minimu=m least
> squares number of points gives me the value I need. The problem is=, this,
> because of the looping, is SLOW. I have tried doing a cross correl=ation, but
> somehow I don't get the right answers.
clearly corrleation is the "right" answer so I'd suggest
exploring that a little more to see where you go astray.
Your described need is a classic correlation detector.
Stan
-----------------------------------------------------------------------=---
Stan Bischof Agilent Technologies 707-577-3994 stan_b=ischof@agilent.com
-----------------------------------------------------------------------=---
---
You are currently subscribed to vrf as:
lbill@us.ibm.com
To subscribe please send an email to: "vrf-request@lists.it.agilen=t.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilen=t.com".
To send messages to this mailing list, email "vrf@agilent.co=m".
If you need help with the mailing list send a message to
"owner-vrf@it.lists.it.agilent.com".
Search the "unofficial vrf archive" at "www.oswegosw.com=/vrf_archive/".
=--1__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898----0__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898Content-type: image/gif; name="graycol.gif"Content-Disposition: inline; filename="graycol.gif"Content-ID: Content-transfer-encoding: base64R0lGODlhEAAQAKECAMzMzAAAAP///wAAACH5BAEAAAIALAAAAAAQABAAAAIXlI+py+0PopwxUbpuZRfKZ2zgSJbmSRYAIf4fT3B0aW1pemVkIGJ5IFVsZWFkIFNtYXJ0U2F2ZXIhAAA7--0__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898Content-type: image/gif; name="pic22997.gif"Content-Disposition: inline; filename="pic22997.gif"Content-ID: Content-transfer-encoding: base64R0lGODlhWABDALP/AAAAAK04Qf79/o+Gm7WuwlNObwoJFCsoSMDAwGFsmIue***///wAAAAAAAAAAAAAAACH5BAEAAAgALAAAAABYAEMAQAT/EMlJq704682770RiFMRinqggEUNSHIchG0BCfHhOjAuhEDeUqTASLCbBhQrhG7xis2j0lssNDopE4jfIJhDaggI8YB1sZeZgLVA9YVCpnGagVjV171aRVrYRRghXcAGFhoUETwYxcXNyADJ3GlcSKGAwLwllVC1vjIUHBWsFilKQdI8GA5IcpApeJQt8L09lmgkHLZikoU5wjqcyAMMFrJIDPAKvCFletKSev1HBw8KrxtjZ2tvc3d5VyKtCKW3jfz4uMKmq3xu4N0nKBVoJQmx2LGVOmrqNjjJf2hHAQo/eDwJGTKhQMcgQEEAnEjFS98+RnW3smGkZU6ncCWav/4wYOnAITihRL/4FEwbp28BXMMcoscQCVxlepL4IGDSCyJyVQOu0o7CjmLN50OZlqWmyFy5/6yBBuji0AxFRM00oQAqNIstqI6qKHUsWRAEAvagsmfUEAImyxgbmUpJk3IklNUtJOUAVLoUr1+wqDGTE4zk+T6FGuQb3SizBCwatiiUgCBN8vrz+zFjVyQ8FWkOlg4NQiZMB5QS8QO3mpOaKnL0Z2EKvNMSILEThKhCgzMKPVxYJh23qm9KNW7pArPynMqZDiErsTMqI+LRi3QAgkFUbXpuFKhSYZALd0O5RKa2z9EYKBbpbqxIKsjUPRgD7I2XYV6wyrOw92ykExP8NW4URhknC5dKGE4v4NENQj2jXjmfNgOZDaXb5glRmXQ33YEWQYNcZFnrYcIQLNzyTFDQNkXIff0ExVlY4srziQk43inZgL4rwxxINMvpFFAz1KOODHiu+4aEwNEjFl5B3JIKWKF3k6I9bfUGp5ZZcdunll5IA4cuHvQQJ5gcsoCWOOUwgltIwAKRxJgbIkJAQZEq02YliZnpZZ4BH3CnYOXldOUOfQoYDqF1LFHbXCrO8xmRsfoXDXJ6ChjCAH3QlhJcT6VWE6FCkfCcoCgrMFsROrIEX3o2whVjWDjoJccN3LdggSGXLCdLEgHr1lyU3O3QxhgohNKXJCWv8JQr/PDdaqd6w2rj1inLiGeiCJoDspAoQlYE6QWLSECehcWIYxIQES6zhbn1iImTHEQyqJ4eIxJJoUBc+3CbBuwZEV5cJPPkIjFDdeEabQbd6WgICTxiiz0f5dBKquXF6k4senwEhYGnKEFJeGrxUZy8dB8gmAXI/sPvHESfCwVt5hTgYiqQqtdRNHQIU1PJ33ZqmzgE90OwLaoJcnMop1WiMmgkPHQRIrwgFuNV90A3doNKTmrKIN07AnGcI9BQjhCBN4RfA1qIZnMqorJCogKfGQnxSCDilTVIA0yl5ciTovgLuBDKFUDE9aQcw9SA+rjSNf9/M1gxrj6VwDTS0IUSElMzBfsj0NFXR2kwsV1A5IF1grLgLL/r1R40BZEnuBWgmQEybjqRwSAt6bqMCOFkvKFN2GPPkUzIm/SCF8z8pVzpbjVnMsy0vOr1hw3SaSRUhpY09v0z0J1FnwzPlfmh+xl4WtR0zGu24I4KbMQm3lnVu2oNWxI9W/lcyzA+mCKF4DBikxb/+UWtOGRiFP8qEwAayIgIAOw==--0__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898Content-type: image/gif; name="ecblank.gif"Content-Disposition: inline; filename="ecblank.gif"Content-ID: Content-transfer-encoding: base64R0lGODlhEAABAIAAAAAAAP///yH5BAEAAAEALAAAAAAQAAEAAAIEjI8ZBQA7--0__=0ABBFBF2DFFEE8988f9e8a93df938690918c0ABBFBF2DFFEE898--
举报