Servus, kennt jemand ein Buch/Script/Tutorial wo das Thema Digitale Filter auf verständliche, Praxisnahe Weise vermittelt wird? Also so dass man es auch ohne vorheriges Mathestudium versteht? Alles was ich dazu bislang gefunden hab verliert sich immer ziemlich schnell in einem Berg aus grauer Theorie und einem (für normal-sterbliche) unverständlichen Formelwust. Im Kontext eines Studiums mag das ja ganz nützlich sein. Mir als interessiertem Hobbyanwender hilft so etwas allerdings nur bedingt in die Thematik einzusteigen und das ganze zu verstehen. Ich würde mich über ein paar Tipps und Hinweise freuen. Optimal währe natürlich ein Buch zum blättern und in der Hand halten. Falls es so etwas überhaupt gibt. Grüße Oliver
Ich habe das mal hier versucht, auf einfache Weise darzustellen: http://www.mikrocontroller.net/articles/Digitalfilter_mit_ATmega DSP-Bücher gibts auch gratis im Internet, dspguide oder auch eines von Analog Devices
:
Bearbeitet durch User
Oliver P. schrieb: > kennt jemand ein Buch/Script/Tutorial wo das Thema Digitale Filter auf > verständliche, Praxisnahe Weise vermittelt wird? Also so dass man es > auch ohne vorheriges Mathestudium versteht? Nun, das Thema Digitale Filter ist nicht ganz trivial. Etwas Mathematikkenntnisse sollte man da aber schon haben. Man sollte z.B. verstehen, was eine Z-Transformation ist. Dazu muss man aber kein Mathematiker sein, ich habs mit meiner Mittelschulbildung auch geschafft. :-) > Alles was ich dazu bislang gefunden hab verliert sich immer ziemlich > schnell in einem Berg aus grauer Theorie und einem (für > normal-sterbliche) unverständlichen Formelwust. Solche Bücher gibt es immer in verschiedenen Schwierigkeitsgraden. Deshalb geht man am besten in eine (Uni-)Leihbibliothek und sieht sich dort verschiedene Bücher an. Dann kann man am besten beurteilen, welches Buch zum eigenen Wissensstand passt und kann sich dieses Buch dann ja kaufen. Gruss Harald
@Christoph Danke für den Link. Hatte ich noch nicht entdeckt. Das werd ich mir mal in ruhe zu Gemüte führen. Zum Thema "kostenlos im Netz", ja weiß ich. Das große Problem ist die große Anzahl. Da was "Deppentaugliches" zu finden ist nicht leicht. Zumal mir persönlich eine gedruckte Variante lieber währe. @Harald Ja, Trivial ist es wahrhaftig nicht. Um so wichtiger ist eine verständliche Erklärung. Was nützt es wenn ich ein kompliziertes Thema auf komplizierte Weise erkläre? Ein kompliziertes Tehma so aufzubereiten und zu vermitteln dass es auch für Einsteiger ohne tiefgreifende Vorkenntnisse (einige sind ja durchaus vorhanden) verständlich ist, DAS macht, nach meiner Meinung, ein gutes Lehrbuch aus. Bevor ich mir jetzt den Gesamtbestand der örtlichen TH zum Thema Digitale Filter zu gemüte führe warte ich lieber noch die ein oder andere Empfehlung ab. ;-)
1) http://www.analog.com/en/content/scientist_engineers_guide/fca.html ich persönlich finde das Buch aber zu langatmig. 2) Alan V. Oppenheim, Ronald W. Schafer - Zeitdiskrete Signalverarbeitung Dieses Buch finde ich echt super, da es für nicht Mathematiker geschrieben ist und alles von Grund auf aufbaut, ohne sich in Details zu verlieren. Es hat auch unzählige Beispiele mit Lösungen. Es geht insbesondere auf die Theorie der Filter und auf verschiedene Ansätze zur Berechnung ein.
Oliver P. schrieb: > @Harald > Ja, Trivial ist es wahrhaftig nicht. Um so wichtiger ist eine > verständliche Erklärung. Was nützt es wenn ich ein kompliziertes > Thema auf komplizierte Weise erkläre? > Ein kompliziertes Tehma so aufzubereiten und zu vermitteln dass es auch > auch für Einsteiger ohne tiefgreifende Vorkenntnisse verständlich ist, ...wäre m.E. für einen Mathematikstudenten völlig unbrauchbar > DAS macht, nach meiner Meinung, ein gutes Lehrbuch aus. Es gibt keine Lehrbücher, die für jeden beliebigen Stand der Vorkenntnisse des Lesenden passen. Wenn sie sozusagen bei Null anfangen, sind sie für die meisten Leser langweilig. Ein Beispiel: Lies doch mal ein Buch über die Feuerwehr, welches für Sechsjährige geschrieben ist und dann eins, welches für Erwachsene geschrieben ist. Und dann noch eins, welches für Feuerwehrleute geschrieben ist. Ein Zitat von Einstein lautet sinngemäß: "Man sollte die Dinge so einfach wie möglich darstellen. Aber nicht einfacher als nötig!" > Bevor ich mir jetzt den Gesamtbestand der örtlichen TH zum Thema > Digitale Filter zu gemüte führe Meistens reicht schon ein kurzes Durchblättern eines Buches, um festzustellen, das es zumeigenen Wissensstand passt. > warte ich lieber noch die ein oder andere Empfehlung ab. ;-) Die Empfehlenden kennen aber Deinen Wissensstand nicht. Gruss Harald PS: Gerade das Verständnis der Transformation von Kennlinien vom Frequenzbereich in den Zeitbereich hat mir damals zum Verständnis der digitalen Filter sehr geholfen. Voraussetzung dafür war natürlich, das man weiss, was eine Frequenzgang- Kennlinie ist. Das hatte ich allerdings schon in der Berufs- schule gelernt.
:
Bearbeitet durch User
"Handbuch der analogen und digitalen Filterungstechnik" von Roland Best koennte passen. Sehr praxisnah und nur 168 Seiten dick. Gibt es aber wohl nur noch gebraucht.
>> Ein kompliziertes Tehma so aufzubereiten und zu vermitteln dass es auch >> auch für Einsteiger ohne tiefgreifende Vorkenntnisse verständlich ist, >...wäre m.E. für einen Mathematikstudenten völlig unbrauchbar Mag sein, für mich als Hobbyanwender sicher nicht. >Es gibt keine Lehrbücher, die für jeden beliebigen Stand der >Vorkenntnisse des Lesenden passen. Wenn sie sozusagen bei >Null anfangen, sind sie für die meisten Leser langweilig. >Ein Beispiel: Lies doch mal ein Buch über die Feuerwehr, >welches für Sechsjährige geschrieben ist und dann eins, >welches für Erwachsene geschrieben ist. Und dann noch >eins, welches für Feuerwehrleute geschrieben ist. Deshalb frag ich ja hier und hab versucht meinen Wissensstand (Hobbyanwender ohne tiefgreifende Kenntnisse in höherer Mathematik) kund zu tun. Ich nehm dann das Buch "Digitale Filtertechnik für Sechsjährige" :-D Da ich sicher nicht der einzige bin der sich aus rein privatem Interesse und im Selbststudium mit diesem Thema befasst hat, ist hier sicher der ein oder andere Leidensgenosse vertreten der, wie bereits geschehen, ein paar Literaturtips geben kann. Vll. stellt sich ja auch herraus dass weitreichende Mathekenntnisse (Integralrechnung,Differenzialrechnung und solche Zauberein) Grundvorraussetzung und unumgänglich für die Anwendung und das Verständniss der digitale Filtertechnik sind. Dann ist das halt so. Momentan gehe ich aber noch davon aus dass ich es verstehe wenn es entsprechend erklärt wird. Das vorgeschlagene Buch "Zeitdiskrete Signalverarbeitung" steht in der örtlichen Uni-Bibliothek. Das werd ich mir auf jeden Fall mal ansehen. "Handbuch der analogen und digitalen Filterungstechnik" gibt es günstig gebraucht. könntest du noch mal kurz drauf eingehen?
zu "Handbuch der analogen und digitalen Filterungstechnik" von Roland Best: Es werden analoge und digitale Filter ohne Beweise, dafuer mit vielen anschaulichen Erklaerungen behandelt. Meistens folgt dann noch ein Kochrezept fuer den jeweiligen Filterentwurf. Integrale, Laplace- und z-Transformation kommen allerdings auch vor. Das wird auch ohne grosse Theorie sehr schoen erlaeutert. Inwieweit man dem ohne Vorkenntnisse folgen kann/will, ist eine interessante Frage. Das Buch ist von 1982. Heutezutage wird man wohl zumindest die Koeffizienten von einem Programm berechnen lassen. Ich finde das Buch sehr gut und erfrischend, vor allem wenn man sich vorher durch ein paar typischer Theroriebuecher gequaelt hat. Am wenigsten Mathe benutzt, von dem was ich kenne, Smith www.dspguide.com. (Wurde ja oben schon zwei mal erwaehnt). Gruss
Mir fällt eines noch ein: Im Tietze Schenk (zumindest in der Auflage die ich habe - 1980) ist ein ganzes Kapitel der Realisierung digitaler Filter gewidmet. Die Art und Weise wie das dort aufbereitet ist setzt keinerlei besonderen Kenntnisse voraus, und geht auf die bilineare Transformation ein. Wie auch in allen anderen Kapiteln des Werks reichen elementare Kenntnisse der Mathematik aus. Auch wenn das nur eine von vielen Varianten zum Filterentwurf ist, könnte es für dich vielleicht interessant sein. Es handelt sich gerade um etwa 15 Seiten, die aber relativ "praxisnahe" sind. Du wirst nachher in der Lage sein, Filter nach einem Schema zu dimensionieren bzw. das Grundprinzip zu verstehen. In der Praxis nimmst du dann ohnehin ein Programm, welches dir die Koeffizienten ausspuckt.
Hallo, ich hänge mich jetzt einfach an die Frage von Oliver heran. Nach den durchlesen der Antworten stellt sich ja doch heraus das tiefere Mathematikkenntnisse notwendig sind. Welche sind das, und wo werden diese gut verständlich (Online / Tutorials usw.) zum Eigenstudium für alte Säcke ohne Abitur die schon lange aus der Schule heraus sind vermittelt? Ich gehe jetzt von den Mathematikwissen der breiten Masse der Bevölkerung aus,auch wenn das hier so einigen nicht gefallen wird. Das Ingenieure, Studenten aus den Technischen Bereichen und Gymnasiasten aus der Oberstufe mit den Schwerpunkt Mathematik andere Vorstellungen davon haben was tiefere Mathematikkenntnisse sind ist ja selbstverständlich. Bastler
Es kommt darauf an, ob man die Mathematik dahinter verstehen will oder einfach nur digitale Filter entwickeln möchte. Ich habe versucht, einen hobbymäßigen Einstieg in den Entwurf eines Digitalfilters zu beschreiben. Natürlich mit hobbygerechtem Einstiegspreis, also kostenloser Software. Das geht eben mit Scilab oder Octave, wenn man bereit ist, sich in den Gebrauch dieser Software soweit einzuarbeiten wie es für diesen einen Zweck nötig ist.
Michael W. schrieb: > 2) > Alan V. Oppenheim, Ronald W. Schafer - Zeitdiskrete Signalverarbeitung Da würde ich schon aus Kostengründen das englische Original wählen. Dann aber nicht die US-Ausgabe, sondern die preiswerte internationale/indische Ausgabe als Import. Mit lächerlichen 16 Euro ist man dabei: http://www.abebooks.de/servlet/SearchResults?isbn=9780131988422
> Nach den durchlesen der Antworten stellt sich ja doch heraus das tiefere > Mathematikkenntnisse notwendig sind. Das hier schon erwaehnte Buch von Steven W. Smith laesst sich sehr gut lesen. Schon fast als Bett oder Strandlektuere geeignet. :-) > Ich gehe jetzt von den Mathematikwissen der breiten Masse der > Bevölkerung aus,auch wenn das hier so einigen nicht gefallen wird. Och, da brauchst du dein Licht nicht zu sehr unter den Scheffel stellen. Geh mal davon aus das die allermeisten Studtenten ein Jahr nach dem sie die Uni verlassen haben das auch nicht mehr schaffen wuerden weil sie damit sowieso nichts mehr zutun haben oder alles mit Matlab loesen. Und so manch einer schlingerte damals auch mehr oder weniger gut durch die Klausur bloss weil er von morgens bis abends alte Klausuren gerechnet hat und nicht weil er Theoretische Nachrichtentechnik verstanden hatte. Allerdings ist es schon sehr hilfreich wenn man gut English kann. So spezielle Buecher werden ja normalerweise nur von auf dem Gebiet arbeitenden Akademikern geschrieben und in Deutschland muessen sie sich da immer ein auf ihr Werk runterholen und das in ihre heilige Paperliste eintragen. Da versteht es von selbst das man nicht locker und gut schreiben kann. Was soll denn da das Kollegium denken? Oh..und es koennte vielleicht auch interessant sein sich die Elrad-DVD zu kaufen. Da gab es auch die eine oder andere interessante Serie die das etwas verstaendlicher erklaert hat. Es gab z.b mitte der 90er Jahre eine interessante 13teilige Artikelserie und da was damals nur auf edlen Rechnern realisierbar war, rechnet heute ein Microcontroller im Sleepmode. :-) Olaf
Oliver P. schrieb: > kennt jemand ein Buch/Script/Tutorial wo das Thema Digitale Filter auf > verständliche, Praxisnahe Weise vermittelt wird? Also so dass man es > auch ohne vorheriges Mathestudium versteht? Ha, dein Problem kenne ich. Wenn das eigene Mathe-Studium schon ein paar Jahrzehnte zurückliegt, dann steht man genau vor diesem Problem. Digitale Filter ist ein mittlerweile riesiger Themenbereich, der nicht nur Audio und HF, sondern auch Grafik, Mustererkennung und sonstwas umfaßt. Wenn du dich im Netz nach Leseproben umsiehst, fliegt dir von allem etwas um die Ohren und das Meiste ist teuer. Da halte ich es für einen schlechten Rat, dir zu allererst ein 150 Euro Buch anzuempfehlen. Mein Rat: grenze hier erst mal dein näheres Interessengebiet ein, also ob du dich mit HF-Empfang&Senden oder mit Audio-Bearbeitung oder sonstwas befassen willst. Mein Rat ist, sich erstmal ein paar Leseproben anzusehen, bei einigen Buchanbietern kann man auf einige Seiten im Buch schauen und danach entscheiden, ob das überhaupt das eigene Interesse trifft. Was ich dir für den Anfang empfehlen kann, ist "The Scientists and Engineer's Guide to Digital Signal Processing", was man hier finden kann: (www.dspguide.com) Es ist darin garantiert nicht alles interessant für dich, aber lies es einfach mal durch, es bleibt in jedem Fall irgendwas Nützliches hängen. Glaube aber nicht, direkt nach dem Lesen schon ein nettes Filter selbst schreiben zu können. Für DSP's ist entweder Assembler angesagt oder evtl. C, aber den Umweg über sowas wie Scilab oder Octave würde ich erstmal nicht gehen wollen. Das ist nur eine zusätzliche Einarbeitung in etwas, das eventuell auch ein passables Filter hervorbringen kann. Die eigentlichen Filteralgorithmen sind ja recht kurz und knapp, aber die Berechnung der Filterkoeffizienten scheint zumindest mir das eigentlich wichtigste Thema zu sein. Ansonsten mach dir mal dein Entwicklungsziel klar, überschlage die zu erwartende Samplefrequenz und überlege dir daran, ob das per DSP rein geschwindigkeitsmäßig zu machen ist, oder ob du dafür echte Hardware, sprich FPGA brauchst. In letzterem Fall mußt du nicht nur die Filterprinzipien verstehen lernen, sondern auch, wie man sowas parallel oder halbparallel in Hardware formuliert. Das ist auch ein weites Feld. W.S.
W.S. schrieb: > Für DSP's ist entweder Assembler angesagt oder > evtl. C Ich habe mich vor 2 Jahren gezwungener Maßen in den ADSP-21262 einarbeiten dürfen und konnte für durchgängig C programmieren. Von digitalen Filtern kaum Ahnung und noch nie einen DSP programmiert. Allerdings haufenweise Programmiersprachen und Prozessoren in 40 Berufsjahren kennengelernt :-) und den perfekten Support von Analog Devices bemüht. Fazit: Ein Programm, verteilt auf einen ADSP-21261 und einen ATMega64, das aus einer mit dieser Hardware gemessenen Hörkurve einen Frequenzgangausgleich mit bis zu 12 IIR-Peaking-Filtern annähert, der auf <3dB der Messung entspricht. Dabei habe ich mangels Mathe-Verständnis auf Filterkochbücher zurückgegriffen und es hat funktioniert. Sicher kann man das Problem analytischer angehen (FFT-Filter???), aber es funktioniert und hat mich motiviert. Also: einfach mal ein Projekt ausgucken und anfangen. Die Filter kann man sogar in Java auf dem PC implementieren und testen :-). Grüße, Kurt
OK. Klingt ja richtig gut. Mein Vorschlag: Poste doch davon mal was Lehrreiches hier im Forum. Ich hätte z.B. nen Bedarf (vorerst rein theoretisch) für eine Laufzeit-Berechnung von Filterkoeffizienten. Hintergrund: SDR mit Bandbreiten von einigen 100 Hz bis ca. 300 kHz, Filter im FPGA, Koeffizienten ladbar, so daß man beim Hören auf KW oder VHF oder UHF per Knopf Passband-Shift und ZF-Bandbreite sich nach Gusto einstellen kann. Ich denke mal, sowas als Beispielquelle zu haben wäre auch für Andere hilfreich. Ach ja, wenn man mal diverse Präsentationen anschaut, wo die DSP-Funktionalität von Cortex M4 diskutiert wird, dann sieht man, wie dort in Assembler an jedem einzelnen Maschinen-Befehl gefeilt wird, um einen erträglichen Durchsatz hinzukriegen. Ähem.. nochwas: den oben genannten Oppenheim-Schafer finde ich nicht wirklich nützlich. Die Autoren weigern sich vehement, auch nur den geringsten Schritt in die Niederungen der angewandten oder gar numerischen Mathematik zu tun und bleiben konsequent auf ihrer rein theoretischen Schiene. Für Studenten ist das OK, aber wer vor sich nen ADC und nen FPGA und nen DSP auf dem Werktisch zu liegen hat, braucht anderes geistiges Futter. W.S.
Die Jungs hier kommen auch aus der Praxis: http://musicdsp.org/ Vllt. ist auch hier was bei: http://www.dspguru.com/taxonomy/term/13
W.S. schrieb: > Ich hätte z.B. nen Bedarf (vorerst rein theoretisch) +1 Lasst uns einen Lernzirkel bilden.
Hallo, W.S. schrieb: > Ach ja, wenn man mal diverse Präsentationen anschaut, wo die > DSP-Funktionalität von Cortex M4 diskutiert wird, dann sieht man, wie > dort in Assembler an jedem einzelnen Maschinen-Befehl gefeilt wird, um > einen erträglichen Durchsatz hinzukriegen. Genau um dieses Problem zu vermeiden und meine Fähigkeiten bei der Umsetzung in Integerberechnungen nicht zu testen habe ich den Shark-Prozessor gewählt, der Hardware-Gleitkomma hat und 200MHz Takt. Der Preis spielte bei der Kleinserie (50 Stück) keine Rolle, da das Gehäuse und die Platinen deutlich teurer waren :-). Zum Thema Beispiele: Ich bin zur Zeit etwas unter Druck, werde aber versuchen einige Teile aus dem Code hier zu Posten. Bei einer Lernrunde könnte ich etwas zur Toolchain beitragen, aber sicher nicht viel zur Herleitung der Implementierung von digitalen Filtern. Das Kochbuch suche ich noch einmal raus. Mein nächstes Projekt für dieses Produkt sind ein Kerbfilter und ein erträglicher Limiter/Kompressor. Grüße, Kurt
Hallo, wenn genügend Englisch-Kenntnisse vorhanden sind, kann man sich das hier mal durcharbeiten: http://www.fourier-series.com/fourierseries2/DFT_tutorial.html Bei dem Herrn gibt's noch mehr an Animationen, die alle sehr gut gemacht und anschaulich sind. Horst
Erst mal vielen Dank für die vielen Vorschläge. Ich hab jetzt verschiedene Bücher und Quellen angetestet. Letztendlich bin ich dann bei der, mehrfach empfohlenen, DSP-Guide hängen geblieben. Das Englisch macht das Lesen zwar etwas anstrengender, dennoch find ich dass das Thema dort sehr anschaulich vermittelt wird. Insbesondere auch im Hinblick auf die mathematischen Basics. Es werden nich sofort riesige Formelkonstrukte aufgebaut, sondern es wird darauf eingegangen was die Formeln bedeuten und wie man sie praktisch umsetzt und anwendet. Mal sehen ob sich das in den späteren Kapiteln so vortsetzt. @Kurt Harders Das Filterkochbuch würde mich auch mal interessieren. Hast du es schon wieder gefunden? Wie heißt es? Grüße Oliver
Hallo Oliver, da ist es: http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt Nach diesen Formeln habe ich sowohl meine Filterbank mit 12 Einzelfiltern als auch die "Klangregelung" aufgebaut. Hier die "generische" Filter-Routine als Beispiel:
1 | /*
|
2 | * GenericFilter.c
|
3 | *
|
4 | * Created on: 17.04.2013
|
5 | * Author: kurt
|
6 | */
|
7 | |
8 | #include "math.h" |
9 | #include "math_21xxx.h" |
10 | |
11 | #include "Filterbank.h" |
12 | #include "GenericFilter.h" |
13 | |
14 | static int filterType; |
15 | static float frequency; |
16 | static float gain; |
17 | static float quality; |
18 | |
19 | static float cx0; |
20 | static float cx1; |
21 | static float cx2; |
22 | static float icy1; |
23 | static float icy2; |
24 | |
25 | static void lowpass(void); |
26 | static void highpass(void); |
27 | static void peaking(void); |
28 | |
29 | void GenericFilter_init(int type, float f, float g, float q, FilterCoefficients *fc) { |
30 | filterType = type; |
31 | frequency = f; |
32 | gain = g; |
33 | quality = q; |
34 | switch (filterType) { |
35 | case FILTER_LOWPASS: |
36 | lowpass(); |
37 | break; |
38 | case FILTER_HIGHPASS: |
39 | highpass(); |
40 | break; |
41 | case FILTER_PEAKING: |
42 | peaking(); |
43 | break; |
44 | }
|
45 | fc->cx0 = cx0; |
46 | fc->cx1 = cx1; |
47 | fc->cx2 = cx2; |
48 | fc->icy1 = icy1; |
49 | fc->icy2 =icy2; |
50 | }
|
51 | |
52 | static void lowpass(void) { |
53 | float w0 = 2 * PI * frequency / SAMPLE_RATE; |
54 | float sinw0 = sin(w0); |
55 | float cosw0 = cos(w0); |
56 | float alpha = sinw0 / (2 * quality); |
57 | float b0 = (1 - cosw0)/2; |
58 | float b1 = 1 - cosw0; |
59 | float b2 = (1 - cosw0)/2; |
60 | float a0 = 1 + alpha; |
61 | float a1 = -2*cosw0; |
62 | float a2 = 1 - alpha; |
63 | cx0 = b0 / a0; |
64 | cx1 = b1 / a0; |
65 | cx2 = b2 / a0; |
66 | icy1 = -a1 / a0; |
67 | icy2 = -a2 / a0; |
68 | }
|
69 | |
70 | static void highpass(void) { |
71 | float w0 = 2 * PI * frequency / SAMPLE_RATE; |
72 | float sinw0 = sin(w0); |
73 | float cosw0 = cos(w0); |
74 | float alpha = sinw0 / (2 * quality); |
75 | float b0 = (1 + cosw0)/2; |
76 | float b1 = -(1 + cosw0); |
77 | float b2 = (1 + cosw0)/2; |
78 | float a0 = 1 + alpha; |
79 | float a1 = -2*cosw0; |
80 | float a2 = 1 - alpha; |
81 | cx0 = b0 / a0; |
82 | cx1 = b1 / a0; |
83 | cx2 = b2 / a0; |
84 | icy1 = -a1 / a0; |
85 | icy2 = -a2 / a0; |
86 | |
87 | }
|
88 | |
89 | static void peaking(void) { |
90 | float A = pow(10.0, gain / 40.0); |
91 | float w0 = 2 * PI * frequency / SAMPLE_RATE; |
92 | float sinw0 = sin(w0); |
93 | float cosw0 = cos(w0); |
94 | float alpha = sinw0 / (2 * quality); |
95 | float b0 = 1 + alpha * A; |
96 | float b1 = -2 * cosw0; |
97 | float b2 = 1 - alpha * A; |
98 | float a0 = 1 + alpha / A; |
99 | float a1 = -2 * cosw0; |
100 | float a2 = 1 - alpha; |
101 | cx0 = b0 / a0; |
102 | cx1 = b1 / a0; |
103 | cx2 = b2 / a0; |
104 | icy1 = -a1 / a0; |
105 | icy2 = -a2 / a0; |
106 | }
|
Hab jetzt nicht den ganzen Thread gelesen, aber folgenden Link finde ich persönlich sehr gut: http://www.dspguide.com/
Ich selber arbeite im Audiobereich, da finde ich das hier mmer noch gut und nützlich: "Digital sound processing tutorial for the braindead!" http://yehar.com/blog/?p=121
Ich finde es immer faszinierend... ...wie oft sich sehr komplizierte Theorie auf einige Seiten Anleitungen, Dreisätze und Praxistipps reduzieren lässt.... ...und wie lange es oft dauert bis es einer tun will und/oder tut :)
Hallo Leute, Ich hatte für ein Audioprojekt mal einen hochpass Filter implementiert und habe mich zur Berechnung der Koeffizienten auch an die dsp-cookbook Seite gehalten. Bin mir aber nicht ganz sicher ob das 100% passt. Wollte einen extrem steilen 100 Hz Hochpass. Schlussendlich hat er aber das Signal etwas verzerrt und noch deutlich Frequenzen unter 100 Hz durchgelassen. :(
DSP-Cookbook (RBJ) sind Biquad-Filter, zweite Ordnung. Somit 12dB/Oktave. Definiere nun 'extrem steil'... ;) 'verzerrt'??? Du meinst sicher den Phasengang, oder? Das ist alles keine Hexerei, wenn man ein wenig den Kopf benutzt. Deswegen auch der Link auf die Seite von Olli Niemitalo (yehar). Wenn du das damit nicht hinbekommst, lass das Thema einfach.
Reinhard schrieb: > http://www.dspguide.com/ Ja, die dortige Doku ist wirklich gut - jedenfalls besser als das meiste andere was man so im Netz findet, aber an einigen Stellen kommt der Autor dann doch ins Überfliegen. Beispiel: Lies dir mal seine "Erklärung" der FFT durch, also "How the FFT works" (Ch 12, Seite 228). Eine nette Grafik, wie das Umsortieren der Samples zu erfolgen hat - aber eine völlig in die Hose gegangene Erklärung über den Sinn der Aktion. Er hätte besser geschrieben "macht euch keine Gedanken über den innewohnenden Sinn, sondern nehmt die Umsortierung einfach so hin, wie sie ist - als eine Art Trick aus der Kiste der die FFT-Erfinder...". Das wäre genauso hilfreich gewesen. Glücklicherweise gibt es in jedem Kapitel BASIC-Beispiele, aus denen man das wie entnehmen kann, wenn es mit der Erklärung des warum mal hakelt. W.S.
Oliver P. schrieb: > kennt jemand ein Buch/Script/Tutorial wo das Thema Digitale Filter auf > verständliche, Praxisnahe Weise vermittelt wird? Also so dass man es > auch ohne vorheriges Mathestudium versteht? Mit Verlaub, ... das Vorgehen, digitale Repräsentationenen von analogen Signale zuzulassen, ist bereits ein virtuelles Arbeiten und die sich daran anschliessende Prozessierung derselben ist eine theoretische Behandlung - auch, wenn die praktischen Umsetzungen wieder Programiertätigkeiten erfordern. Du wirst es nicht schaffen, Dich damit zu befassen, ohne dei Theorie zu bemühen, denn die Theorie IST die Bearbeitung. Und die Mathematik ist die Sprache. Das gleicht dem Versuch, den Sinn englischer Lyrik zu verstehen, ohne die Sprache lernen zu wollen. Wenn Du so arbeiten willst, bleibt Dir nichts anders, als einen Filterdesigner zu nehmen und den output einfach blind zu nutzen.
Wie bereits erwähnt, geht es mir nicht darum das Thema ohne Theorie zu bewältigen sondern darum dass die Theorie ohne hochtrabende komplzierte Mathematik rüber gebracht wird. Dass das möglich ist zeigt die DSP-Guide ja eindrucksvoll. Bislang fand ich dort alles nachvollziehbar und verständlich.
Ich finde das bereits jahrealte Buch "Digital Filters" von Hamming bildet einen guten Einstieg. Es ist relativ kompakt und grosse mathematische Vorkentnisse werden nicht vorausgesetzt, bzw. es wird jeweils noch kurz kreuzverwiesen wie/wo die entsprechende Mathematik nachzuforschen wäre. http://www.amazon.com/Digital-Filters-Dover-Mechanical-Engineering/dp/048665088X
Digi Talo schrieb: > Du wirst es nicht schaffen, Dich damit zu befassen, ohne... Nanana, du schreibst ziemlich hochtrabend. Richtig ist, daß man beim Schreiben eines Artikels oder Buches auf unterschiedlichen Abstraktionsebenen herumhampeln kann. Das fängt beim Benutzen verschiedenster, unter Mathematikern mehr oder weniger üblicher Schreib-Konventionen und grafischen Darstellungen an. Lies du mal den Landau-Lifschitz oder den Macke, dann weißt du, daß man ohne erhebliche Vorkenntnisse der grafischen Darstellungsart der Formeln (also ohne vorheriges Mathe-Studium) mit diesen Büchern herzlich wenig anfangen kann, denn man versteht nicht die Sprache der Darstellung. Leute aus ETechnik/Elektronik sind da bereits außen vor. Das betrifft NICHT den Inhalt, sondern die Form der Darstellung. Der Inhalt kommt erst nach dem Verstehen der Darstellungsform. Also: Man kann auch relativ komplizierte Dinge in eher einfacheren und damit allgemeinverständlichen Formen darbieten und erklären. Das geht. Und es wurd hier dediziert danach gefragt. Es geht NICHT darum, ohne jegliches Verständnis ein Kochrezept für irgend ein Filter zu kriegen, sondern um Darstellung auf verständliche Weise, so daß man ohne breite Vorkenntnis solcher Dinge wie mathematischer Formeldarstellungen es sich per Selbststudium aneignen kann. Wir sind hier in einem recht programmierlastigen Forum, also wäre eine an verständliche programmiersprachenartige Formeldarstellung für Viele recht hilfreich, da leicht verstehbar. Klaro? W.S.
W.S. schrieb: > Klaro? Du schreibst in einer Weise, also hättest Du genau verstanden, was der TE möchte und was die Entgegnungen oben der Beitragenden sagen möchten, doch IMHO ist das nicht der Fall: Was Du schreibst, ist zwar in sich stimmig, trifft aber hier den Kern nicht. Hier ist die Form der Darstellung wohl kaum das Problem. Der Punkt ist der, dass man die Vorgehensweise hinter der digitalen und Verarbeitung verstehen muss, weil sie eben in sich etwas Abstraktes ist. Das sind also erstens ->Inhalte und zeitens eine -> Theorie, also eine Art einen praktischen Sachverhalt aufzufassen. Ob einer das alles nun mehr oder weniger verklausuliert darstellt, ist sicher eine Frage, ob der andere schneller oder langsamer (oder gar nicht) begreift, ja, aber es ändert nichts an dem grundsätzlichen Umstand. Und ganz konkret: Digitale Filter machen kaum mehr, als addieren und zwischendrin ein wenig multiplizieren. Von daher gibt es kaum eine Möglichkeit, da grossartige verschleiernde Formeln einzuführen. Meine Meinung: Digitale Filter sind vom Level her mit Mittelstufenmathematik zu bewältigen und zu verstehen. Von daher wäre das nicht einmal ein PAradebeispiel für eine Anwengung, wo es um "akademisches" ginge, wie in der eingangs gestellten Frage suggiert wird.
>Du schreibst in einer Weise, also hättest Du genau verstanden, was der >TE möchte... W.S. hat mein Anliegen, ehrlich gesagt, ziemlich auf den Punkt gebracht. >Digitale Filter sind vom Level her mit >Mittelstufenmathematik zu bewältigen und zu verstehen. Das ist in der Tat so. Nur leider nicht wenn sie, wie allgemein üblich, mit Oberstufenmathematik erklärt werden. Abefr wie schon gesagt, hab ich die passende Lektüre mit der DSP-Guide ja gefunden.
Erklärbärin schrieb: > Meine Meinung: Digitale Filter sind vom Level her mit > Mittelstufenmathematik zu bewältigen und zu verstehen. Von daher wäre > das nicht einmal ein PAradebeispiel für eine Anwengung, wo es um > "akademisches" ginge, wie in der eingangs gestellten Frage suggiert > wird. Ach ja? Nun, ich nehme dich mal bei deinem eigenen Worte: Formuliere doch mal mittels "Mittelstufenmathematik" einen simplen 3 stufigen CIC-Dezimator. Du weißt sicherlich, daß jede der 3 ersten Stufen dieses Dingens eine Polstelle auf Null hat, ja? Und nun erkläre mal, warum und unter welchen konkreten Umständen dieser Dezimator dennoch funktioniert - ebenfalls wieder mittels "Mittelstufenmathematik". Du bist ja so großartig - also: Mach mal! W.S.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.