|
|
Tiefpassfilter, Interpolation, B-Splines und Faltung |
|
al3ko |
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 12.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.09.2011, 20:51
Titel: Tiefpassfilter, Interpolation, B-Splines und Faltung
|
|
|
|
|
Hi Leute,
wieder einmal eine Frage an euch.
In einer Aufgabe sollten wir B-Splines erstellen. Der Code dazu lautet wie folgt:
Als Ergebnis erhält man einen normierten B-Spline Vektor der Länge 4 und der Ordnung 3.
Wenn ich B-Splines im Internet nachlese, werde ich nicht ganz schlau. Splines werden laut Wikipedia zum Rekonstruieren von Funktionen verwendet.
Okay, das nehme ich mal so hin.
Allerdings verstehe ich die Aufgabe der Faltung in diesem Zusammenhang noch nicht so ganz. Was genau wird wird mit dem o.g. Code erzeugt bzw. was kann ich damit anfangen? Inwiefern kann ich mit meinem Vektor h eine Rekonstruktion durchführen?
In meinem Buch steht drinnen, dass eine Interpolation durchgeführt wird, indem man das Signal durch einen idealen Tiefpassfilter durchjagt, um so nur noch die Grundwelle zu behalten, weil alle Oberwellen eliminiert werden. Wenn ich Tiefpass lese, sehe ich in meinem Kopf immer so etwas:
http://files.wikiweise.de/pdftmp/img-288_Tiefpass.png.jpg
Das Bild, das ich im Anhang sehe, ähnelt leider überhaupt nicht meinen Vorstellungen, weshalb ich euch hier um Hilfe bitte.
Vielen Dank.
Beschreibung: |
|
Download |
Dateiname: |
Untitled.png |
Dateigröße: |
11.68 KB |
Heruntergeladen: |
1226 mal |
|
|
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 20.09.2011, 21:33
Titel:
|
|
Die erste Darstellung zeigt das Amplitudendiagramm des Filters mit einer logarithmischen Frequenzachse, so dass ein größerer Frequenzbereich dargestellt werden kann.
Im zweiten Bild ist die Frequenzachse linear und der Bereich mit 1 Hz sehr klein. Du siehst in dem Bild eine Nullstelle des Filters. Stell die Frequenzantwort des Filters doch mal über einen größeren Freq.-Bereich dar (0...fa/2) und mit logarithmischer Skalierung.
|
|
|
al3ko |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 12.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.09.2011, 22:05
Titel:
|
|
Hi DSP,
DSP hat Folgendes geschrieben: |
Die erste Darstellung zeigt das Amplitudendiagramm des Filters mit einer logarithmischen Frequenzachse, so dass ein größerer Frequenzbereich dargestellt werden kann.
Im zweiten Bild ist die Frequenzachse linear und der Bereich mit 1 Hz sehr klein. Du siehst in dem Bild eine Nullstelle des Filters. Stell die Frequenzantwort des Filters doch mal über einen größeren Freq.-Bereich dar (0...fa/2) und mit logarithmischer Skalierung. |
Tut mir Leid, ich habe dir einen unvollständigen bzw. unsauberen Code gegeben. Die x-Achse geht nicht nur bis 1 Hz. Es ist normiert, so dass die Nyquist Frequenz bei 1 ist. Ja, sie ist linear, dennoch ändert das nichts großartig am Bild selbst (siehe Anhang). Hier nun der gesamte Code zur Aufgabe:
und die mybspline funktion:
Die Nyquist Frequenz ist jetzt bei 0 wegen 20*log10(f).
Beschreibung: |
|
Download |
Dateiname: |
Untitled.png |
Dateigröße: |
31.26 KB |
Heruntergeladen: |
1192 mal |
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 20.09.2011, 22:23
Titel:
|
|
Das obere Bild aus dem Link zeigt einen Tiefpass 1. Ordnung (IIR-Filter), in der Regelungstechnik auch PT1 genannt. Dieser hat keine Nullstellen. Deine Funktion erzeugt aber ein FIR-Tiefpassfilter, welches nur Nullstellen besitzt (mathematisch gesehen auch noch Polstellen im Ursprung...aber das lassen wir mal weg). In den Nullstellen ist die Dämpfung theoretisch unendlich, was auch dein Diagramm zeigt. Dennoch lässt sich mit einem FIR-Filter auch annäherend der Verlauf eines IIR-Tiefpass erzeugen, mal abgesehen von den 'Einkerbungen' in den Nullstellen.
Wo genau ist jetzt dein Problem...mal abgesehen von der Frequenzachse in deinem Diagramm? Letzendlich erzeugt die Funktion mit der Faltung ein Window ähnlich Hann oder Blackman, dass der Impulsantwort eines FIR-Tiefpassfilter entspricht.
In Sachen B-Splines kann ich dir aber auch nicht helfen...damit kenne ich mich nicht aus.
|
|
|
al3ko |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 12.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.09.2011, 22:50
Titel:
|
|
|
|
|
Hallo DSP,
danke für deinen Beitrag
DSP hat Folgendes geschrieben: |
Das obere Bild zeigt einen Tiefpass 1. Ordnung (IIR-Filter), in der Regelungstechnik auch PT1 genannt. |
PT1 kommt mir vertraut vor, da ich bereits Kurse in Regelungstechnik besuchte. Endlich mal dieselbe Sprache
Zitat: |
Deine Funktion erzeugt aber ein FIR-Tiefpassfilter, welches nur Nullstellen besitzt (mathematisch gesehen auch noch Polstellen im Ursprung...aber das lassen wir mal weg). In den Nullstellen ist die Dämpfung theoretisch unendlich, was auch dein Diagramm zeigt. Dennoch lässt sich mit einem FIR-Filter auch annäherend der Verlauf eines IIR-Tiefpass erzeugen, mal abgesehen von den 'Einkerbungen' in den Nullstellen. |
Zitat: |
Wo genau ist jetzt dein Problem...mal abgesehen von der Frequenzachse in deinem Diagramm Letzendlich erzeugt die Funktion mit der Faltung ein Window ähnlich Hann oder Blackman, dass der Impulsanwort eines FIR-Tiefpassfilter entspricht. |
Okay, jetzt bin ich ein Stück weiter. Wirklich "Filter" bzw. "Filter-Design" haben wir im Unterricht noch nicht behandelt. Wörter wie FIR Filter Design, Window, Hann oder Blackman lese ich jetzt zum ersten Mal. Einiges davon lernen wir erst in zwei Wochen.
Meine konkrete Frage daher:
Was spielt die Faltung im Filterdesign für eine Rolle?
Zunächst kreiere ich eine Rechteckfunktion mit dem Matlab Befehl ones. Dann führe ich die erste Faltung durch: Rechtecksignal gefaltet mit demselben Rechtecksignal -> Eine dritte Funktion kommt heraus, nämlich das "Dreieck", wie man es auch bei Wikipedia sehen kann. Nun wird dieses Dreieck wieder mit dem Rechtecksignal gefaltet. Je nachdem welche Ordnung ich wähle, kann ich das Spiel beliebig durchführen.
Wobei, wartet mal:
Wenn ich einfach nur das Rechtecksignal, das mit ones() kreiert wurde, nehme, spricht man dann von einem Zero-Order-Hold? Und wird es mit sich selbst gefaltet (1. Ordnung), so haben wir einen First-Order-Hold? Zwischen zwei Abtastwerten haben wir also keine Konstante (Zero Order Hold), sondern eine lineare Beziehung (First Order Hold) usw. usf.?
Ergibt das einen Sinn?
Oh man, DSP hat es schon in sich
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 20.09.2011, 23:14
Titel:
|
|
Ehrlich gesagt ist mir diese Methode zum Filterdesign nicht bekannt (was aber nichts heißen muss). Bei einem Filterdesign möchte man ja aber eher z.B. den Dämpfungsverlauf vorgeben (Grenzfrequenz, Sperrbereich, Dämpfungsmaß etc) was ja mit dieser Methode nicht geht, bzw. hier fehlt noch der Zusammenhang zwischen Länge der Rechteckfunktion und der anschließenden Anzahl von Faltungen. Hier ist dann halt die Frage, ob es einen derartigen Zusammenhang gibt und er auch praktikabel ist.
Die Faltung wird letztendlich im Bereich Filter für die eigentliche Filterung des Signals mit der Impulsantwort des Filters genutzt.
Was das nun mit einem Zero-order-hold zu tun hat, verstehe ich nicht. Das Halteglied hält ja den abgetasteten Wert über eine gewisse Zeitspanne, bei 0. Ordnung ca. TS/2. Mit einem Filter, wie in diesem Fall, hat das ja nichts zu tun
Edit: Oder meinst du das in Bezug auf die Verzögerungszeit/Einschwingzeit des Filters?
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|