mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bandpass kleiner Frequenz ohne große Kondensatoren


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage passt auch gut in Analog und DSP, denke ich:

Wie lässt sich ein Bandpass für kleine Frequenzen ohne große 
Kondensatoren aufbauen? Ich habe mal einen IR-Puls-Detektor aufgebaut, 
leider ist das recht groß geraten, da mehrere Filterstufen notwendig 
waren.
Es geht also um Frequenzen zwischen DC und 40 Hz.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Es geht also um Frequenzen zwischen DC und 40 Hz.

Ist das nicht eher ein Tiefpass ?

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann man wunderbar mit einem AVR Prozessor machen.
Frequenzen bis einigen 100Hz kann der Filtern dafuer reicht die 
Rechenleistung aus.

Gruss Helmi

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ist das nicht eher ein Tiefpass ?
Jain, DC will ich ja nicht durchlassen..

> Das kann man wunderbar mit einem AVR Prozessor machen.

Danke für den Hinweis, dann suche ich weiter in die Richtung!

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Große" Kondensatoren ist relativ. Es gibt inzwischen schon 10µF als 
Keramik 1206.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Haben diese Keramikkondensatoren nicht eine interessante f(u) Kennlinie?

Ich wuerde es auch mit einem Controller machen. Allerdings ist da
ein R8C wohl besser geeignet weil der mit 16Bit rechnen kann und vor
allem bereits einen speziellen Befehl fuer Filter hat.

Ich hab dazu mal aus Spass was gestrickt das man irgendwo bei Elektor
downloaden kann. In der Praxis wuerde ich aber vielleicht noch einen
DA-Wandler verwenden und nicht PWM wie ich damals gemacht habe.

Noch schoener waere es wenn man einen Controller mit integriertem
DA-Wandler haette, aber sowas kenne ich nur bei grossen Prozessoren
mit unnoetig vielen Beinen dran.

Olaf

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch ein Digitalfilter braucht ein analoges Vorfilter gegen 
Alias-Frequenzen. Das kann auch nicht beliebig weit über der digitalen 
Grenzfrequenz liegen, je höher die Samplerate, desto schlechter die 
Auflösung des Digitalfilters.
Ich habe schon mal ein IIR-Niederfrequenz-Sperrfilter für Atmega 
programmiert, mit PWM als DA-Wandler.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf wrote:

> Ich wuerde es auch mit einem Controller machen. Allerdings ist da
> ein R8C wohl besser geeignet weil der mit 16Bit rechnen kann und vor
> allem bereits einen speziellen Befehl fuer Filter hat.

Hat ein ATmega übrigens auch.  Gibt's sogar irgendwo eine Atmel-
Appnote dafür.  Müsste selbst für einfache Audioqualität (also
Telefonqualität, Abtastrate 8 kHz) noch ausreichend sein.

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AVR reicht dafuer vollkommen , habe ich schon mehrfach ausprobiert 
b.z.w. ist in einen Geraet von mir drin.

Bandpass mit 5Hz Mittenfrequenz und Bandbreite von 50mHz war kein 
Problem.
Filterstruktur war ein IIR Bandfilter.

Soviel Rechenleistung braucht man dafuer gar nicht.

Gruss Helmi

Autor: Marco Beffa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Helmut!

Tönt sehr interessant dein IIR Filter.

Könntest du ein wenig mehr darüber erzhälen wie genau du das 
implementiert hast? Kennst du eventuell auch gute Quellen für die 
Grundlagen?

Es würde mich nämlich schon lange reizen sowas mal auszuprobieren.

Gr

Autor: Helmut Lenzen (helmi1)
Datum:
Angehängte Dateien:
  • filter (6,23 KB, 115 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
@Marco Beffa

Das ist wie gesagt ein IIR - Filter. Das ganze wir in einem Q14 
Festkommaformat berechnet. Implementiert ist das ganze in ASM.

Quelle für die berechnungen war: Digitale Signalverarbeitung von Daniel 
ch. von Grünigen.

Ich kann dir hier nur Auszüge des Filtercodes zeigen weil der Rest zu 
einem anderen Projekt gehört was ich hier nicht veröffentlichen möchte.

Wie gesagt das ist jetzt kein Programm sondern nur ein Code Auszug.

Ich hoffe du kannst damit was Anfangen.

Was noch fehlt sind die Konstanten die das Filter ausmachen.
Die wurden von mir mit hilfe eines Programmes berechnet.
Stichwort: bilineare Transformation

Wenn du was weiter wissen möchtes muss du mich schon eine Mail schicken.

Autor: Michael Lenz (hochbett)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für sowas gibt es sogenannte Switched Capacitor Filter.
http://www.maxim-ic.com/getds.cfm?qv_pk=2409
http://www.maxim-ic.com/getds.cfm?qv_pk=2325

Mit dem AVR müßte es natürlich auch gehen.


Gruß,
  Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.