Hallo.
Ich habe Probleme bei einer Übungsaufgabe in Matlab, wobei ich die
Aufgabe natürlich selbst implementieren werde und euch nur um ein paar
Tipps bitten möchte.
Der erste Teil der Aufgabe besteht darin in einem Datensatz drei
verschiedene Rausch- und Störungsarten zu erkennen und diese einzeln
herauszufiltern.
Anschließend soll man eine AM und FM Demodulation des gefilterten
Signals vornehmen.
Leider habe ich mit dem ersten Teil der Aufgabe meine Probleme, da das
einzige Rauschen dass ich identifizieren kann additives Gaußsches
Rauschen ist.
Ich habe Matlab ein Plot des verrauschten Signals im Zeitbereich und
dessen Amplitudenspektrum erstellt und hänge es diesem Thread an.
Erkennt jemand von euch noch eine andere Rausch- oder Störungsart?
Naiver Ansatz:
Setze im Spektrum an den Stellen, wo das Sinussignal ist Nullen ein.
Mache eine inverse FFT und subtrahiere dieses Signal von deinem
eigentlichen verrauschten Signal. Es müsste der ziemlich unverrauschte
Sinus übrig bleiben.
Tobias S. schrieb:> Achja, ich sollte wohl noch dazu sagen dass das Trägersignal eine> Carrierfrequenz von 50 Hz hat und mit 2048 Hz gesampelt wurde.
Das sieht man in deinem Amplitudenspektrum: Der Peak vom Träger bei 50Hz
und die Breite von fa/2=1024Hz ;-)
Marek N. schrieb:> Naiver Ansatz:> Setze im Spektrum an den Stellen, wo das Sinussignal ist Nullen ein.> Mache eine inverse FFT und subtrahiere dieses Signal von deinem> eigentlichen verrauschten Signal. Es müsste der ziemlich unverrauschte> Sinus übrig bleiben.
Danke für den Tipp, sowas ähnliches (alles außer dem Bereich um die 50
Hz auf Null zu setzen) habe ich schon gemacht und es hatte auch soweit
funktioniert, allerdings ist die Aufgabe ja drei verschiedene Rausch-
und Störungsarten zu identifizieren und jede davon einzeln zu filtern.
EDIT: Also bevor ich mich nicht detailliert genug ausdrücke versuche ich
es weiter zu beschreiben:
Für jede Rauschart sollen/können wir einen anderen Filter benutzen: Z.B.
FFT-Filter (wie bereits erwähnt), einen simplen Medianfilter,
Wiener-Filter, einen adaptiven Filter usw.
Es sollte halt bestenfalls ein sinnvolles Vorgehen sein und zu der
jeweiligen Rauschart passen.
Wolfgang schrieb:> Tobias S. schrieb:>> Achja, ich sollte wohl noch dazu sagen dass das Trägersignal eine>> Carrierfrequenz von 50 Hz hat und mit 2048 Hz gesampelt wurde.>> Das sieht man in deinem Amplitudenspektrum: Der Peak vom Träger bei 50Hz> und die Breite von fa/2=1024Hz ;-)
Ja stimmt :-)
Hi,
weiß du denn, wie man verschiedene Rauscharten identifiziert? Spektrum
ist ja schonmal ein guter Ansatz, aber es gibt auch Autokorrelation,
Allan Variance und so. Letzteres geht vielleicht etwas zu weit.
Wenn man sich aber stumpf das Zeitsignal anguckt, sind da so einzelne
Peaks drin. Ist das nur jeweils ein Sample oder vielleicht 2? Das wäre
dann sogenanntes https://en.wikipedia.org/wiki/Salt-and-pepper_noise.
Das filterst du am besten mit einem Median Filter im Zeitbereich.
Periodisches "Rauschen" (oder wie bei dir zum Teil auch Nutzdaten)
filtert man mit Notch Filtern im Zeit oder Frequenzbereich. Du könntest
z.B. mal gucken, wie das Rauschen aussieht, wenn du die 50 Hz Signale
temporär wegfilters.
Außerdem hast du einen Gleichanteil, der kann z.B. durch
Mittelwertbildung (nicht gleitend, also kein Filter) eliminiert werden
(vermutlich nach Eliminierung des Salt+Pepper).
Du solltest auch das Spektrum auf der y-Achse in dB skalieren, dann
sieht man deutlich mehr.
Womit ist das Spektrum generiert? pwelch? periodogram?
Weißes Rauschen hast du ja schon gesehen. Dagegen hilft moderate
gleitende Mittelwertbildung.
Hallo Jan K.
Jan K. schrieb:> Hi,>> weiß du denn, wie man verschiedene Rauscharten identifiziert?
Nein, leider nicht. Dashier ist mein erstes mal.
Jan K. schrieb:> Spektrum ist ja schonmal ein guter Ansatz, aber es gibt auch Autokorrelation,> Allan Variance und so. Letzteres geht vielleicht etwas zu weit.>> Wenn man sich aber stumpf das Zeitsignal anguckt, sind da so einzelne> Peaks drin. Ist das nur jeweils ein Sample oder vielleicht 2?
Ich habe gerade mal den Datensatz daraufhin überprüft. Es scheint
jeweils nur Sample zu sein, welches den Peak erzeugt. In dem angehängten
Bild "VerrauschtesSignal" sollte man dies sehen können.
Jan K. schrieb:> Das wäre dann sogenanntes https://en.wikipedia.org/wiki/Salt-and-pepper_noise.> Das filterst du am besten mit einem Median Filter im Zeitbereich.>> Periodisches "Rauschen" (oder wie bei dir zum Teil auch Nutzdaten)> filtert man mit Notch Filtern im Zeit oder Frequenzbereich. Du könntest> z.B. mal gucken, wie das Rauschen aussieht, wenn du die 50 Hz Signale> temporär wegfilters.
Ok, ist erledigt. Ist in der Grafik "50HzGefiltert" zu sehen.
Jan K. schrieb:> Außerdem hast du einen Gleichanteil, der kann z.B. durch> Mittelwertbildung (nicht gleitend, also kein Filter) eliminiert werden> (vermutlich nach Eliminierung des Salt+Pepper).>> Du solltest auch das Spektrum auf der y-Achse in dB skalieren, dann> sieht man deutlich mehr.
Auch erledigt. Ist als "Leistungsspektrum" abgebildet.
Jan K. schrieb:> Womit ist das Spektrum generiert? pwelch? periodogram?
Ich habe die Amplitudenpektra einfach mit dem Matlab-Befehl plot
erzeugt. Zuvor habe ich die Fourier Transformation durchgeführt und aus
den Fourierkoeffizienten das Amplitudenspektrum berechnet.
Die Leistungsspektra habe ich mit dem signalAnalyzer erstellt.
Jan K. schrieb:> Weißes Rauschen hast du ja schon gesehen. Dagegen hilft moderate> gleitende Mittelwertbildung.
Danke vielmals für die Tipps.
Könnte man das DC-Signal als Störung sehen?
Was mir auch noch aufgefallen ist, ist dass der maximale Peak im
Amplitudenspektrum bei 52,5 Hz und nicht bei 50 Hz ist. Die
Carrierfrequenz beträgt allerdings exakt 50 Hz. Hat das was zu bedeuten?
Das kann man in der Grafik "PeakImAmplitudenspektrum" sehen.
Hi zusammen.
Mittlerweile habe ich das Rauschen mehr oder weniger rausfiltern können.
Die Rauscharten/Störungen sind:
- Additives weißes Rauschen, also die Spikes
- "Hintergrundrauschen", also alles was im Amplitudenspektrum kein
Signal ist
- Die Störung ist der extrem hohe Spike bei 52,5 Hz, da der Spike zu
groß ist im Vergleich zu dem eigentlichen Signal bzw. dem 50 Hz Carrier
Nachdem ich das weiße Rauschen mit dem Medianfilter gefiltert habe und
den Fourierkoeffizienten für die Frequenz von 52,5 Hz auf null gesetzt
und somit die Störung gefiltert habe, war das Signal im Zeitbereich
allerdings immer noch nichtssagend. Auch nachdem ich das
Hintergrundrauschen herausgefiltert habe.
In dem Bild "AmplitudenspektrumCarrierNoise" sieht man den Ausschitt im
Amplitudenspektrum um die Carrierfrequenz und dabei ist mir etwas
aufgefallen: Durch die FM-Modulation hat das Signal von 50 Hz aus immer
einen Abstand von +- 2 Hz, also dessen Harmonische, wenn man so will.
Deshalb habe ich alle Fourierkoeffizienten, bis auf die Harmonischen
herausgefiltert und die Harmonischen symmetrisch gemacht.
Das Resultat kann man in dem Bild "AmplitudenspektrumGefiltert" sehen.
Haltet ihr das Vorgehen für korrekt? Mein Gedanke dahiner war halt dass
das Hintergrundrauschen ja auch auf das Signal hinzuaddiert wird und die
Symmetrie dadurch verloren gegangen ist. Also habe ich einfach zwischen
den positiven und negativen Harmonischen jeweils den Mittelwert gebildet
und übernommen. Das resultierende Signal im Zeitbereich ist in
"GefiltertesSignal" zu sehen.
Allerdings sieht das Signal für mich immer noch nicht nach einer
AM-Modulation aus. Was würdet ihr dazu sagen?
Tobias S. schrieb:> Haltet ihr das Vorgehen für korrekt? Mein Gedanke dahiner war halt dass> das Hintergrundrauschen ja auch auf das Signal hinzuaddiert wird und die> Symmetrie dadurch verloren gegangen ist.
Rauschen ist aber selten so offset-behaftet, dass sich so ein Effekt
zeigt. Eher anders herum. Rauschen verschleiert einen möglichen Offset.