ntua-cvsp-lab / DSP_LabSupport

Here the students of the 2019-2020 DSP course can submit questions regarding the course to the teaching assistants.
7 stars 3 forks source link

[Assignment 3] [python] AWGN production #80

Open odychlapanis opened 4 years ago

odychlapanis commented 4 years ago

Για την Αναλυτική άσκηση 3.4 από την 3η σειρά Αναλυτικών χρειάστηκε να φτιάξω λευκό προσθετικό γκαουσιανό θόρυβο (δεν αναφέρεται κάπου αλλά υπέθεσα ότι εννοεί γκαουσιανό). Χρησιμοποίησα την εντολή v[i]=np.random.normal(0,1) αλλά το αποτέλεσμα του περιοδογράμματος (μόνο του θορύβου μου φαίνεται τελείως λάθος. Πώς υλοποιείται ο AWGN γενικά? image

cgaroufis commented 4 years ago

Καλησπέρα,

Η υλοποίηση του λευκού θορύβου γίνεται όντως μέσω της συνάρτησης numpy.random.normal() της numpy (με ορίσματα τη μέση τιμή, την τυπική απόκλιση και τον αριθμό δειγμάτων του θορύβου). Το περιοδόγραμμα του λευκού θρούβου θα πρέπει να βγει θεωρητικά μία ευθεία γραμμή που να καλύπτει όλο το φάσμα των συχνοτήτων - στην πράξη, συγκλίνει εκεί για πολύ μεγάλο πλήθος σημείων (επισυνάπτω averaged περιοδόγραμμα για λευκό θόρυβο 10000 σημείων, για παράθυρο 100 δειγμάτων και 128 σημεία DFT).

whitenoise_periodogram

Γενικά αυτό το οποίο "φεύγει" στο περιοδόγραμμά σου δεν είναι τόσο η μορφή όσο το πλάτος του θορύβου - τσέκαρε ότι ο θόρυβος έχει νορμάλ τιμές στο πεδίο του χρόνου (για σ=1, προσεγγιστικά στο [-4,4]) και ότι μετά κανονικοποιείς το περιοδόγραμμα σωστά.

Καλή συνέχεια, Χρήστος