Forum: Digitale Signalverarbeitung / DSP / Machine Learning Signalverarbeitung auf Mikrocontroller ( AVR ?)


von SteffenUl (Gast)


Lesenswert?

Guten Abend,

ich bin gerade dabei mich nach längerer Pause wieder mit 
Mikrocontrollern zu Beschäftigen.

Aktuell möchte ich eine Schaltung welche einen 250 Hz Sinus aus einem 
Rauschsignal herrausfiltert und den Nulldurchgang feststellt in einen 
Controller Digital implementieren.

Der Aufbau ist grob folgender Maßen:

Bandpass - > SC Filter -> Anti Alising Filter -> 0v komparator

Mir stellt sich nun die Frage ob ich soetwas auf einem AVr halbwegs in 
Echtzeit implementiert bekomme, oder ob ich auf einen anderen Controller 
(ARM?) ausweichen müsste.

Grundkentnisse in Signalverarbeitung und Systemtheorie habe ich zwar, 
jedoch fehlt mir etwas der Einblick wie rechenintensiv solche 
Filterungen sind.

Viele Grüße Steffen

PS: Für Tipps zur realisierung von Filtern mit Beispielcode oder 
ähnlichem wäre ich auch sehr Dankbar.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

SC-Filter heißt doch ein analoges Filter mit geschalteten Kondensatoren, 
das kann der AVR nicht ohne Zusatzhardware.
Aber es gibt einen Application note:
http://www.atmel.com/dyn/resources/prod_documents/doc2527.pdf
AVR223: Digital Filters with AVR

von Alex (Gast)


Lesenswert?

Hi,


warum schreibst du dir nicht einfach die benötigten Algorithmen auf und 
implementierst sie in C. Dann kompilierst du das Ganze einfach mal für 
jeden Zielprozessor und simulierst den Algorithmus. Eigentlich reicht 
auch einfach ein Blick auf die Länge des Assemblerlistings. Dann kannst 
du dir grob ausrechnen, wieviel Arbeit in einem Abtastschritt erledigt 
werden kann.

Ein AVR hätte bei 16 MHz und 10 kHz Abtastfrequenz aber sicherlich schon 
ordentlich zu tun. Die benötigte Abtastfrequenz ist natürlich aber auch 
von deinen Genauigkeitsanforderungen abhängig.

von SteffenUl (Gast)


Angehängte Dateien:

Lesenswert?

Vielen dank für die Beiden Antworten!

Ja das wollte ich in den Semesterferien mal angehen, bzw mich dorthin 
einarbeiten.

ich wollte nur im Vorherein abklären ob eine digitale realisierung 
prinzipiell möglich ist . Insbesondere macht mir hier die Hohe Güte des 
SC Filters sorgen.

Grüße

PS Anbei der Schaltplan der frühreren Analogen Schaltung

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das kenne ich doch - schau mal die drei Fotos an:
Beitrag "zentimeter-genaues gps für räume"

von SteffenUl (Gast)


Lesenswert?

Ja, den Artikel habe ich damals von Günter DL9SU kompiert bekommen, und 
es war mit der Anfang des Projekts, bei der er mir sehr geholfen hat.
Danke nochmal an dieser Stelle falls du dies. liest.

Das ergebniss war damals, ein Dopplerpeiler im Europlatinenformat, mit 
APRS  GPS  PC anbildung mit automatischer Nordkorrektur.

Leider ist das Gerät über den Prototyp und Wettbewerbsteilnahme nicht 
hinausgekommen, da dann irgedwie die Zeit fehlte, und sich bei mir dank 
eines freundlichen Herrns der Jury die Frustration breit gemacht hatte.

Durch das Studium hab ich wieder Lust bekommen am Gerät weiter zu 
arbeiten, und da das alte Gerät aus einer Unmenge Bauteilen besteht 
wollte ich einen kompletten Neuaufbau beginnen, und hierbei möglichst 
viel der Funktionalitäten in Software realisieren.

Weiche Antennenschaltfunktion via PWM steht schon, GPS USB und APRS 
dürften auch im Bereich des machbaren liegen

Ob es sich lohnt die NF Auswertung auch digital zu erledigen wird sich 
zeigen, momentan tendiere ich ehr dagegen, wobei ich den 
Analogmultiplexer gerne aus der Schaltung raus hätte. Und zu speziellen 
Programmierbaren SC Filtern wie von Maxim möchte ich nicht greifen.

Grüße

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Ja den Funkschau-Peiler hab ich damals nachgebaut, und anschließend die 
DJ3YB-Version.
Wie ichg hier schon mal schrieb:
Beitrag "Ortung von sender"
gibts auch aus meiner Gegend etwas: Peiler mit zwei PIC-Prozessoren von 
DJ6II aus Oggersheim:
http://peilgruppe-kalmit.de/links.htm

von Alex (Gast)


Lesenswert?

Hi,


wievielter Ordnung ist denn nun die Übertragungsfunktion deines Filters. 
Welche Wortbreite haben die Abtastwerte und welche Genauigkeit wird 
benötigt?

Nur mit diesen Angaben könnte man genau beurteilen, welcher Prozessor 
für die genannte Aufgabe geeignet ist.

Also:

G(p) => G(z)

Bei G(z) schauen wie man es am besten zerlegen kann für eine optimale 
Implementierung.

Additionen + Multiplikationen zählen und Wortbreiten beachten.

Dann mit Sicherheitsfaktor schauen, ob es passt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.