INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Filter für Preemphase



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

20.07.2007, 08:08 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2007 15:32 von jg.)
Beitrag #11

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Filter für Preemphase
' schrieb:Ich möchte die Übertragungsfunktion des Preemphasefilters per frequency sampling möglichst gut approximieren. (hätte ich wohl früher sagen soll/müssen). Laut meinem Vorgänger an diesem Projekt ist diese Approximation mit 21 Koeffizienten recht gut.
Das hat Dein Vorgänger zweifellos recht. Man kann nämlich jedes IIR Filter auch mit FIR-Filtern approximieren - theoretisch zwar nur mit unendlich vielen Koeffizienten, aber wir wollen dem Vorgänger mal glauben, daß hier mit 21 Koeffizienten eine recht gute Approximation erreicht wird. Was er Dir aber nicht verraten hat ist doch: Mit einem IIR-Filter 1.Ordnung wird der Hochpass nicht approximiert, sondern exakt realisiert.

Der Hochpass ist so einfach, daß man ihn auch selbst als kleines VI basteln könnte. Hier mal ein Lösung mit einem fertigen Filter (Ich habe absichtlich die Punkt-zu Punkt-Type gewählt, wenn es online gemacht wird wäre das wichtig)
Anmerkung: Für Ordnung=1 verschwinden die Unterschiede zwischen Butterworth, Bessel usw., es ist egal welche Filtertype man nimmt.

Zitat:Die Funktion sollte im Frequenzbereich von 0 - 15kHz (grob UKW-Übertragungbereich) recht gut passen.
Den Filter interessiert nicht der Frequenzbereich, sondern einzig die Abtastrate. Übliche Raten sind z.B. 44.1kHz für CD-Qualität oder 48kHz für DVD-Audio. Ob beim analogen ausgestrahlten UKW-Rundung für die digitale Verarbeitung intern ein Abtastrate genormt ist weiß ich nicht. Die allgemeine Tendenz geht jedenfalls weg von 44.1KHz hin zu 48 oder sogar 96/192kHz.

Edit: Ich habe mich durch den Untertitel "Eigentlich nur simples Hochpassfilter" in die Irre führen lassen. Ein Preemphasis-Filter ist aber kein reines Hochpassfilter, welches alle Frequenzen unterhalb seiner Grenzfrequenz abschneidet, sondern ein Filter, welches die Frequenzen bis dahin durchläßt und oberhalb der Grenzfrequenz verstärkt. Das VI ist also so nicht zu verwenden. Korrektur folgt..

(VI LV 8.2)


Angehängte Datei(en)
Sonstige .vi  Hochpass4.vi (Größe: 20,75 KB / Downloads: 187)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
21.07.2007, 10:21 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2007 15:32 von jg.)
Beitrag #12

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Filter für Preemphase
Bei der Preemphasis mit dem Frequenzgang
F(f) = 1 + T*s
handelt es sich um die Addition der Originlfunktion mit der mit T multiplizierten differenzierten Funktion - Eigentlich ist das ganz einfach zu realisieren.

(Anmerkung: Die Differentiation bis zu unendlich hohen Frequenzen ist allerdings nur rein theoretisch möglich, z.B mit einem idealen Operationsverstärker, und praktisch auch nicht anzustreben, so daß man sich in der Praxis immer für eine Preemphasis-Funktion das Types F(f) = (1 + T*s)/(1 + T2*s) entscheiden würde (T2<T). Das bleibt hier unberücksichtigt)

Ich habe mal 2 verschiedene, aber funktional identische Filter gebaut (deshalb sieht man auch nur einen Plot).

Die Filterkoeffizienten wurden so bestimmt: Der (eine und einzige) Koeffizient ( =T/fs) des selbstgebastelten Filters entstand durch Überlegung und anschließende Verifikation mit einer Rampenfunktion, bei der man die Ausgangsfunktion leicht vorhersagen konnte. Die beiden Vorwärts-Koeffizienten des FIR-Filters (Es steht IIR drauf, ist es aber nicht, weil die Rückwärtskoeffizienten fehlen) wurden schlichtweg probiert, so daß die beiden Kurven übereinstimmen.
Das Ergebnis der Probierkunst war: A0 = T/fs +1; A1 = -T/fs.

(VI LV 8.0)


Angehängte Datei(en) Thumbnail(s)
       

Sonstige .vi  Preemphasis.vi (Größe: 24,35 KB / Downloads: 154)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 14:47
Beitrag #13

Xaran Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 200
Registriert seit: Jun 2006

LabView 2009
2006
en

80***
Deutschland
Filter für Preemphase
Hallo!
Vielen vielen Dank für die Antworten. Ich war das Wochenende außer Hause, deswegen erst jetzt die Antwort. (Macht aber gute Laune, an die Arbeit zu gehen und sowas zu lesen :-) )

