Palm
2008-01-11, 13:32
Behöver lite hjälp av er matematiker eller signalbehandlare.
Jag har en samplad signal u[k] som med god approximation kan representeras av en annan (kortare) signal r[k], tidsskiftad och linjärt skalad på formen:
u[k] = sum(i=1:P){lambda_i * r[k-t_i]} + E[k]
där r[k] är en lämplig referensfunktion som innehåller en topp och ringningen efter toppen. (P=16 i det här fallet, E = differens mellan fit och samplad signal)
"http://lh6.google.com/ingenjor/R4dF2TgJY3I/AAAAAAAAAsU/Dr4K6kL478I/s800/CT.jpg"
Som synes dränks transienten från första excitationen av nästa osv. Det jag vill få fram är bästa* valet av lambda_i, t_i, och "single excitation response" r[k].
Det jag inte vill göra är att försöka filtrera bort "oscillationerna" mellan topparna. Har ganska många signaler av den här typen och frekvenskarakteristiken på ringningen ser olika ut från gång till gång.
Knåpade ihop en MonteCarlo-algoritm som mer eller mindre slumpar sig fram till lämpliga val av r,lambda_i och t_i vilket funkar bra, men det går ganska långsamt och ger inga garantier att man inte landat i ett lokalt, icke-globalt, optimum (även om man kan minimera den risken genom heroiska konvergensvillkor och dynamiska slumpintervall)
Funderar på att kasta in allt i fourierrummet, men det blir rätt grisigt där också...
Tipsa gärna om du sitter på något lämpligt angreppssätt. Systemet antas alltså vara linjärt och jag vill få fram en hyfsad uppskattning av "impulssvaret" (inkommande signaler är iofs för långa för att kallas impulser, men vi kan kalla dem det iaf) ur signalen ovan som är responsen för flera impulser som endast skiljer sig åt i amplitud och starttid.
*Nån minsta-kvadrat duger, även om det vore önskvärt att skala felstraffning med signalamplitud i någon form (viktigare att ha bra fit kring huvudtopparna).
(Nej, det är inte läxa :))
Jag har en samplad signal u[k] som med god approximation kan representeras av en annan (kortare) signal r[k], tidsskiftad och linjärt skalad på formen:
u[k] = sum(i=1:P){lambda_i * r[k-t_i]} + E[k]
där r[k] är en lämplig referensfunktion som innehåller en topp och ringningen efter toppen. (P=16 i det här fallet, E = differens mellan fit och samplad signal)
"http://lh6.google.com/ingenjor/R4dF2TgJY3I/AAAAAAAAAsU/Dr4K6kL478I/s800/CT.jpg"
Som synes dränks transienten från första excitationen av nästa osv. Det jag vill få fram är bästa* valet av lambda_i, t_i, och "single excitation response" r[k].
Det jag inte vill göra är att försöka filtrera bort "oscillationerna" mellan topparna. Har ganska många signaler av den här typen och frekvenskarakteristiken på ringningen ser olika ut från gång till gång.
Knåpade ihop en MonteCarlo-algoritm som mer eller mindre slumpar sig fram till lämpliga val av r,lambda_i och t_i vilket funkar bra, men det går ganska långsamt och ger inga garantier att man inte landat i ett lokalt, icke-globalt, optimum (även om man kan minimera den risken genom heroiska konvergensvillkor och dynamiska slumpintervall)
Funderar på att kasta in allt i fourierrummet, men det blir rätt grisigt där också...
Tipsa gärna om du sitter på något lämpligt angreppssätt. Systemet antas alltså vara linjärt och jag vill få fram en hyfsad uppskattning av "impulssvaret" (inkommande signaler är iofs för långa för att kallas impulser, men vi kan kalla dem det iaf) ur signalen ovan som är responsen för flera impulser som endast skiljer sig åt i amplitud och starttid.
*Nån minsta-kvadrat duger, även om det vore önskvärt att skala felstraffning med signalamplitud i någon form (viktigare att ha bra fit kring huvudtopparna).
(Nej, det är inte läxa :))