Overload List
| # | Signature | Description |
|---|---|---|
| 1 | void LowpassToLowpass(TMtx a, TVec b, TVec c, ref Double D, Double Freq) | Transform a lowpass filter prototype in state space form to a lowpass filter. |
| 2 | void LowpassToLowpass(TVec z, TVec p, ref Double k, Double Freq) | Frequency transformation from a lowpass to a lowpass filter in s-domain. |
Overload 1: void LowpassToLowpass(TMtx a, TVec b, TVec c, ref Double D, Double Freq)
Transform a lowpass filter prototype in state space form to a lowpass filter.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | a | TMtx | source TMtx |
| 2 | b | TVec | source TVec |
| 3 | c | TVec | source TVec |
| 4 | D | Double (ref) | output |
| 5 | Freq | Double | scalar |
Result: stored in self (calling object)
Examples
using Dew.Math;
using Dew.Math.Editors;
using Dew.Math.Units;
using Dew.Signal;
using Dew.Signal.Units;
using Dew.Math.Tee;
using Dew.Signal.Tee;
private void button1_Click(object sender, EventArgs e)
{
Vector z = new Vector(0);
Vector p = new Vector(0);
Vector num = new Vector(0);
Vector den = new Vector(0);
Vector Response = new Vector(0);
Vector FreqFr = new Vector(0);
double k,Wc,BW;
double FS = 2;
int Order = 5; //design a fifth order filter.
IIRFilters.EllipticAnalog(Order,0.2,40,z,p,out k); //design analog protype
Wc = 0.7;
LinearSystems.LowpassToLowpass(z,p,ref k,Wc); //frequency transformation in s-domain
LinearSystems.ZeroPoleToTransferFun(num,den,z,p,k);
//Define the frequency grid (logarithmic)
FreqFr.Length = 1000;
SignalUtils.LogRamp(FreqFr,-1,1); //between 0.1 (=10^(-1)) and 10 (=10^1) rad/sec
SignalUtils.FrequencyResponseS(num,den,FreqFr,Response,0); //Laplace
MtxVecTee.DrawIt(Response,"Frequency response",false); //Y axis linear, X axis logarithmic
}
Overload 2: void LowpassToLowpass(TVec z, TVec p, ref Double k, Double Freq)
Frequency transformation from a lowpass to a lowpass filter in s-domain.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | z | TVec | source TVec |
| 2 | p | TVec | source TVec |
| 3 | k | Double (ref) | output |
| 4 | Freq | Double | scalar |
Result: stored in self (calling object)
Remarks:
Transform a lowpass filter prototype in zero-pole form to a lowpass filter, where the new cutoff frequency is Freq. Assumed sampling frequency is 2. The transformation is defined as ([1], p. 258): s -> s/W_u
Wu - new cutoff frequency
References:
[1] Theory and application of digital signal processing, Lawrence R. Rabiner and Bernard Gold. Prentice-Hall, 1975