|
From: | Ron Crummett |
Subject: | Filter transformation functions - math help |
Date: | Fri, 23 Mar 2007 13:34:57 -0700 |
User-agent: | Thunderbird 1.5.0.10 (X11/20070221) |
Hi -This might be a bit of a bizarre request on the Octave help line, but it is Octave-related and I need help, so...
I am trying to write functions that will perform filter transformations on a normalized low-pass filter, similar to MATLAB's lp2lp, lp2hp, etc. MATLAB performs all of these transformations in state-space and the code is printed on their help pages, so to simply copy the code there would be plagiarism.
BUT...the way I see it (and help me if I have vision problems) is that if I were to derive the transformations myself, then I could code these up and it would be perfectly legal. For a low-pass to low-pass transform, this is pretty easy. If our normalized low-pass filter has state-space form
sX = AX+BU Y = CX+DU then we substitute s with s/wo (wo being our new cutoff frequency) and get sX = woAX+woBU Y = CX+DUor, in other words, A and B have been scaled by wo. Unfortunately, the other filter transforms are a bit more tricky and this is where I am asking for help. From what I can tell, most of this will take some tricky matrix manipulation that I can't immediately figure out. I know that some filter transformation operations are available in Octave by different names, but I haven't been able to completely understand them and I think that functions like lp2lp would be good in Octave. I do not want this to become a large post if it does not need to be, so I ask those who know to contact me privately.
Sorry for the length of the post. I hope that it will result in positive and meaningful contributions to Octave.
Thanks, -Ron
[Prev in Thread] | Current Thread | [Next in Thread] |