Ich hole mir erstmal was zu essen und werde es danach mal durcharbeiten (habe es gerade erst nur kurz überflogen).

Schöne Grüße
Sönke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 14:53
Beitrag #14

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Filter für Preemphase
' schrieb:Hallo!
Vielen vielen Dank für die Antworten. Ich war das Wochenende außer Hause, deswegen erst jetzt die Antwort. (Macht aber gute Laune, an die Arbeit zu gehen und sowas zu lesen :-) )

Ich hole mir erstmal was zu essen und werde es danach mal durcharbeiten (habe es gerade erst nur kurz überflogen).

Schöne Grüße
Sönke


Guten Appetit Big Grin

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.07.2007, 19:41 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2007 15:33 von jg.)
Beitrag #15

Xaran Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 200
Registriert seit: Jun 2006

LabView 2009
2006
en

80***
Deutschland
Filter für Preemphase
Zitat:Edit: Ich habe mich durch den Untertitel "Eigentlich nur simples Hochpassfilter" in die Irre führen lassen. Ein Preemphasis-Filter ist aber kein reines Hochpassfilter, welches alle Frequenzen unterhalb seiner Grenzfrequenz abschneidet, sondern ein Filter, welches die Frequenzen bis dahin durchläßt und oberhalb der Grenzfrequenz verstärkt. Das VI ist also so nicht zu verwenden. Korrektur folgt..

Stimmt. Wodurch lässt sich der Unterschied zwischen einem "normalen" Hochpass und meinem "gesuchten" Hochpass bei der Realisierung explizit erkennen?

Arbeiten tu ich mit einer Abtastrate von 300kHz (schon noch etwas höher als bei SACD / DVD-A...). Das sich der Filter auch nur dafür interessiert ist klar. Für mich wären aber Abweichungen bei mehr als 20kHz ziemlich egal. Gut, beim frequency sampling werden äquidistante Schritte gewählt, insofern dürfte sich das erledigt haben.

' schrieb:Bei der Preemphasis mit dem Frequenzgang
F(f) = 1 + T*s
handelt es sich um die Addition der Originlfunktion mit der mit T multiplizierten differenzierten Funktion - Eigentlich ist das ganz einfach zu realisieren.

Ich steh da grad etwas auf dem Schlauch. Es macht für mich schon Sinn, aber wie kommt man da genau drauf?
Das man nur einen Koeffizienten braucht, leuchtet mir ein, da am Ende auch nur ein Filter erster Ordnung entstehen soll. Es sollte digital ja auch nicht sehr viel komplizierter als im Analogen sein.

Das VI kann ich leider nicht öffnen, da ich nur LV7.1 hab. Ich hab es mir dank der Screenshots nachgebaut, allerdings nicht ganz das gleiche Ergebnis erzielt.

Zu deinem Graphen habe ich noch eine Frage: ich denke mal, dass die x-Achse in kHz skaliert ist. Aber was ist die Einheit der y-Achse? dB können es nicht sein, sonst müsste man bei grob 3kHz den +3dB haben.
Und wie kann man die Koeffizienten so gut "raten"? Da muss doch auch ein System hinter stecken.

(VI LV 7.1)


Angehängte Datei(en)
Sonstige .vi  Preemphase.vi (Größe: 53,15 KB / Downloads: 153)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2007, 08:44 (Dieser Beitrag wurde zuletzt bearbeitet: 08.12.2007 15:33 von jg.)
Beitrag #16

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Filter für Preemphase
' schrieb:Stimmt. Wodurch lässt sich der Unterschied zwischen einem "normalen" Hochpass und meinem "gesuchten" Hochpass bei der Realisierung explizit erkennen?
Das ist ja anhand der Frequenzgang-Kennlinie offensictlich, beim HP ist es
F(s) = T*s/(1+T*s), bei der Preemphasis ist es F(s) = 1+T*s. (Wobei, wie erwähnt, letztere Funktion als passiver analoger Vierpol so nicht realisierbar ist, da Grad des Zählerpolynoms nicht höher als Grad des Nennerpolynoms sein darf))

Zitat:Zu deinem Graphen habe ich noch eine Frage: ich denke mal, dass die x-Achse in kHz skaliert ist. Aber was ist die Einheit der y-Achse? dB können es nicht sein, sonst müsste man bei grob 3kHz den +3dB haben.
Und wie kann man die Koeffizienten so gut "raten"? Da muss doch auch ein System hinter stecken.

Habe Dein VI mit lv7.1 bearbeitet, aber es lief ja im Prinzip schon. Daß ich physikalische Einheiten verwende, ist nur so ein Hobby von mir, mußt Du nicht übernehmen.

