Thread PDL -- DT1 Filter erstellen (1 answers)
Opened by cdrw32 at 2015-07-20 10:17

Gast cdrw32
 2015-07-20 10:17
#181627 #181627
Servus,
Ich versuche für MDA von ETAS einen DT1 Filter zu erstellen. Vorweg noch meine Perl kenntnisse beschränken sich auf garkeine. Jetzt weiter zum Problem mir fehlt nur noch in der Formel "y=KDT*(x-x[i-1])+(1-MDT)*y[i-1]" der letzte Teil mit dem *y[i-1]. Wie bekomme ich es hin das der vorher berechnete Output Wert in die aktuelle Berechnung mit einfließt?
Alles was ich bisher habe ist aus bereits in MDA integrierten Formeln zusammen gesucht.

Vielen Dank schon mal für die Hilfe

count wird immer mit 1 belegt.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
use PDL; 
use PDL::Types;
use PDL::Func;
use PDL::Math;
use warnings;
use strict;

sub new
{
return (bless {
_signals => ['time', 'input'],
_parameters => ['count']
})->create(@_);
}

sub calc
{
my ($this, $dim, $time, $input, $count) = @_;
my $KDT = 62.9;
my $MDT = 0.6;
my $inputdelay = $this->delay('inputstate', $input);
my $output = $KDT*($input-$inputdelay)+(1+$MDT);
return ($output)
}

sub init
{
my ($this) = @_;
my $count = $this->{count};
$this->initdelay('inputstate', zeroes($count));
return 0;
}

Last edited: 2015-07-20 12:33:37 +0200 (CEST)

View full thread PDL -- DT1 Filter erstellen