# Problem mit dem Datentyp double

### Frage

• Hallo, habe ein kleines Problem: Will ein Filter realisieren mit double - Werten.

Das sind meine Koeffizienzen:

``` Koeffizienten = new double[211]
{
-7.1542215224E-6, -7.2743444833E-6, -5.4250607117E-6, -0.0000011100975763E-0, 0.0000057973299053E-0, 0.000014912211580E-0,
0.000025259127684E-0, 0.000035287917709E-0, 0.000043003281959E-0, 0.000046211227835E-0, 0.000042864663922E-0, 0.000031468905641E-0,
0.000011488996397E-0, -0.000016311667291E-0, -0.000049674590836E-0, -0.000084855229475E-0, -0.00011687996942E-0, -0.00014006034620E-0, -0.00014873340791E-0,
-0.00013815449190E-0, -0.00010543033939E-0, -0.000050353315957E-0, 0.000024012278181E-0, 0.00011112883919E-0, 0.00020127067375E-0,
0.00028234041721E-0, 0.00034118803532E-0, 0.00036532304603E-0, 0.00034483350975E-0, 0.00027426413137E-0, 0.00015417207570E-0, -0.0000079180833200E-0,
-0.00019739457224E-0, -0.00039342290231E-0, -0.00057082437573E-0, -0.00070285743599E-0, -0.00076464566986E-0, -0.00073686753921E-0,
-0.00060923114426E-0, -0.00038322051169E-0, -0.000073630494093E-0, 0.00029149024621E-0, 0.00067269975507E-0, 0.0010228181708E-0, 0.0012921221542E-0,
0.0014345793860E-0, 0.0014144191001E-0, 0.0012122004471E-0, 0.00082950393083E-0, 0.00029144863009E-0, -0.0003536797445E-0, -0.0010372129635E-0,
-0.0016775761045E-0, -0.0021880689237E-0, -0.0024880009867E-0, -0.0025136508583E-0, -0.002284509828E-0, -0.00075869422153E-0, 0.00031118123246E-0,
0.0014680296788E-0, 0.0025774117249E-0, 0.0034954410830E-0, 0.0040858121491E-0, 0.0042377358916E-0, 0.0038826218098E-0, 0.0030072813690E-0,
0.0016616400391E-0, -0.000040570468504E-0, -0.0019289468255E-0, -0.00379142931502E-0, -0.0053952000273E-0, -0.0065143569680E-0, -0.0069568666261E-0,
-0.0065923277367E-0, -0.0053742992481E-0, -0.0033549976160E-0, -0.00068971562366E-0, 0.0023705604692E-0, 0.0054986085974E-0, 0.0083213930104E-0,
0.010458976401E-0, 0.011568263969E-0, 0.011384068442E-0, 0.0097735841179E-0, 0.0067364851257E-0, 0.0024515376144E-0, -0.0027382048289E-0,
-0.0083399715821E-0, -0.013746130678E-0, -0.018283962101E-0, -0.021276242528E-0, -0.022107144797E-0, -0.020287081876E-0, -0.015509887560E-0, -0.0076961773847E-0,
0.0029821475865E-0, 0.016099599779E-0, 0.030998249353E-0, 0.046831252195E-0, 0.062625433958E-0, 0.077357614247E-0, 0.090037860543E-0, 0.099792027388E-0,
0.10593586153E-0, 0.10803365697E-0, 0.10593586153E-0, 0.099792027388E-0, 0.090037860543E-0, 0.077357614247E-0, 0.062625433958E-0, 0.046831252195E-0, 0.030998249353E-0,
0.016099599779E-0, 0.0029821475865E-0, -0.0076961773847E-0, -0.015509887560E-0, -0.020287081876E-0, -0.022107144797E-0, -0.021276242528E-0, -0.018283962101E-0,
-0.013746130678E-0, -0.0083399715821E-0, -0.0027382048289E-0, 0.0024515376144E-0, 0.0067364851257E-0, 0.0097735841179E-0, 0.011387068442E-0, 0.011568263969E-0,
0.010458976401E-0, 0.0083213930104E-0, 0.0054986085974E-0, 0.0023705604692E-0, -0.00068971562366E-0, -0.0033549976160E-0, -0.0053742992481E-0, -0.0065923277367E-0,
-0.0069568666261E-0, -0.0065143569680E-0, -0.0053952000273E-0, -0.0037912931502E-0, -0.0019289468255E-0, -0.000040570468504E-0, 0.0016616400391E-0, 0.0030072813690E-0,
0.0038826218098E-0, 0.0042377358916E-0, 0.0040858121491E-0, 0.0034954410830E-0, 0.0025774117249E-0, 0.0014680296788E-0, 0.00031118123246E-0, -0,00075869422153E-0, -0.0016308669653E-0,
-0.0022284509828E-0, -0.0025136508583E-0, -0.0024880009867E-0, -0.0021880689237E-0, -0.0016775761045E-0, -0.0010372129635E-0, -0.00035356797445E-0, 0.00029144863009E-0, 0.00082950393083E-0,
0.0012122004471E-0, 0.0014144191001E-0, 0.0014345793860E-0, 0.0012921221542E-0, 0.0010228181708E-0, 0.00067269975507E-0, 0.00029149024621E-0, -0.000073630494093E-0, -0.00038322051169E-0,
-0.00060923114426E-0, -0.00073686753921E-0, -0.00076464566986E-0, -0.00070285743599E-0, -0.00057082437573E-0, -0.00039342290231E-0, -0.00019739457224E-0, -0.0000079180833200E-0,
0.00015417207570E-0, 0.00027426413137E-0, 0.00034483350975E-0, 0.00036532304603E-0, 0.00034118803532E-0, 0.00028234041721E-0, 0.00020127067375E-0, 0.00011112883919E-0, 0.000024012278181E-0,
-0.000050353315957E-0, -0.00010543033939E-0, -0.00013815449190E-0, -0.00014873340791E-0, -0.00014006034620E-0, -0.00011687996942E-0, -0.000084855229475E-0, -0.000049674590836E-0,
-0.000016311667291E-0, 0.000011488996397E-0, 0.000031468905641E-0, 0.000042864663922E-0, 0.000046211227835E-0, 0.000043003281959E-0, 0.000035287917709E-0, 0.000025259127684E-0,
0.000014912211580E-0, 0.0000057973299053E-0, -0.0000011100975763E-0, -0.0000054250607117E-0, -0.0000072743444833E-0, -0.0000071542215224E-0

};
Ringbuffery = new double[211];```

