Tuesday 14 February 2017

Moving Average As Low Pass Filter

Im coding etwas in dem Moment, wo Im eine Reihe von Werten im Laufe der Zeit aus einem Hardware-Kompass. Dieser Kompass ist sehr genau und Updates sehr oft, mit dem Ergebnis, dass wenn es leicht wackelt, ich am Ende mit dem ungeraden Wert, der wild unvereinbar mit seinen Nachbarn ist. Ich möchte diese Werte glätten. Nachdem ich einiges gelesen hatte, scheint es, dass was ich will, ein Hochpaßfilter, ein Tiefpaßfilter oder ein gleitender Durchschnitt ist. Gleitender Durchschnitt kann ich mit erhalten, halten Sie einfach eine Geschichte der letzten 5 Werte oder was auch immer, und verwenden Sie den Durchschnitt dieser Werte stromabwärts in meinem Code, wo ich war einmal nur mit dem jüngsten Wert. Das sollte, glaube ich, die Wackeln schön abschneiden, aber es schlägt mir, dass seine wahrscheinlich ziemlich ineffizient, und dies ist wahrscheinlich eines dieser bekannten Probleme zu Proper Programmers, denen theres eine wirklich ordentliche Clever Math-Lösung. Ich bin jedoch einer jener schrecklichen selbstprogrammierten Programmierer ohne einen Fetzen der formalen Bildung in irgendetwas sogar vage mit CompSci oder Mathe verwandt. Lesen um ein Bit deutet darauf hin, dass dies ein Hoch-oder Tiefpassfilter sein kann, aber ich kann nicht finden, was in Begriffen verständlich für einen Hack wie ich, was die Wirkung dieser Algorithmen wäre auf einer Reihe von Werten, geschweige denn wie die Mathematik Arbeitet. Die Antwort hier. Zum Beispiel, technisch beantwortet meine Frage, aber nur verständlich für diejenigen, die wahrscheinlich schon wissen, wie das Problem zu lösen. Es wäre ein sehr schöner und kluger Mensch, der die Art des Problems erklären könnte, und das, wie die Lösungen funktionieren, in Begriffen, die einem Kunstabsolventen verständlich sind. Wenn Ihr gleitender Durchschnitt muss lang sein, um die gewünschte Glättung zu erreichen, und Sie brauchen nicht wirklich eine bestimmte Form des Kernels, dann sind Sie besser dran, wenn Sie einen exponentiell verfallenden gleitenden Durchschnitt verwenden: wo Sie Wählen Sie winzig, um eine entsprechende Konstante zu sein (zB wenn Sie winzige 1- 1N wählen, wird es die gleiche Menge an Mittelung wie ein Fenster der Größe N, aber verteilt unterschiedlich über ältere Punkte). Wie auch immer, da der nächste Wert des gleitenden Durchschnitts hängt nur von der vorherigen und Ihre Daten, müssen Sie nicht eine Warteschlange oder etwas zu halten. Und Sie können denken, dies zu tun, so etwas wie: Nun, ich habe einen neuen Punkt, aber ich dont wirklich vertrauen es, so Im werde 80 meiner alten Schätzung der Messung zu halten, und nur vertrauen diesem neuen Datenpunkt 20. Das ist So ziemlich das gleiche wie zu sagen, Nun, ich vertraue nur diesem neuen Punkt 20, und ich benutze 4 andere Punkte, die ich vertrauen die gleiche Menge, außer dass anstatt explizit nehmen die 4 anderen Punkten, youre unter der Annahme, dass die Mittelung haben Sie das letzte Mal War vernünftig, so können Sie Ihre vorherige Arbeit. Beantwortet Sep 21 10 at 14:27 Hey, ich weiß, das ist 5 Jahre zu spät, aber danke für eine großartige Antwort. I39m arbeitet an einem Spiel, bei dem der Klang sich nach Ihrer Geschwindigkeit ändert, aber wegen des Laufenlassens des Spiels auf einem langsam-ass Computer, würde die Geschwindigkeit wild schwanken, was für die Lenkung gut war, aber super ärgerlich in Bezug auf Sound. Dies war eine wirklich einfache und billige Lösung für etwas, das ich für ein wirklich komplexes Problem halten würde. Ndash Wenn Sie versuchen, den gelegentlichen ungeraden Wert zu entfernen, ist ein Tiefpassfilter die beste der drei Optionen, die Sie identifiziert haben. Tiefpaßfilter erlauben langsame Änderungen, wie die, die durch das Drehen eines Kompasses von Hand verursacht werden, während Abweisen von Hochgeschwindigkeitsänderungen, wie z. B. durch Stöße auf der Straße, verursacht werden. Ein gleitender Durchschnitt wird wahrscheinlich nicht ausreichen, da die Auswirkungen eines einzelnen Blips in Ihren Daten auf mehrere nachfolgende Werte wirken, abhängig von der Größe des gleitenden Durchschnittsfensters. Wenn die ungeraden Werte leicht erkannt werden, können Sie sogar mit einem Glitch-Entfer - nal-Algorithmus besser abschneiden, der sie komplett ignoriert: Hier ist ein Guick-Graphen zu veranschaulichen: Der erste Graphen ist das Eingangssignal mit einem unangenehmen Glitch. Die zweite Grafik zeigt die Wirkung eines 10-stelligen Gleitmittels. Der endgültige Graph ist eine Kombination aus dem 10-Sample-Mittelwert und dem einfachen Glitch-Detektionsalgorithmus, der oben gezeigt ist. Wenn der Glitch detektiert wird, wird anstelle des tatsächlichen Wertes der 10-Sample-Mittelwert verwendet. Beantwortet Sep 21 10 am 13:38 Schön erklärt und Bonuspunkte für die Grafik) ndash Henry Cooke Sep 22 10 at 0:50 Wow. Seldomly sah so eine schöne Antwort ndash Muis Jun 4 13 at 9:14 Der gleitende Durchschnitt ist ein Tiefpassfilter. Ndash nomen Okt 21 13 am 19:36 Versuchen Sie einen runningstreaming Median statt. Ndash kert Apr 25 14 am 22:09 Gleitender Durchschnitt kann ich unten erhalten. Aber es scheint mir, dass seine wahrscheinlich ziemlich ineffizient. Theres wirklich kein Grund ein gleitender Durchschnitt sollte ineffizient sein. Sie halten die Anzahl der Datenpunkte, die Sie in einem Puffer (wie eine zirkuläre Warteschlange) wollen. An jedem neuen Datenpunkt pflücken Sie den ältesten Wert und subtrahieren ihn von einer Summe, und drücken Sie den neuesten und fügen Sie ihn der Summe hinzu. Jeder neue Datenpunkt bringt also nur einen Popp, eine Addition und eine Subtraktion mit sich. Ihr gleitender Durchschnitt ist immer diese Verschiebungssumme geteilt durch die Anzahl der Werte in Ihrem Puffer. Es wird ein wenig trickiger, wenn youre Empfangen von Daten gleichzeitig von mehreren Threads, aber da Ihre Daten von einem Hardware-Gerät kommt, das scheint sehr zweifelhaft für mich. Oh und auch: schreckliche Selbst-gelehrte Programmierer vereinen) Der gleitende Durchschnitt schien mir ineffizient, weil Sie einen Puffer von Werten speichern müssen - besser, nur einige Clever Maths mit Ihrem Eingabewert und aktuellen Arbeitswert Ich glaube, dass 39 ist, wie exponentiell gleitenden Durchschnitt Arbeitet. Eine Optimierung, die ich für diese Art von gleitendem Durchschnitt gesehen habe, beinhaltet die Verwendung eines Fixlängen-Warteschlangen-Amps, einen Zeiger auf, wo Sie sich in dieser Warteschlange befinden, und einfach den Zeiger um (mit oder einem If) wickeln. Voila Kein teurer Pushpop. Power für die Amateure, Bruder ndash Henry Cooke Henry: Für einen geraden-gleitenden Durchschnitt brauchst du den Puffer einfach so, dass du weißt, welcher Wert geknallt wird, wenn der nächste Wert gedrückt wird. Das heißt, die quotfixed-Länge Warteschlange amp eine pointerquot Sie beschreiben ist genau das, was ich durch quotcircular queue. quot Bedeutet, warum ich sage, es ist nicht ineffizient. Was meinst du, ich meinte, Und wenn Ihre Antwort ist quotan Array, das seine Werte zurück verschiebt sich auf jedem indexierten removalquot (wie std :: vector in C). Also, I39m so weh I don39t sogar wollen, um mit Ihnen zu sprechen) ndash Dan Tao 22 September at 1:58 Henry: Ich don39t wissen über AS3, aber ein Java-Programmierer bekam Sammlungen wie CircularQueue zu seiner Verfügung (I39m nicht a Java-Entwickler, so I39m sicher, es gibt bessere Beispiele da draußen that39s genau das, was ich aus einer schnellen Google-Suche gefunden), die genau die Funktionalität implementiert, die wir reden. I39m ziemlich zuversichtlich, die Mehrheit der mittleren und niedrigen Sprachen mit Standard-Bibliotheken haben etwas ähnliches (z. B. in. NET there39s QueueltTgt). Jedenfalls war ich selbst Philosophie. alles ist vergeben. Ndash Dan Tao Ein exponentiell abnehmender gleitender Durchschnitt kann von Hand mit nur dem Trend berechnet werden, wenn Sie die richtigen Werte verwenden. Sehen Sie fourmilab. chhackdiete4 für eine Idee, wie dies schnell mit einem Stift und Papier, wenn Sie für exponentiell geglättet gleitenden Durchschnitt mit 10 Glättung suchen. Aber da Sie einen Computer haben, möchten Sie wahrscheinlich binäre Verschiebung im Gegensatz zur Dezimalverschiebung tun) Auf diese Weise brauchen Sie nur eine Variable für Ihren aktuellen Wert und einen für den Durchschnitt. Daraus kann dann der nächste Mittelwert berechnet werden. Beantwortet eine Technik namens Bereichstor, die gut funktioniert mit Low-Vorkommen falschen Proben. Unter der Annahme einer der oben erwähnten Filtertechniken (gleitender Durchschnitt, exponentiell), sobald Sie über ausreichende Historie verfügen (eine Zeitkonstante), können Sie die neue, eingehende Datenprobe für die Angemessenheit testen, bevor sie zur Berechnung hinzugefügt wird. Ist ein gewisses Wissen über die maximale vernünftige Änderungsrate des Signals erforderlich. Wird die Rohprobe mit dem letzten geglätteten Wert verglichen, und wenn der absolute Wert dieser Differenz größer als der zulässige Bereich ist, wird diese Probe herausgeworfen (oder durch eine Heuristik ersetzt, zB eine Vorhersage basierend auf der Steigungsdifferenz oder dem Trend Vorhersagewert aus doppelter exponentieller Glättung) beantwortet am 30. April 16 um 6: 56Lektion 12: Filterung Themen: Relation zur Faltungseigenschaft der Fourier-Transformation Ideale und nicht ideale frequenzselektive Filter: Frequenzdomänen - und Zeitbereichscharakteristiken Ununterbrochene Zeit - selektive Filter, beschrieben durch Differentialgleichungen RC-Tiefpass - und Hochpaßfilter Zeitdifferenzierte, durch Differenzgleichungen beschriebene, frequenzselektive Filter Moving Average Filter Rekursive diskrete Zeitfilter Demonstration: Ein Blick auf die Filterung in einem kommerziellen Audiosteuerraum. Lehrbeauftragte: Prof. Alan V. Oppenheim Vorlesung 1: Einführung Vortrag 2: Signale und Syst. Vorlesung 3: Signale und Syst. Vorlesung 4: Faltung Vorlesung 5: Eigenschaften von Li. Vorlesung 6: Systems Represen. Vorlesung 7: Ununterbrochene Zeit. Vorlesung 8: Ununterbrochene Zeit. Vorlesung 9: Fourier Transfor. Vorlesung 10: Diskrete Zeit F. Vorlesung 11: Diskrete Zeit F. Vorlesung 12: Filterung Vorlesung 13: Ununterbrochene Zeit. Vorlesung 14: Demonstration o. Vorlesung 15: Diskrete Zeit M. Vorlesung 16: Probenahme Vorlesung 17: Interpolation Vorlesung 18: Diskrete Zeit P. Vorlesung 19: Diskrete Zeit S. Vorlesung 20: Die Laplace Tra. Vorlesung 21: Ununterbrochene Zeit. Vorlesung 22: Die z-Transformation Vorlesung 23: Mapping Continu. Vorlesung 24: Butterworth Fil. Vortrag 25: Feedback-Vortrag 26: Feedbackbeispiel. Verwandte Ressourcen Der folgende Inhalt wird unter einer Creative Commons-Lizenz bereitgestellt. Ihre Unterstützung hilft MIT OpenCourseWare fortfahren, qualitativ hochwertige Bildungsressourcen kostenlos zur Verfügung zu stellen. Um eine Spende oder sehen Sie zusätzliche Materialien aus Hunderten von MIT-Kurse, besuchen Sie MIT OpenCourseWare bei ocw. mit. edu. PROFESSOR: Bei der Diskussion der kontinuierlichen und diskreten Fourier-Transformationen haben wir eine Reihe wichtiger Eigenschaften entwickelt. Zwei besonders wichtige, wie ich damals erwähnte, sind die Modulationseigenschaft und die Faltungs-Eigenschaft. Beginnend mit der nächsten Vorlesung, die eine nach diesem, gut entwickeln und nutzen einige der Konsequenzen der Modulationseigenschaft. In der heutigen Vorlesung aber möchte ich den Begriff der Filterung, der, wie schon erwähnt, mehr oder weniger direkt aus dem Faltungsvermögen hervorgeht und erweitert werden. Um zu beginnen, lassen Sie mich nur schnell überprüfen, was die Faltungs-Eigenschaft ist. Sowohl für die kontinuierliche als auch für die diskrete Zeit zeigt die Faltungs-Eigenschaft, daß die Fourier-Transformation der Faltung von zwei Zeitfunktionen das Produkt der Fourier-Transformationen ist. Nun, was dies für lineare zeitinvariante Filter bedeutet, da wir wissen, daß im Zeitbereich die Ausgabe eines linearen zeitinvarianten Filters die Faltung des Eingangs und der Impulsantwort ist, so heißt es im wesentlichen im Frequenzbereich Dass die Fourier-Transformation des Ausgangs das Produkt die Fourier-Transformation der Impulsantwort ist, nämlich der Frequenzgang und die Fourier-Transformation des Eingangs. So wird die Ausgabe durch das Produkt beschrieben. Ich erinnere mich auch, dass ich bei der Entwicklung der Fourier-Transformation die Fourier-Transformation als komplexe Amplitude einer Zerlegung des Signals in Form eines Satzes komplexer Exponentiale interpretiert habe. Und der Frequenzgang oder die Convolution-Eigenschaft, in der Tat, sagt uns, wie die Amplituden der einzelnen dieser komplexen Exponentiale, wie sie durch das System gehen zu modifizieren. Dies führte zu dem Begriff der Filterung, wo das grundlegende Konzept war, dass, da wir die Amplituden jeder der komplexen exponentiellen Komponenten separat modifizieren können, können wir zum Beispiel einige von ihnen behalten und völlig andere zu beseitigen. Und das ist der Grundgedanke der Filterung. So haben wir, wie Sie sich erinnern, zunächst einmal die Vorstellung in der Dauerzeit eines idealen Filters, hier beispielhaft ein ideales Tiefpaßfilter, wo wir genau Frequenzkomponenten in einem Band passieren und völlig Frequenzanteile in einem anderen Band zurückweisen. Das Band wird selbstverständlich als das Durchlaßband bezeichnet und das Band als das Sperrband zurückgewiesen. Ich habe hier ein Tiefpassfilter dargestellt. Wir können natürlich die niedrigen Frequenzen zurückweisen und die hohen Frequenzen beibehalten. Und das entspricht dann einem idealen Hochpassfilter. Oder wir können nur Frequenzen innerhalb einer Band beibehalten. Und so zeige ich unten, was allgemein als ein Bandpassfilter bezeichnet wird. Nun, das ist, was die idealen Filter sahen aus wie für kontinuierliche Zeit. Für diskrete Zeit haben wir genau die gleiche Situation. Wir haben nämlich ein ideales diskretes Tiefpaßfilter, das genau die Frequenzen passiert, die die niedrigen Frequenzen sind. Niedrige Frequenzen, natürlich, um 0, und wegen der Periodizität, auch um 2pi. Wir zeigen auch ein optimales Hochpaßfilter. Und ein Hochpassfilter, wie ich das letzte Mal angemerkt habe, gibt Frequenzen um pi. Und schließlich, unten, zeige ich ein ideales Bandpassfilter, das Frequenzen irgendwo im Bereich zwischen 0 und pi passiert. Und erinnern Sie sich auch, dass der grundlegende Unterschied zwischen Dauer-Zeit eine diskrete Zeit für diese Filter ist, dass die diskret-Zeit-Versionen sind natürlich periodisch in der Frequenz. Betrachten wir nun diese idealen Filter und insbesondere das ideale Tiefpaßfilter im Zeitbereich. Wir haben den Frequenzgang des idealen Tiefpaßfilters. Und unten ist es die Impulsantwort. Hier ist also der Frequenzgang und darunter die Impulsantwort des idealen Tiefpaßfilters. Und das ist natürlich ein Sinus x über x Form der Impulsantwort. Und erkenne auch, dass, da dieser Frequenzgang realwertig ist, die Impulsantwort, also die inverse Transformation, eine gerade Funktion der Zeit ist. Und bemerkt auch, da ich darauf zurückkommen möchte, dass die Impulsantwort eines idealen Tiefpaßfilters in der Tat nicht-kausal ist. Das folgt unter anderem aus der Tatsache, dass seine eine gleichmäßige Funktion. Aber denken Sie daran, in der Tat, dass eine Sinus x über x-Funktion geht in unendlich in beide Richtungen. Somit ist die Impulsantwort des idealen Tiefpaßfilters symmetrisch und weist weiterhin Schwänze zu plus und minus unendlich auf. Nun ist die Situation im diskreten Fall grundsätzlich gleich. Schauen wir uns den Frequenzgang und die zugehörige Impulsantwort für ein ideales diskretes Tiefpassfilter an. Also hier noch einmal der Frequenzgang des idealen Tiefpaßfilters. Und unten, was ich die Impulsantwort zeigen. Wieder ist es ein Sinus x über x-Typ der Impulsantwort. Und wieder erkennen wir, dass, da im Frequenzbereich, dieser Frequenzgang realwertig ist. Das bedeutet, dass als Folge der Eigenschaften der Fourier-Transformation und der inversen Fourier-Transformation die Impulsantwort eine gerade Funktion im Zeitbereich ist. Und auch, nebenbei bemerkt, die Sinus x über x-Funktion geht in unendlich, wieder, in beide Richtungen. Nun sprachen wir über ideale Filter in dieser Diskussion. Und ideale Filter alle sind in der Tat ideal in einem gewissen Sinne. Was sie idealerweise tun, ist, dass sie ein bestimmtes Frequenzband exakt passieren und ein Band von Frequenzen genau ablehnen. Andererseits gibt es viele Filterprobleme, bei denen wir im allgemeinen keine scharfe Unterscheidung zwischen den Frequenzen haben, die wir durchlassen wollen, und den Frequenzen, die wir ablehnen wollen. Ein Beispiel hierfür ist der Entwurf eines Automobilfederungssystems, das in der Tat der Entwurf eines Tiefpaßfilters ist. Und im Grunde, was Sie tun wollen, in einem Fall wie das ist Filter aus oder abschwächen sehr schnelle Straßenvarianten und halten die unteren Variationen in natürlich Höhenlage der Autobahn oder Straße. Und was Sie sehen können intuitiv ist, dass es nicht wirklich eine sehr scharfe Unterscheidung oder scharfe Cut-off zwischen dem, was Sie logisch nennen würde die niedrigen Frequenzen und was würden Sie die hohen Frequenzen nennen. Nun ist auch etwas damit verbunden, daß, wie wir im Zeitbereich gesehen haben, diese idealen Filter einen ganz besonderen Charakter haben. Sehen wir uns zum Beispiel das ideale Tiefpassfilter an. Und wir sahen die Impulsantwort. Die Impulsantwort ist das, was wir hier gezeigt haben. Schauen wir uns nun die Sprungantwort des diskreten zeitlichen Tiefpassfilters an. Und beachten Sie die Tatsache, dass es einen Schwanz, der oszilliert. Und wenn der Schritt trifft, hat er tatsächlich ein oszillatorisches Verhalten. Nun, genau die gleiche Situation tritt in der kontinuierlichen Zeit. Betrachten wir die Schrittantwort des kontinuierlich-idealen Tiefpassfilters. Und was wir sehen ist, dass, wenn ein Schritt trifft dann in der Tat, wir eine Oszillation. Und sehr oft, dass Oszillation ist etwas, was unerwünscht ist. Zum Beispiel, wenn Sie einen Automobil-Suspension-System entwerfen und Sie eine Kurve, die ein Stufen-Eingang ist, in der Tat, würden Sie wahrscheinlich nicht möchten, dass das Auto schwingend, sterben in Oszillation. Nun gibt es einen weiteren sehr wichtigen Punkt, der wiederum entweder in kontinuierlicher oder diskreter Zeit sichtbar ist, nämlich dass selbst dann, wenn wir einen idealen Filter haben wollen, das ideale Filter ein anderes Problem hat, wenn wir versuchen wollen, es umzusetzen Es in Echtzeit. Was ist das Problem Das Problem ist, dass, da die Impulsantwort ist gerade und in der Tat hat Schwänze, die gehen zu plus und minus Unendlichkeit, seine nicht-kausalen. Also, wenn wir in der Tat wollen wir einen Filter zu bauen und der Filter auf den Betrieb in Echtzeit beschränkt ist, dann in der Tat, wir cant bauen einen idealen Filter. Das, was gesagt wird, ist, dass in der Praxis, obwohl ideale Filter sind schön, darüber nachzudenken und vielleicht beziehen sich auf praktische Probleme, typischer, was wir als nichtidealische Filter und im diskreten Fall, ein nonideal Filter dann würden wir eine Eigenschaft haben Etwas wie Ive hier angegeben. Wo statt eines sehr schnellen Übergangs vom Durchlaßband zum Sperrband ein allmählicher Übergang mit einer Durchlaßband-Grenzfrequenz und einer Stoppband-Grenzfrequenz auftreten würde. Und vielleicht auch statt einer exakt flachen Charakteristik im Sperrband im Durchlaßbereich, würden wir eine gewisse Welligkeit zulassen. Wir haben auch genau die gleiche Situation in Dauerbetrieb, wo wir hier einfach nur unsere Frequenzachse auf eine kontinuierliche Frequenzachse anstelle der diskreten Frequenzachse ändern. Wiederum würden wir in Bezug auf eine zulässige Durchlaßbandwelligkeit, einen Übergang von einem Durchlaßband zu einem Stoppband mit einer Durchlaßband-Grenzfrequenz und einer Stoppband-Grenzfrequenz denken. So ist der Begriff hier, dass wiederum ideale Filter in mancher Hinsicht ideal sind und in anderer Hinsicht nicht ideal sind. Und für viele praktische Probleme, können wir sie nicht wollen. Und selbst wenn wir sie wollten, können wir sie vielleicht nicht bekommen, vielleicht wegen dieser Frage der Kausalität. Selbst wenn die Kausalität kein Thema ist, ist das, was in der Filtergestaltung und - implementierung geschieht, tatsächlich so, daß, je schärfer man versucht, den Cutoff herzustellen, um so teurer wird, in gewissem Sinne, der Filter entweder in Form von Komponenten oder kontinuierlich wird - Zeit, oder in Bezug auf die Berechnung in diskreter Zeit. Und so gibt es diese ganze Vielfalt von Themen, die es wirklich wichtig machen, um den Begriff nonideal Filter zu verstehen. Nun, nur um als Beispiel zu veranschaulichen, lassen Sie mich erinnern Sie an ein Beispiel, was in der Tat ist ein nonideal Tiefpassfilter. Und wir haben vorher die zugehörige Differentialgleichung betrachtet. Lassen Sie mich nun in der Tat beziehen sie auf eine Schaltung, und insbesondere eine RC-Schaltung, wobei der Ausgang könnte entweder über den Kondensator oder der Ausgang kann über den Widerstand sein. Also, wir haben hier zwei Systeme. Wir haben ein System, welches die Systemfunktion vom Spannungsquelleneingang zum Kondensatorausgang, das System vom Spannungsquelleneingang zum Widerstand Ausgang ist. Und in der Tat, gerade Anwendung Kirchhoffs Voltage Law, können wir diese in einer sehr einfachen Weise beziehen. Seine sehr einfach zu überprüfen, dass das System von Eingang zu Widerstand Ausgang ist einfach das Identity-System mit dem Kondensator-Ausgang subtrahiert. Nun können wir die Differentialgleichung für jedes dieser Systeme schreiben und, wie wir letztes Mal in den letzten mehreren Vorträgen gesprochen haben, diese Gleichung unter Verwendung und Ausnutzung der Eigenschaften der Fourier-Transformation lösen. Und tatsächlich, wenn wir die Differentialgleichung betrachten, die den Kondensatorausgang mit dem Spannungsquelleneingang verbindet, erkennen wir, dass dies ein Beispiel ist, das in Wirklichkeit zuvor gelöst wurde. Und so arbeiten wir nur unseren Weg nach unten, die Anwendung der Fourier-Transformation auf die Differentialgleichung und die Erzeugung der Systemfunktion, indem wir das Verhältnis der Kondensatorspannung oder ihre Fourier-Transformation in die Fourier-Transformation der Quelle, dann haben wir die Systemfunktion mit dem assoziiert System, bei dem der Ausgang die Kondensatorspannung ist. Oder wenn wir stattdessen die mit dem Widerstand ausgegebene Systemfunktion lösen, können wir einfach H1 von Unity subtrahieren. Und die Systemfunktion, die wir in diesem Fall erhalten, ist die Systemfunktion, die ich hier zeige. So haben wir nun zwei Systemfunktionen, eine für den Kondensatorausgang, die andere für den Widerstand-Ausgang. Und eine, die erste, die dem Kondensator-Ausgang, in der Tat, wenn wir sie auf einer linearen Amplitude Skala, sieht so aus. Und wie Sie sehen können, und wie wir das letzte Mal sahen, ist eine Annäherung an ein Tiefpassfilter. Es handelt sich in der Tat um ein nichtidales Tiefpaßfilter, während das Widerstandsausgangssignal eine Annäherung an ein Hochpaßfilter oder in Wirklichkeit ein nichtidales Hochpassfilter ist. In einem Fall haben wir also nur einen Vergleich der beiden, wir haben ein Tiefpaßfilter als das Kondensatorausgangssignal, das dem Kondensatorausgang zugeordnet ist, und ein Hochpaßfilter, das dem Ausgangswiderstand zugeordnet ist. Lets nur schnell auf dieses Beispiel jetzt auf der Suche auf einem Bode-Plot, anstatt auf der linearen Skala, die wir vor gezeigt. Und erinnern Sie sich übrigens, und bewusst sein, nebenbei bemerkt, dass wir natürlich können kaskadieren mehrere Filter dieser Art und verbessern die Eigenschaften. So habe ich oben ein Bode-Diagramm der Systemfunktion gezeigt, die dem Kondensatorausgang zugeordnet ist. Seine flache auf eine Frequenz entsprechend 1 über die Zeitkonstante, RC. Und dann fällt es bei 10 dB pro Jahrzehnt ab, wobei ein Jahrzehnt den Faktor 10 beträgt. Oder wenn man stattdessen die Systemfunktion des Ausgangswiderstandes betrachtet, entspricht dies einer 10-dB-Erhöhung pro Jahrzehnt bis hin zu annähernd dem Kehrwert Der Zeitkonstante und nähert sich danach einer flachen Charakteristik. Und wenn wir eine dieser beiden Betrachtungen betrachten, würden wir, wenn wir mehrere Filter mit diesem Frequenzgang kaskadieren wollten, dann, weil wir auf einem Bode-Plot aufgetragen haben, das Bode-Diagramm für die Kaskade einfach summieren diese. Und wenn wir z. B. zwei Stufen statt eines Roll-offs bei 10 dB pro Jahrzehnt kaskadieren, würde es mit 20 dB pro Jahrzehnt abrollen. Nun sind Filter in dieser Art, RC-Filter, vielleicht mehrere von ihnen in Kaskade, in der Tat sehr weit verbreitet. Und tatsächlich, in einer Umgebung wie diesem, wo tatsächlich in der Aufnahme war, sehen wir, dass es solche Filter gibt, die sehr häufig sowohl im Audio - als auch im Video-Teil der Signalverarbeitung auftreten, die mit der Herstellung dieses Satzes verbunden sind Von Bändern. In der Tat, werfen wir einen Blick in die Warte. Und was Ill in der Lage, Ihnen zu zeigen, in der Leitwarte ist die Audio-Teil der Verarbeitung, die getan wird, und die Arten von Filtern, sehr viel von der Art, die wir gerade gesprochen, die mit der Signalverarbeitung, die bei der Vorbereitung der Audio - Für die Bänder. So können Sie nur einen Spaziergang in die Warte und sehen, was wir sehen. Dies ist der Kontrollraum, der für die Kameraumschaltung verwendet wird. Seine verwendet für Computer-Bearbeitung und auch Audio-Steuerung. Sie sehen die Monitore und diese werden für die Kameraumschaltung verwendet. Und das ist die Computer-Editing-Konsole, die für Online-und Offline-Computer-Bearbeitung verwendet wird. Was ich aber wirklich demonstrieren möchte, ist im Rahmen der Vorlesung das Audio Control Panel, das unter anderem eine Vielzahl von Filtern für hochfrequente, tiefe Frequenzen, ua, Grundausgleichsfilter, enthält. Und was wir bei der Filterung haben, ist vor allem, was als grafischer Equalizer bezeichnet wird, der aus einem Satz von Bandpassfiltern besteht, die Ill ein wenig genauer in einer Minute beschreiben. Und dann auch ein Audio-Control Panel, das hier unten ist und die separate Equalizer-Schaltungen für jede von einem ganzen Satz von Kanälen und auch viele Kontrollen auf ihnen enthält. Nun, lassen Sie mich anfangen, in der Demonstration durch die Demonstration ein wenig, was die Grafik-Equalizer tut. Nun, was wir haben ist ein Satz von Bandpass-Filter. Und was hier oben angezeigt wird, sind die Mittenfrequenzen der Filter und dann ein Schieberegler für jeden, der uns attenuieren oder verstärken lässt. Und das ist eine dB-Skala. Also im Wesentlichen, wenn Sie schauen über diese Bank von Filtern mit der Gesamtausgabe des Equalors nur die Summe der Ausgänge von jedem dieser Filter, interessanterweise die Position der Schieberegler wechselt, wie Sie hier bewegen, in der Tat, zeigt Ihnen was Der Frequenzgang des Equalizers ist. So können Sie die Gesamtform des Filters ändern, indem Sie die Schalter nach oben und unten bewegen. Im Moment ist der Equalizer aus. Lets setzen den Equalizer in den Stromkreis. Und nun setze ich diese Filtercharakteristik ein. Und was Id zu demonstrieren ist Filterung mit diesem, wenn wir Dinge tun, die ein wenig dramatischer als das, was normalerweise in einem typischen Audio-Aufnahme-Einstellung getan werden. Und um dies zu tun, fügen Sie meiner Stimme etwas Musik hinzu, um es interessanter zu machen. Nicht, dass meine Stimme ist nicht interessant, wie es ist. Aber auf jeden Fall können wir etwas Musik bringen. Und jetzt, was ich tun, ist die niedrigen Frequenzen flach eingestellt. Und lassen Sie mich nehmen die hohen Frequenzen über 800 Zyklen. Und so, jetzt, was wir haben, ist effektiv ein Tiefpaßfilter. Und jetzt mit dem Tiefpaßfilter, lass mich jetzt die Höhen zurückbringen. Und so Im bringen diese Bandpass-Filter. Und jetzt lassen Sie mich schneiden Sie die Tiefen. Und Sie hören die Tiefen, die verschwinden, und in der Tat, halten die Höhen in effektiv crispens der Klang, entweder meine Stimme oder die Musik. Und schließlich, lassen Sie mich zurück zu 0 dB Entzerrung auf jedem der Filter. Und was nun auch noch krank ist, nehmt den Equalizer total aus dem Kreis. Nun, werfen wir einen Blick auf die Audio-Master-Systemsteuerung. Und dieses Panel hat natürlich für jeden Kanal und z. B. den bearbeiteten Kanal eine Lautstärkeregelung. Ich kann die Lautstärke verringern, und ich kann die Lautstärke erhöhen. Und es hat auch für diese besondere Equalizer-Schaltung, hat es eine Reihe von drei Bandpass-Filter und Knöpfe, die uns entweder in bis zu 12 dB Verstärkung oder 12 dB Dämpfung in jedem der Bänder, und auch ein Selector-Schalter, der uns lässt Wählen Sie die Mitte des Bandes. Also lass mich mal wieder ein wenig damit zeigen. Und lassen Sie eine Nahaufnahme dieses Panels. So haben wir, wie ich schon sagte, drei Bandpassfilter. Und diese Knöpfe, die Im, der hier zeigt, sind Kontrollen, die uns für jeden der Filter erlauben, bis zu 12 dB Verstärkung oder 12 dB Dämpfung einzusetzen. Es gibt auch mit jedem der Filter einen Wählschalter, mit dem wir die Mittenfrequenz des Filters einstellen können. Grundsätzlich ist es ein Schalter mit zwei Stellungen. Es gibt auch, wie Sie sehen können, eine Schaltfläche, die uns entweder die Entzerrung in oder out. Derzeit ist die Entzerrung aus. Lets setzen die Entzerrung in. Wir werden keine Wirkung davon hören, da die Verstärkungsregler alle auf 0 dB eingestellt sind. Und ich möchte in Kürze die Wirkung dieser veranschaulichen. Aber bevor ich das mache, lass mich deine Aufmerksamkeit auf einen anderen Filter lenken, der dieser weiße Schalter ist. Und dieser Schalter ist ein Hochpassfilter, das im Wesentlichen Frequenzen unter etwa 100 Zyklen schneidet. Also, was bedeutet es, dass, wenn ich diesen Schalter in, ist alles mehr oder weniger flach über 100 Zyklen. Und was das für verwendet, im Grunde ist, zu beseitigen, vielleicht 60 Zyklus Lärm, wenn diese vorhanden ist, oder einige niederfrequente hum oder was auch immer. Nun, wir werden nicht wirklich etwas demonstrieren. Lets go jetzt mit der Entzerrung in, zeigen die Wirkung der Boosting oder Abschwächung der niedrigen und hohen Frequenzen. Und wieder, denke ich, dies zu demonstrieren, illustriert es den Punkt am besten, wenn wir eine kleine Hintergrundmusik haben. So Maestro, wenn Sie das bringen können. Und so jetzt, was Im gehend zu tun, ist zuerst die niedrigen Frequenzen verstärken. Und das ist, was dieser Potentiometerknopf tun wird. So jetzt, die Erhöhung der tiefen Frequenzverstärkung und in der Tat, den ganzen Weg bis zu 12 dB, wenn ich den Knauf über so weit wie Ive gegangen hier. Und das hat einen sehr bassigen Sound. Und in der Tat, können wir es sogar bassier, indem sie die hohen Frequenzen und Dämpfung von 12 dB. OK gut, lassen Sie einige der hohen Frequenzen zurück in. Und jetzt lassen Sie die tieffrequenten Verstärkung zuerst zurück auf 0 zurück. Und jetzt waren wieder auf flache Entzerrung. Und jetzt kann ich die tiefe Frequenzverstärkung nach unten, so dass ich Dämpfung der tiefen Frequenzen um viel wie 12 dB. Und das ist, wo wir jetzt sind. Und so hat das natürlich einen viel schärferen Klang. Und um die Höhen noch mehr zu steigern, kann ich, zusätzlich zum Herausschneiden der Tiefen, die Höhen steigern, indem ich wieder so viel wie 12 dB. OK gut, lässt sich die Musik jetzt und gehen Sie zurück zu keinem Ausgleich durch Einstellung dieser Regler auf 0 dB. Und in der Tat, können wir den Equalizer aus. Nun, das ist ein kurzer Blick auf einige reale-Welt-Filter. Jetzt können wir aufhören, so viel Spaß zu haben, und gehen wir zurück zur Vorlesung. Okay, das ist ein bisschen hinter den Kulissen. Was Id wie zu tun jetzt ist unsere Aufmerksamkeit auf diskrete Zeit Filter. Und wie es in früheren Vorlesungen gemeint ist, gibt es grundsätzlich zwei Klassen von diskreten Zeitfiltern oder diskrete Zeitdifferenzgleichungen. Eine Klasse wird auf einen nicht rekursiven oder gleitenden Durchschnittsfilter bezogen. Und die Grundidee mit einem gleitenden Mittelfilter ist etwas, das Sie vielleicht intuitiv kennen. Denken Sie an den Begriff des Nehmens einer Datensequenz, und nehmen wir an, dass, was wir tun wollten, eine Glättung der Datensequenz angewendet wurde. Wir könnten z. B. denken, benachbarte Punkte zu nehmen, sie zusammen zu mitteln und dann diesen Durchschnitt entlang der Datensequenz zu bewegen. Und was Sie sehen können intuitiv ist, dass, dass einige Glättung gelten würde. In der Tat, die Differenz-Gleichung, sagen wir, für den Dreipunkt gleitenden Durchschnitt wäre die Differenzgleichung, die ich hier angeben, einfach nur einen Datenpunkt und die beiden Datenpunkte neben ihm und bildet einen Durchschnitt von diesen drei. Wenn wir also an die Verarbeitung dachten, wenn wir einen Ausgangssequenzwert bilden würden, würden wir drei benachbarte Punkte nehmen und sie durchschnittlich machen. Das würde uns die Ausgabe hinzufügen die zugehörige Zeit. Und dann, um den nächsten Ausgangspunkt zu berechnen, würden wir einfach nur schieben Sie diese um einen Punkt, durchschnittlich diese zusammen, und das würde uns den nächsten Ausgangspunkt. Und wir würden weiter gehen, einfach nur gleiten und Mittelung, um die Ausgangsdaten-Sequenz zu bilden. Nun, das ist ein Beispiel für was ist gemeinhin auf einen Dreipunkt-gleitenden Durchschnitt bezogen. In der Tat, können wir diese Vorstellung in einer Reihe von Möglichkeiten zu verallgemeinern. One way of generalizing the notion of a moving average from the three-point moving average, which I summarize again here, is to think of extending that to a larger number of points, and in fact applying weights to that as I indicated here, so that, in addition to just summing up the points and dividing by the number of points summed, we can, in fact, apply individual weights to the points so that its what is often referred to as a weighting moving average. And I show below one possible curve that might result, where these would be essentially the weights associated with this weighted moving average. And in fact, its easy to verify that this indeed corresponds to the impulse response of the filter. Well, just to cement this notion, let me show you an example or two. Here is an example of a five-point moving average. A five-point moving average would have an impulse response that just consists of a rectangle of length five. And if this is convolved with a data sequence, that would correspond to taking five adjacent points and, in effect, averaging them. Weve looked previously at the Fourier transform of this rectangular sequence. And the Fourier transform of that, in fact, is of the form of a sine n x over sine x curve. And as you can see, that is some approximation to a lowpass filter. And so this, again, is the impulse response and frequency response of a nonideal lowpass filter. Now, there are a variety of algorithms that, in fact, tell you how to choose the weights associated with a weighted moving average to, in some sense, design better approximations and without going into the details of any of those algorithms. Let me just show the result of choosing the weights for the design of a 251-point moving average filter, where the weights are chosen using an optimum algorithm to generate as sharp a cutoff as can possibly be generated. And so what I show here is the frequency response of the resulting filter on a logarithmic amplitude scale and a linear frequency scale. Notice that on this scale, the passband is very flat. Although here is an expanded view of it. And in fact, it has whats referred to as an equal-ripple characteristic. And then here is the transition band. And here we have to stopband, which in fact is down somewhat more than 80 dB and, again, has whats referred to as an equal-ripple characteristic. Now, the notion of a moving average for filtering is something that is very commonly used. I had shown last time actually the result of some filtering on a particular data sequence, the Dow Jones Industrial Average. And very often, in looking at various kinds of stock market publications, what you will see is the Dow Jones average shown in its raw form as a data sequence. And then very typically, youll see also the result of a moving average, where the moving average might be on the order of day, or it might be on the order of months. The whole notion being to take some of the random high frequency fluctuations out of the average and show the low frequency, or trends, over some period of time. So lets, in fact, go back to the Dow Jones average. And let me now show you what the result of filtering with a moving average filter would look like on the same Dow Jones industrial average sequence that I showed last time. So once again, we have the Dow Jones average from 1927 to roughly 1932. At the top, we see the impulse response for the moving average. Again, I remind you on an expanded time scale, and whats shown here is the moving average with just one point. So the output on the bottom trace is just simply identical to the input. Now, lets increase the length of the moving average to two points. And we see that there is a small amount of smoothing, three points and just a little more smoothing, that gets inserted. Now a four-point moving average, and next the five-point moving average, and a six-point moving average next. And we see that the smoothing increases. Now, lets increase the length of the moving average filter much more rapidly and watch how the output is more and more smooth in relation to the input. Again, I emphasize that the time scale for the impulse response is significantly expanded in relationship to the time scale for both the input and the output. And once again, through the magic of filtering, weve been able to eliminate the 1929 Stock Market Crash. All right, so weve seen moving average filters, or what are sometimes referred to as non-recursive filters. And they are, as I stressed, a very important class of discrete-time filters. Another very important class of discrete-time filters are what are referred to as recursive filters. Recursive filters are filters for which the difference equation has feedback from the output back into the input. In other words, the output depends not only on the input, but also on previous values of the output. So for example, as Ive stressed previously, a recursive difference equation has the general form that I indicate here, a linear combination of weighted outputs on the left-hand side and linear combination of weighted inputs on the right-hand side. And as weve talked about, we can solve this equation for the current output y of n in terms of current and past inputs and past outputs. For example, just to interpret this, focus on the interpretation of this as a filter, lets look at a first order difference equation, which weve talked about and generated the solution to previously. So the first order difference equation would be as I indicated here. And imposing causality on this, so that we assume that we are running this as a recursive forward in time, we can solve this for y of n in terms of x of n and y of n minus 1 weighted by the factor a. And I simply indicate the block diagram for this. But what we want to examine now for this first order recursion is the frequency response and see its interpretation as a filter. Well in fact, again, the mathematics for this weve gone through in the last lecture. And so interpreting the first order difference equation as a system, what were attempting to generate is the frequency response, which is the Fourier transform of the impulse response. And from the difference equation, we can, of course, solve for either one of those by using the properties, exploiting the properties, of Fourier transform. Applying the Fourier transform to the difference equation, we will end up with the Fourier transform of the output equal to the Fourier transform of the input times this factor, which we know from the convolution property, in fact, is the frequency response of the system. So this is the frequency response. And of course, the inverse Fourier transform of that, which I indicate below, is the system impulse response. So we have the frequency response obtained by applying the Fourier transform to the difference equation, the impulse response. And, as we did last time, we can look at that in terms of a frequency response characteristic. And recall that, depending on whether the factor a is positive or negative, we either get a lowpass filter or a highpass filter. And if, in fact, we look at the frequency response for the factor a being positive, then we see that this is an approximation to a lowpass filter, whereas below it I show the frequency response for a negative. And there this corresponds to a highpass filter, because were attenuating low frequencies and retaining the high frequencies. And recall also that we illustrated this characteristic as a lowpass or highpass filter for the first order recursion by looking at how it worked as a filter in both cases when the input was the Dow Jones average. And indeed, we saw that it generated both lowpass and highpass filtering in the appropriate cases. So for discrete-time, we have the two classes, moving average and recursive filters. And there are a variety of issues discussed in the text about why, in certain contexts, one might want to use one of the other. Basically, what happens is that for the moving average filter, for a given set a filter specifications, there are many more multiplications required than for a recursive filter. But there are, in certain contexts, some very important compensating benefits for the moving average filter. Now, this concludes, pretty much, what I want to say in detail about filtering, the concept of filtering, in the set of lectures. This is only a very quick glimpse into a very important and very rich topic, and one, of course, that can be studied on its own in an considerable amount of detail. As the lectures go on, what well find is that the basic concept of filtering, both ideal and nonideal filtering, will be a very important part of what we do. And in particular, beginning with the next lecture, well turn to a discussion of modulation, exploiting the property of modulation as it relates to some practical problems. And what well find when we do that is that a very important part of that discussion and, in fact, a very important part of the use of modulation also just naturally incorporates the concept and properties of filtering. Vielen Dank. Free DownloadsMoving Average Filter kate wrote: gt Hi, gt gt I am looking for some code for a low-pass filter which I can apply to gt a signal prior to carrying out spectral analysis. gt gt I apoligise for my ignorance, but this is way outside my field so Im gt not really making any sense of it. What are the inputs that are gt needed other than the signal itself gt gt Thanks, gt Kate In the analog domain, folks use low-pass filtering for at least a couple of reasons that come to mind (i) make the signal look better (ii) avoid aliasing during Analog-to-Digital conversion, which results in high-frequency noisesignals being aliased to low frequencies, which can corrupt the lower frequency signals of interest and increase the noise floor. It does not appear that either of these considerations apply to your situation (i) youre not looking at the signal directly (youre going to do spectral analysis) (ii) your signal is already digitized. Specifically, when you do spectral analysis, the high-frequency stuff will show up at the high-frequency end and you can choose to ignore it. For any linear technique (this includes FFT and the Matlab filter() function), the high-frequency content will not interfere with the spectral analysis of the low-frequency content. Unless you wish to decimate your data before filtering. Is there a particular reason you want to get rid of the high-frequency content before spectral analysis kate wrote: gt Hi, gt gt I am looking for some code for a low-pass filter which I can apply to gt a signal prior to carrying out spectral analysis. gt gt I apoligise for my ignorance, but this is way outside my field so Im gt not really making any sense of it. What are the inputs that are gt needed other than the signal itself gt gt Thanks, gt Kate In the analog domain, folks use low-pass filtering for at least a couple of reasons that come to mind (i) make the signal look better (ii) avoid aliasing during Analog-to-Digital conversion, which results in high-frequency noisesignals being aliased to low frequencies, which can corrupt the lower frequency signals of interest and increase the noise floor. It does not appear that either of these considerations apply to your situation (i) youre not looking at the signal directly (youre going to do spectral analysis) (ii) your signal is already digitized. Specifically, when you do spectral analysis, the high-frequency stuff will show up at the high-frequency end and you can choose to ignore it. For any linear technique (this includes FFT and the Matlab filter() function), the high-frequency content will not interfere with the spectral analysis of the low-frequency content. Unless you wish to decimate your data before filtering. Is there a particular reason you want to get rid of the high-frequency content before spectral analysis To be honest I dont know why Im trying to get rid of the high frequencies. Im basically following the instructions in an ISO. As you may have guessed, computer programming and signal processing is really not my area so the language used is alien to me What Im doing is as follows - Im a civil engineer and Im trying to analyse a road surface profile. The profile is basically the equivilent of a signal that varies with distance (but since velocity is constant, this is the same as varying with time). The exact wording of the ISO is pre-processing filters should be used for example butterworth. However I thought that the moving average might be an easier place to start I presume the reason Im trying to eradicate high frequencies is because they would be negligible in terms of road surface damage. I greatly appreciate your time, Katherine Rajeev wrote: gt gt gt kate wrote: gtgt Hi, gtgt gtgt I am looking for some code for a low-pass filter which I can gt apply to gtgt a signal prior to carrying out spectral analysis. gtgt gtgt I apoligise for my ignorance, but this is way outside my field so gt Im gtgt not really making any sense of it. What are the inputs that are gtgt needed other than the signal itself gtgt gtgt Thanks, gtgt Kate gt gt In the analog domain, folks use low-pass filtering for at least a gt couple of reasons that come to mind (i) make the signal look better gt (ii) avoid aliasing during Analog-to-Digital conversion, which gt results in high-frequency noisesignals being aliased to low gt frequencies, which can corrupt the lower frequency signals of gt interest gt and increase the noise floor. gt gt It does not appear that either of these considerations apply to gt your gt situation (i) youre not looking at the signal directly (youre gt going gt to do spectral analysis) (ii) your signal is already digitized. gt gt Specifically, when you do spectral analysis, the high-frequency gt stuff gt will show up at the high-frequency end and you can choose to ignore gt it. gt For any linear technique (this includes FFT and the Matlab filter() gt function), the high-frequency content will not interfere with the gt spectral analysis of the low-frequency content. Unless you wish to gt decimate your data before filtering. gt gt Is there a particular reason you want to get rid of the gt high-frequency gt content before spectral analysis gt gt HTH gt - rajeev - gt gt Katherine wrote: gt To be honest I dont know why Im trying to get rid of the high gt frequencies. Im basically following the instructions in an ISO. gt As you may have guessed, computer programming and signal processing gt is really not my area so the language used is alien to me gt gt What Im doing is as follows - Im a civil engineer and Im trying to gt analyse a road surface profile. The profile is basically the gt equivilent of a signal that varies with distance (but since velocity gt is constant, this is the same as varying with time). The exact gt wording of the ISO is pre-processing filters should be used for Some questions come to mind. ein. What does the ISO ask you to do after the pre-processing filters b. How is the spectral analysis implemented c. Does the ISO specify the cutoff frequency for the filter. ie get rid of frequencies above X gt example butterworth. However I thought that the moving average gt might be an easier place to start I tend to agree, moving average would be easier. It also has a property that all frequency components are delayed by exactly the same amount, which means that the waveform shape is preserved going through the filter (of course some frequency compnents will be attenuated, but they wont be shifted by, say, 90 degrees, relative to other frequencies). The Butterworth filter (and to varying degrees all analog filters) does not have this property, which is known as linear-phase or phase-linear. Butterworth refers to a class of analog filters with a particular phase and frequency response, that happens to be easy to implement with electronic components like resistors, capacitors and inductors. (My reasonable guess is that) people developed digital equivalents to these and other analog filters because they were familiar with their properties. However a lot of folks today would ask, if youre going to operate on a digitized signal, why bother with an analog-look-alike filter. gt I presume the reason Im trying to eradicate high frequencies is gt because they would be negligible in terms of road surface damage. gt gt I greatly appreciate your time, gt Katherine Again, I am much indebted to you for taking the time i have tried to answer your qs below: gt Some questions come to mind. gt gt a. What does the ISO ask you to do after the pre-processing filters After the pre-processing filters it asks that i carry out a FFT which I guess is also an answer to your next question. The big comprehension problem that im having is that I generated the road profile myself, specifying that I wanted the frequencies to be a minimum of 0.01cyclesmeter and a max of 4cyclesmeter. Why then should I need to filter out high frequencies gt gt b. How is the spectral analysis implemented gt gt c. Does the ISO specify the cutoff frequency for the filter. ie gt get gt rid of frequencies above X It doesnt specify any cutoff frequency. gtgt example butterworth. However I thought that the moving average gtgt might be an easier place to start gt gt I tend to agree, moving average would be easier. It also has a gt property gt that all frequency components are delayed by exactly the same gt amount, gt which means that the waveform shape is preserved going through the gt filter gt (of course some frequency compnents will be attenuated, but they gt wont gt be shifted by, say, 90 degrees, relative to other frequencies). gt The gt Butterworth filter (and to varying degrees all analog filters) does gt not gt gt have this property, which is known as linear-phase or phase-linear. gt gt Butterworth refers to a class of analog filters with a particular gt phase gt and frequency response, that happens to be easy to implement with gt electronic gt components like resistors, capacitors and inductors. (My gt reasonable gt guess gt is that) people developed digital equivalents to these and other gt analog gt filters because they were familiar with their properties. However gt a gt lot gt of folks today would ask, if youre going to operate on a digitized gt signal, gt why bother with an analog-look-alike filter. gt gtgt I presume the reason Im trying to eradicate high frequencies is gtgt because they would be negligible in terms of road surface damage. gtgt gtgt I greatly appreciate your time, gtgt Katherine gt gt lt. gt gt gt HTH gt - rajeev - Thank you. Katherine Sounds like you may be filtering the data already the way you are specifying the frequency range. What is you sampling rate Is it spatial or temporal If you are specifying 4 cyclesmeter to the system is very unlikely that it would only be sampling to get that rate (Fs18 meter) without some sort of moving average filter built in. What is the ISO requirement (ISO standard , from where) One effect of the filtering is to shift the energy onto the lower frequencies rather than just chopping it off like you would do in the frequency domain. If the end goal is to calculate a IRI or some sort of other road roughness metric than this can be critical. gt gt After the pre-processing filters it asks that i carry out a FFT which gt I guess is also an answer to your next question. The big gt comprehension problem that im having is that I generated the road gt profile myself, specifying that I wanted the frequencies to be a gt minimum of 0.01cyclesmeter and a max of 4cyclesmeter. Why then gt should I need to filter out high frequencies gt Charlie, I am very ignorant on the correct terminology in this stuff and Im not sure what you mean by sample rate. Ill just tell you what im doing. First I am generating a random road profile which has spatial frequencies varying from 0.01 - 4 cyclesm. The ISO 8608:1995 have classifications of road and depending on this, it gives a PSD value for each of the frequencies between 0.01 and 4 thats you want. These values are then put into an equation for road generation which creates a road with any number of points (in my case 8000, or 400meters, i. e. every 0.05 meter). I then graph all of the ISO values for the PSD against the spatial frequencies that I had above. I am then trying to work backwards to see if I can generate that same graph by using the same road profile, and finding the FFT of it and then the PSD. i dont know what you mean by sampling frequency Im afraid, maybe it is up there in what i have described Thank you so much for your time, I am completely like a fish out of water on this one Charlie wrote: gt gt gt Katherine, gt gt Sounds like you may be filtering the data already the way you are gt specifying gt the frequency range. What is you sampling rate Is it spatial or gt temporal gt If you are specifying 4 cyclesmeter to the system is very unlikely gt that it gt would only be sampling to get that rate (Fs18 meter) without some gt sort of gt moving average filter built in. gt gt What is the ISO requirement (ISO standard , from where) gt gt One effect of the filtering is to shift the energy onto the lower gt frequencies rather than just chopping it off like you would do in gt the gt frequency domain. If the end goal is to calculate a IRI or some gt sort of gt other road roughness metric than this can be critical. gt gt Charlie gt gtgt gtgt After the pre-processing filters it asks that i carry out a FFT gt which gtgt I guess is also an answer to your next question. The big gtgt comprehension problem that im having is that I generated the gt road gtgt profile myself, specifying that I wanted the frequencies to be a gtgt minimum of 0.01cyclesmeter and a max of 4cyclesmeter. Why then gtgt should I need to filter out high frequencies gtgt gt gt gt Thanks for the info on ISO 8608:1995 it looks like good reference for some of my work on road profile processing. Back to your project. As I understand it you are doing: 1. Create road profile in spatial frequency domain with content in 0.01-4 cyclesm 2. Generate spatial profile from 1 using some equations (400 meters long, dx0.05 m, Spatial sampling frequency1dx20 cyclesm) 3. Graph your road PSD from 1 against the ISO values from ISO 8608 4. Calculate the fft and the PSD from 2 and compare it to 3 to see if you are able to re-produce it. If this is correct and I understand the ISO standard. I dont believe you need to do any filtering at all. Your profile from 2 should be able to generate frequency data from 0.0025-10 cyclesm, but you should not see any content above 4 cyclesm. Hope this helps rather than confuses. You may want to look at The Little Book of Profiling at umtri. umich. eduerdroughnessindex. html for more info. Katherine ltkatherine. cashellucd. iegt wrote in message news:ef02d7a.7webx. raydaftYaTP. gt Charlie, gt I am very ignorant on the correct terminology in this stuff and Im gt not sure what you mean by sample rate. Ill just tell you what im gt doing. gt gt gt First I am generating a random road profile which has spatial gt frequencies varying from 0.01 - 4 cyclesm. The ISO 8608:1995 have gt classifications of road and depending on this, it gives a PSD value gt for each of the frequencies between 0.01 and 4 thats you want. These gt values are then put into an equation for road generation which gt creates a road with any number of points (in my case 8000, or gt 400meters, i. e. every 0.05 meter). gt I then graph all of the ISO values for the PSD against the spatial gt frequencies that I had above. gt I am then trying to work backwards to see if I can generate that same gt graph by using the same road profile, and finding the FFT of it and gt then the PSD. gt i dont know what you mean by sampling frequency Im afraid, maybe it gt is up there in what i have described gt gt Thank you so much for your time, I am completely like a fish out of gt water on this one gt gt Katherine gt Thanks for that - really is useful just to see the correct terminology being used for the figures Charlie wrote: gt gt gt Katherine, gt gt Thanks for the info on ISO 8608:1995 it looks like good reference gt for some gt of my work on road profile processing. Back to your project. As I gt gt understand it you are doing: gt gt 1. Create road profile in spatial frequency domain with content in gt 0.01-4 gt cyclesm gt 2. Generate spatial profile from 1 using some equations (400 gt meters long, gt dx0.05 m, Spatial sampling frequency1dx20 cyclesm) gt 3. Graph your road PSD from 1 against the ISO values from ISO gt 8608 gt 4. Calculate the fft and the PSD from 2 and compare it to 3 to gt see if gt you are able to re-produce it. gt gt If this is correct and I understand the ISO standard. I dont gt believe you gt need to do any filtering at all. Your profile from 2 should be gt able to gt generate frequency data from 0.0025-10 cyclesm, but you should not gt see any gt content above 4 cyclesm. gt gt Hope this helps rather than confuses. You may want to look at The gt Little gt Book of Profiling at ltumtri. umich. eduerdroughnessindex. html gt gt gt or more info. gt gt Charlie gt gt Katherine ltkatherine. cashellucd. iegt wrote in message gt news:ef02d7a.7webx. raydaftYaTP. gtgt Charlie, gtgt I am very ignorant on the correct terminology in this stuff and gt Im gtgt not sure what you mean by sample rate. Ill just tell you what im gtgt doing. gtgt gtgt gtgt First I am generating a random road profile which has spatial gtgt frequencies varying from 0.01 - 4 cyclesm. The ISO 8608:1995 gt have gtgt classifications of road and depending on this, it gives a PSD gt value gtgt for each of the frequencies between 0.01 and 4 thats you want. gt These gtgt values are then put into an equation for road generation which gtgt creates a road with any number of points (in my case 8000, or gtgt 400meters, i. e. every 0.05 meter). gtgt I then graph all of the ISO values for the PSD against the gt spatial gtgt frequencies that I had above. gtgt I am then trying to work backwards to see if I can generate that gt same gtgt graph by using the same road profile, and finding the FFT of it gt and gtgt then the PSD. gtgt i dont know what you mean by sampling frequency Im afraid, maybe gt it gtgt is up there in what i have described gtgt gtgt Thank you so much for your time, I am completely like a fish out gt of gtgt water on this one gtgt gtgt Katherine gtgt gt gt gt What is a watch list You can think of your watch list as threads that you have bookmarked. You can add tags, authors, threads, and even search results to your watch list. This way you can easily keep track of topics that youre interested in. To view your watch list, click on the quotMy Newsreaderquot link. To add items to your watch list, click the quotadd to watch listquot link at the bottom of any page. How do I add an item to my watch list To add search criteria to your watch list, search for the desired term in the search box. Click on the quotAdd this search to my watch listquot link on the search results page. You can also add a tag to your watch list by searching for the tag with the directive quottag:tagnamequot where tagname is the name of the tag you would like to watch. To add an author to your watch list, go to the authors profile page and click on the quotAdd this author to my watch listquot link at the top of the page. You can also add an author to your watch list by going to a thread that the author has posted to and clicking on the quotAdd this author to my watch listquot link. You will be notified whenever the author makes a post. To add a thread to your watch list, go to the thread page and click the quotAdd this thread to my watch listquot link at the top of the page. About Newsgroups, Newsreaders, and MATLAB Central What are newsgroups The newsgroups are a worldwide forum that is open to everyone. Newsgroups are used to discuss a huge range of topics, make announcements, and trade files. Discussions are threaded, or grouped in a way that allows you to read a posted message and all of its replies in chronological order. This makes it easy to follow the thread of the conversation, and to see whatrsquos already been said before you post your own reply or make a new posting. Newsgroup content is distributed by servers hosted by various organizations on the Internet. Messages are exchanged and managed using open-standard protocols. No single entity ldquoownsrdquo the newsgroups. There are thousands of newsgroups, each addressing a single topic or area of interest. The MATLAB Central Newsreader posts and displays messages in the comp. soft-sys. matlab newsgroup. How do I read or post to the newsgroups You can use the integrated newsreader at the MATLAB Central website to read and post messages in this newsgroup. MATLAB Central is hosted by MathWorks. Messages posted through the MATLAB Central Newsreader are seen by everyone using the newsgroups, regardless of how they access the newsgroups. There are several advantages to using MATLAB Central. One Account Your MATLAB Central account is tied to your MathWorks Account for easy access. Use the Email Address of Your Choice The MATLAB Central Newsreader allows you to define an alternative email address as your posting address, avoiding clutter in your primary mailbox and reducing spam. Spam Control Most newsgroup spam is filtered out by the MATLAB Central Newsreader. Tagging Messages can be tagged with a relevant label by any signed-in user. Tags can be used as keywords to find particular files of interest, or as a way to categorize your bookmarked postings. You may choose to allow others to view your tags, and you can view or search othersrsquo tags as well as those of the community at large. Tagging provides a way to see both the big trends and the smaller, more obscure ideas and applications. Watch lists Setting up watch lists allows you to be notified of updates made to postings selected by author, thread, or any search variable. Your watch list notifications can be sent by email (daily digest or immediate), displayed in My Newsreader, or sent via RSS feed. Other ways to access the newsgroups Use a newsreader through your school, employer, or internet service provider Pay for newsgroup access from a commercial provider Use Google Groups Mathforum. org provides a newsreader with access to the comp. soft sys. matlab newsgroup Run your own server. For typical instructions, see: slyckng. phppage2 Select Your Country


No comments:

Post a Comment