Csound Csound-dev Csound-tekno Search About

[Cs-dev] Linear algebra and fsigs - attention Victor Lazzarini

Date2008-05-15 22:13
FromMichael Gogins
Subject[Cs-dev] Linear algebra and fsigs - attention Victor Lazzarini
I am in the midst of implementing general-purpose linear algebra opcodes for Csound in the orchestra language.

These involve creating real and complex vectors and matrices, getting and setting elements, elementwise arithmetic, various norms, trace, determinant, array-array arithmetic (e.g. dot product), inverse, LU decomposition, QR decomposition, and QR-based eigenvalue and eigenvector decomposition. Creation happens only at i-rate, all other operations can happen at i-rate or k-rate. There are conversions to and from a-rate signals, function tables, and f-sigs.

I am about half-way done with this work.

I have a question for Victor and other developers of the PVS opcodes. I see from the documentation that the pvs opcodes actually fire not at k-rate, but a rate determined by the FFT width and windowed overlap.

It does not make sense to implement this for the linear algebra opcodes, but I need to understand how to make the array operations synchronize with the f-sig variables. Is it ever the case that the f-sigs change at the same rate as k-rate, or an integral multiple or divisor of k-rate? If so, what is the governing relation so that a user of linear algebra with f-sig variables can remain synchronized with them?  If there is an integral ratio between the f-sig rate and k-rate, then the user can program linear algebra operations at that ratio, e.g. if an f-sig changes 1/2 as often as k-rate, then the user can operate on that f-sig only every other k-period (obviously, it has to be just the right period!). 

Does doing this make sense? Does one fsig ever contain more than one window's worth of data?

Thanks,
Mike



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net