Danach berechne ich mir einen Sinus der gefiltert werden soll:

```double time = (Environment.TickCount - tickStart) / 1000.0;
y = Math.Sin(2.0 * Math.PI * 0.2 * time);
Filterung();```

`nun will ich diesen Sinus filtern:`
```Ringbuffery[index] = y;

index++;

if (index >= 211)
{
init = true;
index = 0;
}

//     this.Text = index.ToString();

if (!init)
{
return;
}

yf = 0;

for (int i = 0; i < 211; i++)
{
yf += Koeffizienten[i] * Ringbuffery[((i + index) % 211)];
}
this.Text = yf.ToString();```

das Problem: er zeigt mir einen Wert von 10^9 an. Jedoch sollte meines Verständnisses eine MaximalAmplitude von 1 sein ( wie beim Sinus). Jemand ne Idee woran das liegen könnte?

mfg

Mittwoch, 27. März 2013 14:28

### Alle Antworten

• Hallo,

es wäre nett, wenn Du ausführbaren Code posten würdest -  oben findet man nur Codefragmente.

Die erst zusammensetzen und lauffähig zu bekommen, kann nicht Aufgabe eines Forums sein.

Gruß Elmar

Mittwoch, 27. März 2013 16:02
• Hi flo1993,

für welchen wert von time soll  y = Math.Sin(2.0 * Math.PI * 0.2 * time) > 1 werden.

MFG

Björn

Freitag, 29. März 2013 19:05