Y-Achse war bei mir logarithmisch, habe jetzt je ein Diag log und in db gemacht.

Filterkoeffizienten:
Die normale Vorgehensweise ist: Gegeben Frequenzgang (analog) F(f) = 1 + Ts, bilineare Transformation liefert die V/R Koeffizienten des entsprechenden digitalen Filters. Vielleicht kann das mal jemand exerzieren, ich habe es nicht gut drauf, deshalb habe ich ein bissel geraten. Es gibt aber auch Programme wie z.B "Filter Solutions", die einem diese Arbeit abnehmen.


Angehängte Datei(en)
Sonstige .vi  Preemphase71.vi (Größe: 73,82 KB / Downloads: 136)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.07.2007, 09:04
Beitrag #17

Xaran Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 200
Registriert seit: Jun 2006

LabView 2009
2006
en

80***
Deutschland
Filter für Preemphase
*ouch* Das mit der dB-Umrechnung war mal eine richtig peinliche Frage, das werde ich sicher nie mehr vergessen...

Vielen Dank für das Bearbeiten. Ich werde es heute wohl mal ins Gesamt-VI einbinden und dann sicherlich noch weitere Fragen haben.

Welche der Implementierungen des Filters ist eigentlich schneller? Oder macht das keinen großen Unterschied mehr? Das VI ist schon ohne Preemphase langsam genug, da möchte ich nach Möglichkeit nicht noch eine weitere Bremse einbauen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2007, 09:45
Beitrag #18

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Filter für Preemphase
' schrieb:Welche der Implementierungen des Filters ist eigentlich schneller? Oder macht das keinen großen Unterschied mehr? Das VI ist schon ohne Preemphase langsam genug, da möchte ich nach Möglichkeit nicht noch eine weitere Bremse einbauen.
Fourier und Filterung laufen schneller als man gucken kann, eine Bremse ist das in keinem Fall. Du mußt nur darauf achten, daß die Anzahl der Samples 2^n ist, da sonst statt FFT die wesentlich langsamere FT benutzt wird. Aber FFT wird ja hier nur zur Frequenzgang-Anzeige verwendet, im echten Programm brauchst Du es wohl gar nicht
Wenn Du die Filterung online machst, mußt Du die Filterfunktionen durch die entsprechenden Punkt-zu-Punkt-VIs ersetzen, die sind natürlich noch im ein Vielfaches schneller.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2007, 12:04
Beitrag #19

Xaran Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 200
Registriert seit: Jun 2006

LabView 2009
2006
en

80***
Deutschland
Filter für Preemphase
' schrieb:Wenn Du die Filterung online machst, mußt Du die Filterfunktionen durch die entsprechenden Punkt-zu-Punkt-VIs ersetzen, die sind natürlich noch im ein Vielfaches schneller.

Ich werde es wohl ziemlich genau 1zu1 übernehmen (natürlich im fertigen Programm dann ohne Ausgabe), da die Musikdatei, die bearbeitet wird, immer blockweise eingelesen und verarbeitet wird.
Wann würde man eine online-Filterung durchführen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.07.2007, 16:49 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2007 16:54 von Lucki.)
Beitrag #20

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Filter für Preemphase
' schrieb:Wann würde man eine online-Filterung durchführen?
Die erfassten Daten werden dann nicht erst in einem Array gespeichert und dann gefiltert, sondern jeder Einzelwert wird sofort dem Filter zugeführt und gefiltert wieder ausgegeben. Man kann selbstverständlich mit den Point-To-Point-Funktionen unter Verwendung einer For-Schliefe auch Arrays filtern.
Ach so, die Frage hieß ja: Wann? Es könnte doch z.B. sein, daß ein Sprachsignal nicht gespeichert werden soll, sondern in gefilterter Form sofort wieder ausgegeben werden soll. Und bei allen Steuer- und Regelprozessen müssen ja die Daten sowieso so verarbeitet werden wie sie ankommen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Wer kann diesen Filter erklären? Philipp841 12 7.278 25.07.2020 07:32
Letzter Beitrag: Martin.Henz
  Extended Kalman Filter in LabVIEW Heber 11 8.523 20.04.2017 09:26
Letzter Beitrag: Heber
  Hochpass Filter se 19 13.409 14.06.2015 18:32
Letzter Beitrag: se
  Filter selbst erstellen creo_123 13 12.871 23.04.2013 14:20
Letzter Beitrag: Lucki
  Filter tetef 5 6.262 09.04.2013 09:52
Letzter Beitrag: creo_123
  IIR-Notch-Filter 50Hz JaDa 4 7.497 25.11.2012 09:01
Letzter Beitrag: Lucki

Gehe zu: