Kontinuierliches Signal in Matlab filtern

OP (Firma: abaxor engineering) #1047024
Hallo,


ich will ein Signal in Matlab zeit-kontinuierlich filtern. Den Filter 
habe ich als Übertragungsfunktion in s vorliegen. Für diskrete Systeme 
gibt es die Funktion "filter", so etwas brauche ich für kontinuierliche 
Systeme.

Eine Überführung des Filters von s nach z ist bei der dann notwendigen 
Samplingfrequenz nicht möglich.

Tom
OP (Firma: abaxor engineering) #1047108
Detlef _a wrote:
> Was soll denn dabei rauskommen?
Ein gefiltertes Signal. Sorry, ich verstehe die Frage nicht.

> Matlab (und Spice) Ergebnisse sind immer zeitdiskret.
Alles was ein digitaler Computer ausrechnet ist zeitdiskret, nur nicht 
immer äquidistant. Das ist bei mir jedoch auch der Fall. Nur kann ich 
die bilineare Transformation (von s nach z) für den Filter nicht bei der 
notwendigen Samplingfrequenz nicht anwenden.



Tom
Gast #1047177
Kann man davon ausgehen, dass dein Signal auch nicht diskret ist, also 
in Form einer Gleichung vorliegt (keine Samplereihe)?

Wenn du das Problem "kontinuierlich" lösen möchtest musst du:

f(t) => f(s)
Dein Signal Laplace-transformieren.

Dann:
f'(s) = G(s) * f(s)

Dann den Kram wieder rückwärts:
f'(s) => f'(t)

Ist ist das, was du machen möchtest?
OP (Firma: abaxor engineering) #1047249
Alex wrote:
> Kann man davon ausgehen, dass dein Signal auch nicht diskret ist, also
> in Form einer Gleichung vorliegt (keine Samplereihe)?
>
> Wenn du das Problem "kontinuierlich" lösen möchtest musst du:
>
> f(t) => f(s)
> Dein Signal Laplace-transformieren.
>
> Dann:
> f'(s) = G(s) * f(s)
>
> Dann den Kram wieder rückwärts:
> f'(s) => f'(t)
>
> Ist ist das, was du machen möchtest?

Prinzipiell ja.

In Simulink kann man eine Übertragungsfunktion in s auch auf ein 
"kontinuierliches" Signal anwenden, daraus schließe ich, dass es in 
Matlab ähnlich gehen muss.
Gast #1047813
Sorry Thomas,

auch Simulink rechnet nur wertdiskret, d.h. die Differentiale in deinem 
G(s) werden diskretisiert. Nicht umsonst ist für jedes Modell in 
Simulink eine Cycle-Time sowie ein Solver vorzugeben.

Wenn du in Simulink einen Sinusblock verwendest dann liefert dieser KEIN 
zeitkontinuierliches Signal sondern auch nur eine Treppenfunktion, 
welche abhängig von der Abtastrate einen realen Sinus mehr oder minder 
gut annähert.

Schau dir mal folgende zwei Matlab Befehle näher an:
tf
lsim

Damit solltest du denke ich weiterkommen.


Gruß,
Alex

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.