|
al3ko |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2011, 17:40
Titel: Kosinus in Matlab
|
|
Hi Leute,
eine simple Aufgabe, für die ich zu blöd bin (oder aber genau das, was ich rausbekomme, ist gewollt):
Ein Kosinussignal soll erstellt werden, das im Interval von 0 bis 2*PI 10 Perioden aufweist. Fürn Plot sollen 100 Punkte verwendet werden.
Mein Ansatz:
Die Funktion lautet f(x)=cos(10*x).
Hier mein Matlab Code:
Das Ergebnis befindet sich im Anhang. Ist mein Ansatz überhaupt richtig? Irgendwie gefällt mir der Plot nicht wirklich
Ich poste hier im Signalverarbeitungsforum, weil das die Einführung in unseren DSP Kurs ist und der Aufgabenzettel mit Sampling, Aliasing etc. zu tun hat.
Über eine Antwort freue ich mich sehr!
Vielen Dank im Voraus.
Gruß,
al3ko
Beschreibung: |
|
Download |
Dateiname: |
Untitled.png |
Dateigröße: |
14.06 KB |
Heruntergeladen: |
1213 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 11.09.2011, 18:14
Titel:
|
|
Hallo,
die Abtastung ist einfach nicht fein genug. Probiers mal mit 1000 Stützpunkten.
Wenn du einen gleichmäßig unterteilten Vektor mit N Stützstellen haben willst, ist LINSPACE übrigens geschickter als : .
Grüße,
Harald
P.S.: bitte in Zukunft dazu sagen, *was* dir an dem Plot nicht gefällt. Das kann man ja nicht immer riechen.
|
|
|
al3ko |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2011, 22:42
Titel:
|
|
|
|
|
Hi Harald.
Danke erstmal für deine Antwort.
Harald hat Folgendes geschrieben: |
die Abtastung ist einfach nicht fein genug. Probiers mal mit 1000 Stützpunkten. |
Das ist genau mein Ansatz bzw. der Aspekt, auf den ich in meiner Ausarbeitung eingehen würde/wollte.
Harald hat Folgendes geschrieben: |
Wenn du einen gleichmäßig unterteilten Vektor mit N Stützstellen haben willst, ist LINSPACE übrigens geschickter als : . |
Ja, von linspace habe ich auch schon gelesen, allerdings hat der Lehrer davon abgeraten (siehe Anhang).
Zitat: |
P.S.: bitte in Zukunft dazu sagen, *was* dir an dem Plot nicht gefällt. Das kann man ja nicht immer riechen. |
Da hast du recht, Harald, das war zu schwammig formuliert. Mir gefällt an dem Plot nicht, dass die Amplitude vom Kosinus von 0 bis ca. Pi abfällt und dann von ca. Pi bis 2*Pi wieder ansteigt. Und wenn ich in der Mitte des Bildes (nämlich bei Pi) eine senkrechte Linie ziehe und die linke Hälfte an der Linie spiegel, dann erkenne ich eine Symmetrie.
Weshalb ich so verwundert bin (und deshalb hier um Hilfe bitte), ist, dass wenn ich meinen Vektor x wie folgt definiere:
besitzt er 101 Elemente, aber bleibt die Amplitude des Kosinus konstant (siehe ebenfalls Anhang).
Beschreibung: |
|
Download |
Dateiname: |
Kosinus.png |
Dateigröße: |
61.25 KB |
Heruntergeladen: |
1161 mal |
Beschreibung: |
|
Download |
Dateiname: |
Aufgabe.png |
Dateigröße: |
42.91 KB |
Heruntergeladen: |
1170 mal |
|
|
|
al3ko |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 11.09.2011, 22:46
Titel:
|
|
Deshalb bin ich mir unsicher, ob ich meinen Vektor x mit
für diese Aufgabenstellung falsch definiere.
Gruß,
al3ko
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 12.09.2011, 00:33
Titel:
|
|
Das ist schon richtig so...
man kann das 2*pi ja auch ausklammern, so dass sich cos(2*pi*f * x) ergibt (wobei f in deinem Bsp = 10 Hz ist). Das Abtasttheorem ist mit fs = 99 Hz (bei 100 Messwerten) zwar nicht verletzt, aber dennoch zu gering um das Signal in den Extrema exakt darzustellen. Bei 101 Werten bzw. fs = 100 ist das halt ein Vielfaches der Signalfrequenz, weshalb du immer die Extremstellen triffst.
Man kann hier LINSPACE sehr wohl verwenden...
|
|
|
al3ko |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.09.2011, 09:27
Titel:
|
|
Hi DSP,
bei mir ist immernoch irgendwo der Wurm drinnen:
DSP hat Folgendes geschrieben: |
Das Abtasttheorem ist mit fs = 99 Hz (bei 100 Messwerten) zwar nicht verletzt, aber dennoch zu gering um das Signal in den Extrema exakt darzustellen. Bei 101 Werten bzw. fs = 100 ist das halt ein Vielfaches der Signalfrequenz, weshalb du immer die Extremstellen triffst. |
Wenn wir 100 Messwerte haben, wieso kommst du auf eine Abtastfrequenz von fs=99 Hz? Wir haben im Bereich von 0 bis 2*pi (eine ganze Periode) 100 Messwerte, dann ist doch die Abtastfrequenz 100 Hz?
Gleiches gilt für 101 Messwerte und fs=100 Hz. Meiner Ansicht nach wären das 101 Hz.
Wieso bin ich immer 1 Hz zu viel - wo ist mein Verständnisproblem?
Aah, moment mal:
Es liegt wahrscheinlich daran, dass wir uns bei 2*pi einmal im Kreis gedreht haben und somit wieder bei 0 sind. Somit ist quasi ein Wert doppelt und zählt auch nur als ein Messwert.
Richtig?
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 12.09.2011, 12:16
Titel:
|
|
Die allgemeine Formel für die Zeitachse t (du hast es x genannt) ist doch
Somit ist doch die Abtastrate Ts = 1/99 und fs = 1/Ts = 99 Hz
|
|
|
al3ko |
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 12.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.09.2011, 14:10
Titel:
|
|
|
|
|
Hi DSP,
danke für deine Antwort. Wäre dann folgende Überlegung richtig:
Die Frequenz des Kosinus beträgt 10 Hz. Laut Abtasttheorem muss meine Abtastfrequenz zwei mal der Frequenz des Signals sein:
fs=2*10 Hz = 20 Hz.
Also brauche ich einen Vektor, der 21 Elemente innehält. Nennen wir diesen Vektor mal x1, dann müsste x1 so lauten:
Somit habe ich einen Vektor, der 21 Elemente hat und demnach ist die Abtastfrequenz 20 Hz, also gerade noch gut genug um das Ursprungssignal rekonstruieren zu können.
Stimmst du damit überein?
Falls ja, wie kann ich das Ursprungssignal rekonstruieren? Wenn ich beispielsweise mit 21 Hz abtaste, ist das Theorem nicht verletzt. Ein einfaches
führt zu lustigen Ergebnissen, siehe Anhang. Wobei, im Prinzip ist es genau dasselbe wie mit 99 Hz. Nur ist es hier um einiges krasser.
Ich bin mit DSP und Fourier noch nicht sehr bewandert. Theoretisch wäre doch der nächste Schritt eine Fourier Analyse, um die Grundwelle und all die Oberwellen zu kommen. Anschließend jagen wir alles durch einen idealen Tiefpassfilter und das Ursprungssignal ist wieder da.
Right?
Danke und Gruß
Beschreibung: |
|
Download |
Dateiname: |
Untitled.png |
Dateigröße: |
49.63 KB |
Heruntergeladen: |
1154 mal |
|
|
|
DSP |
Forum-Meister
|
|
Beiträge: 2.117
|
|
|
|
Anmeldedatum: 28.02.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2014b
|
|
|
|
|
|
Verfasst am: 12.09.2011, 20:51
Titel:
|
|
|
|
|
Im ersten Teil stimme ich dir zu...bei 20 Hz trifft man jeweils die Extrema des Cosinus. Warum dann mit 21 Hz ein für meine Aufassung falsch abgetastetes Signal entsteht, verstehe ich allerdings auch nicht. Es ist einem unterabgetastenten Signal mit fs = 19 Hz sehr ähnlich.
Habe hier noch mal ein kleiner Bsp. wo der Zusammenhang evtl. deutlicher wird. Die Abtastrate ist unabhängig von der Signallänge (Anzahl Messwerte). Die Anzahl der Messwerte hat somit keine Einfluss, sondern bestimmt lediglich die Anzahl der Perioden im Messfenster
Hier habe ich noch ein Verständnisproblem:
Zitat: |
Theoretisch wäre doch der nächste Schritt eine Fourier Analyse, um die Grundwelle und all die Oberwellen zu kommen. Anschließend jagen wir alles durch einen idealen Tiefpassfilter und das Ursprungssignal ist wieder da. |
Wenn das Signal korrekt abgetastet ist und sich zu dem volle Perioden im Messfenster befinden (Vermeidung des Leakage Effekt), wird bei einem Cosinus lediglich eine Spektrallinie gemäß der Signalfrequenz im FFT-Spektrum auftauchen. Warum also Oberwellen und das Filter?
|
|
|
al3ko |
Forum-Anfänger
|
|
Beiträge: 16
|
|
|
|
Anmeldedatum: 12.09.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.09.2011, 21:35
Titel:
|
|
|
|
|
Hallo DSP,
DSP hat Folgendes geschrieben: |
Wenn das Signal korrekt abgetastet ist und sich zu dem volle Perioden im Messfenster befinden (Vermeidung des Leakage Effekt), wird bei einem Cosinus lediglich eine Spektrallinie gemäß der Signalfrequenz im FFT-Spektrum auftauchen. Warum also Oberwellen und das Filter? |
So steht es in meinem Buch:
"...f(t) can be recovered from its samples f_hat(t) by passing the sampled signal f_hat(t) through an ideal low pass filter of bandwidth B Hz."
Ferner steht geschrieben:
"The process of reconstructing... is also known as interpolation... This reconstruction is accomplished by passing the sampled signal through an ideal lowpass filter of bandwidth B Hz..."
Signal Processing and Linear Systems by Lathi.
Dort ist auch noch eine Formel mit angegeben, für die ich aber zu faul bin, das abzutippen. Im Anhang kann man sie finden (Gleichung 5.3).
Deshalb fragte ich nach, wie man aus den 21 Messwerten das Originalsignal wiederherstellen kann (gibt es dafür eine bestimmte Funktion bereits in Matlab?).
Ich frage sonst am Donnerstag mal meinen Professor, wobei ich mir sicher bin, dass wir das noch behandeln werden (hatten erst zwei Vorlesungen in DSP und gerade mal Anfänge behandelt).
Gruß
Beschreibung: |
|
Download |
Dateiname: |
Untitled.png |
Dateigröße: |
81.08 KB |
Heruntergeladen: |
1134 mal |
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|