12.03.2013, 18:41
Hallo zusammen,
ich hab ein kleines Problem beim gleichzeitigen Messen von mehreren Signalen.
Ich muss für meine Technikerarbeit (Elektrotechnik) ein Herzsignal aufnehmen. Dieses messe ich mit einem Instrumentenverstärker und lese es über die Messbox NI-MyDAQ ein. Da ich aber die drei Ableitungen messen muss (also Strecke: linker Arm - Fuss, Rechter Arm - Fuss und Rechter Arm - Linker Arm) und nur zwei analoge eingänge hab, schalte ich diese mit Multiplexern jeweils um. Ich messe die Signale mit dem DaQ-Assistent und filtere diese dann durch einen Hochpass 0,5 Hz und einen Tiefpass 15 Hz und eine Bandsperre 50 Hz um das Herzsignal schön darzustellen. Es entstehen aber an den Stellen wo die zeitlich die anderen Ableitungen gemessen werden immer Informationslücken im Graph. Hab dann versucht diese rauszubekommen indem ich schneller Abtaste mit weniger Werten. Krieg dann aber die Fehlermeldung das die Werte die ich messe nicht mehr zur Verfügung stehen oder überschrieben wurden. Hab dann immer nur pro Schleifendurchlauf einen Wert genommen. Daraufhin konnten die Filter das Signal nicht mehr Filtern da Sie ja nur einen Wert hatten pro durchlauf (Fehlermeldung das das Abtasttheorem nicht eingehalten wird). Hab diese dann in ein Array speichern lassen und dann erst den Filtern gegeben um zu Filtern. Jedoch hatten diese dann das Problem das sie mit den Werten im Array nix anfangen konnten da ihnen die Zeitkonstante fehlt und sie so nur einen großen haufen an Werten haben. Hab die Filter zusätzlich in eine Case-Struktur gesetzt damit diese erst Filtern wenn schon 100 Werte erfasst wurden. Hab jetzt nur mal zwei Strecken zum Umschalten genommen aber das Prinzip bleibt ja das gleiche.
Meine Frage ist jetzt:
Wie bekomme ich diese Informationslücken am besten aus den Signalen raus und das alle Signale gleichzeitig gemessen werden.
Oder kann ich die Filter anders realisieren bzw. umstellen damit diese richtig Filtern wenn ich pro Schleifendurchlauf nur einen Wert hole.
Hab euch das Programm mal dabei getan damit ihr mal reinschauen könnt.
In der oberen Case Struktur entscheide ich welcher Multiplexer durchgeschaltet wird. Bzw. jeden Schleifendurchlauf der andere dann. Steuer die Mulitplexer dann über die Digitalen Ausgänge an.
Vielen Dank Schonmal im Vorraus
ich hab ein kleines Problem beim gleichzeitigen Messen von mehreren Signalen.
Ich muss für meine Technikerarbeit (Elektrotechnik) ein Herzsignal aufnehmen. Dieses messe ich mit einem Instrumentenverstärker und lese es über die Messbox NI-MyDAQ ein. Da ich aber die drei Ableitungen messen muss (also Strecke: linker Arm - Fuss, Rechter Arm - Fuss und Rechter Arm - Linker Arm) und nur zwei analoge eingänge hab, schalte ich diese mit Multiplexern jeweils um. Ich messe die Signale mit dem DaQ-Assistent und filtere diese dann durch einen Hochpass 0,5 Hz und einen Tiefpass 15 Hz und eine Bandsperre 50 Hz um das Herzsignal schön darzustellen. Es entstehen aber an den Stellen wo die zeitlich die anderen Ableitungen gemessen werden immer Informationslücken im Graph. Hab dann versucht diese rauszubekommen indem ich schneller Abtaste mit weniger Werten. Krieg dann aber die Fehlermeldung das die Werte die ich messe nicht mehr zur Verfügung stehen oder überschrieben wurden. Hab dann immer nur pro Schleifendurchlauf einen Wert genommen. Daraufhin konnten die Filter das Signal nicht mehr Filtern da Sie ja nur einen Wert hatten pro durchlauf (Fehlermeldung das das Abtasttheorem nicht eingehalten wird). Hab diese dann in ein Array speichern lassen und dann erst den Filtern gegeben um zu Filtern. Jedoch hatten diese dann das Problem das sie mit den Werten im Array nix anfangen konnten da ihnen die Zeitkonstante fehlt und sie so nur einen großen haufen an Werten haben. Hab die Filter zusätzlich in eine Case-Struktur gesetzt damit diese erst Filtern wenn schon 100 Werte erfasst wurden. Hab jetzt nur mal zwei Strecken zum Umschalten genommen aber das Prinzip bleibt ja das gleiche.
Meine Frage ist jetzt:
Wie bekomme ich diese Informationslücken am besten aus den Signalen raus und das alle Signale gleichzeitig gemessen werden.
Oder kann ich die Filter anders realisieren bzw. umstellen damit diese richtig Filtern wenn ich pro Schleifendurchlauf nur einen Wert hole.
Hab euch das Programm mal dabei getan damit ihr mal reinschauen könnt.
In der oberen Case Struktur entscheide ich welcher Multiplexer durchgeschaltet wird. Bzw. jeden Schleifendurchlauf der andere dann. Steuer die Mulitplexer dann über die Digitalen Ausgänge an.
Vielen Dank Schonmal im Vorraus