Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

FREEMAT Σήμα και θόρυβος.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "FREEMAT Σήμα και θόρυβος."— Μεταγράφημα παρουσίασης:

1 FREEMAT Σήμα και θόρυβος

2 Ορισμοί Τα σήματα και συστήματα που θα χρησιμοποήσουμε στο μάθημα είναι κυρίως αναλογικά (συνεχούς χρόνου). Υποθέστε ένα σήμα συνεχούς χρόνου x(t) με μετασχηματισμό Fourier (Continuous Time Fourier Transform – CTFT):

3 Ορισμοί Συχνότητα : Εκφράζει την οξύτητα του ήχου, διαμορφώνεται από το περιεχόμενο του ηχητικού σήματος σε χρονικό διάστημα 20 με 200 msec Ακουστότητα : Εκφράζει την ένταση του ήχου η οποία μετράται συνήθως σε dB (0 dB κατώφλι και 140 dB όριο πόνου) Χροιά : Αναφέρεται σε υποκειμενικό χαρακτηριστικό του ήχου

4 Αναλογικό σήμα σε ψηφιακό
Αλλιώς Ψηφιοποίηση Η μετατροπή αναλογικού σήματος σε ψηφιακό ή αλλιώς η διαδικασία της ψηφιοποίησης λαμβάνει χώρα στο πεδίο του χρόνου (δειγματοληψία) και στο πεδίο του πλάτους (κβαντισμός).

5 Δειγματοληψία Το προκύπτον σήμα περιλαμβάνει συγκεκριμένο αριθμό δειγμάτων αναλογικού σήματος σε χρονικές στιγμές που απέχουν χρονικό διάστημα Ts (περίοδος δειγματοληψίας) και ανήκουν σε καθορισμένο χρονικό παράθυρο. Το σήμα που προκύπτει χαρακτηρίζεται και ως σήμα διακριτού χρόνου. Η επιλογή της Ts καθορίζεται από το θεώρημα του Shannon – Nyquist, σύμφωνα με το οποίο η συχνότητα δειγματοληψίας fs = 1/Ts πρέπει να είναι μεγαλύτερη ή ίση από το διπλάσιο της μέγιστης συχνότητας της φασματικής απεικόνισης του αναλογικού σήματος.

6 Μας χρειάζονται: Ένα συνεχές σήμα x(t) το οποίο απεικονίζεται με το διάνυσμα [x(0), x(1), … , x(L-1)] μήκους L, που προκύπτει από ακρωτηριασμό (περιορισμό της διάρκειάς του) στo διάστημα [0, T] και δειγματοληψία στα σημεία tn = nTs, όπου Ts η περίοδος δειγματοληψίας. Η συχνότητα δειγματοληψίας fs=1/Τs επιλέγεται πολύ μεγαλύτερη από τη συχνότητα Nyquist, ώστε το δειγματοληπτημένο σήμα να «μοιάζει» με αναλογικό. Ένας πρακτικός κανόνας είναι 10 φορές η μέγιστη συχνότητα του σήματος. Η διάρκεια T = LTs του σήματος επιλέγεται αρκετά μεγάλη ώστε να έχουμε ικανοποιητική πληροφορία. Στο πεδίο συχνότητας το σήμα απεικονίζεται με διάνυσμα [X(0), X(1), … , X(N-1)] μήκους N που αντιστοιχεί σε N ισαπέχουσες διακριτές συχνότητες στο διάστημα [0, fs] με ανάλυση fo=fs/Ν=1/(NΤs). Συνήθως, λαμβάνουμε το N να είναι δύναμη του 2 μεγαλύτερη ή ίση από το μήκος L του σήματος για λόγους βελτιστοποίησης των υπολογισμών του FFT, παρότι στην πράξη N=L έχει ελάχιστη διαφορά στους χρόνους εκτέλεσης. Για την αμφίπλευρη αναπαράσταση στο πεδίο συχνοτήτων ολισθαίνουμε τις τιμές κατά fs /2 προς τα αρνητικά, ώστε το μηδέν να βρεθεί στο μέσο του διαστήματος (αυτό γίνεται στο MATLAB με τη συνάρτηση fftshift).

7 Δημιουργία ημιτονοειδούς σήματος
Fs=500; % συχνότητα δειγματοληψίας 500 Hz Ts=1/Fs; % περίοδος δειγματοληψίας T=0.1; % διάρκεια του σήματος 0.1 sec t=0:Ts:T-Ts; % χρονικές στιγμές δειγματοληψίας A=1; % πλάτος σήματος x=A*sin(2*pi*50*t); % διάνυσμα σήματος L=length(x); % μήκος διανύσματος plot(t,x) % σχεδιάγραμμα συνάρτηση του χρόνου pause % αναμονή, πιέστε ένα πλήκτρο για να συνεχίσετε Ορίστε την μεταβλητή δειγματοληψίας Fs στα 500 Hz Ορίστε την περίοδο δειγματοληψίας Τs=1/Fs Ορίστε τις χρονικές στιγμές t δειγματοληψίας από 0 ως T-Τs με βήμα Τs όπου Τ=0.1 Ορίστε το πλάτος σήματος Α στην τιμή 1 Το διάνυσμα σήματος δίνεται από την σχέση x=A*sin(2*pi*50*t) Το μήκος L του διανύσματος x δίνεται από την συνάρτηση length Εμφανίστε το διάγραμμα του διανύσματος σε συνάρτηση του χρόνου

8 Ορίστε την μεταβλητή δειγματοληψίας Fs στα 900 Hz
Ορίστε την περίοδο δειγματοληψίας Τs=1/Fs Ορίστε τις χρονικές στιγμές t δειγματοληψίας από 0 ως T-Τs με βήμα Τs όπου Τ=2 η διάρκεια του σήματος Ορίστε το πλάτος σήματος Α στην τιμή 1 Το διάνυσμα σήματος δίνεται από την σχέση x=A*sin(2*pi*50*t) Το μήκος L του διανύσματος t δίνεται από την συνάρτηση length Ακούστε το σήμα που δημιουργήσατε με τη συνάρτηση wavplay Εμφανίστε το διάγραμμα του διανύσματος σε συνάρτηση του χρόνου Δημιουργήστε θόρυβο με την συνάρτηση randn(1,μηκος) Προσθέστε το θόρυβο στο αρχικό σήμα Ακούστε το νέο σήμα και οπτικοποιήστε το Προσπαθήστε να αφαιρέσετε το θόρυβο αφαιρώντας τις συναρτήσεις mean, var και sqrt του θορύβου από το προκύπτον σήμα

9 Μετασχηματισμός Fourier του ημιτονοειδούς σήματος
Το μήκος μετασχηματισμού σήματος Ν είναι ίσο με το μήκος του διανύσματος x Η συχνότητα δειγματοληψίας Fo είναι ίση με την συχνότητα προς το μήκος μετασχηματισμού Χρησιμοποιείστε την συνάρτηση fft με ορίσματα το διάνυσμα και το μήκος μετασχηματισμού για να υπολογίσετε την μεταβλητή Fx διακριτού μετασχηματισμού Fourier (DFT) για Ν σημεία Ορίστε το διάνυσμα συχνοτήτων freq από 0 εώς N-1 πολλαπλασιασμένο με Fo Εμφανίστε το πλάτος του FFT χρησιμοποιώντας το διάνυσμα συχνοτήτων και την απόλυτη τιμή του Fx Δώστε τίτλο 'FFT‘ στο διάγραμμα Χρησιμοποιείστε την συνάρτηση axis([ L/2]) για εμφάνιση στην περιοχή 0 έως 100 με κλίμακα 0 έως L/2 N=1*L; % μήκος μετασχηματισμού Fourier Fo=Fs/N; % ανάλυση συχνότητας Fx=fft(x,N); % Αριθμητικός υπολογισμός του διακριτού μετασχηματισμού % Fourier (DFT) για Ν σημεία. Εάν το μήκος του x είναι % μικρότερο του Ν, το x θα παραγεμισθεί με μηδενικά % μέχρι το μήκος N freq=(0:N-1)*Fo; % διάνυσμα συχνοτήτων plot(freq,abs(Fx)) % πλάτος του FFT title('FFT') % τίτλος διαγράμματος pause % αναμονή, πιέστε ένα πλήκτρο για να συνεχίσετε axis([ L/2])% εμφάνιση στην περιοχή 0 έως 100 με κλίμακα 0 έως L/2

10 Υπολογισμός της ισχύς του ημιτονοειδούς σήματος
power_theory=A^2/ % ισχύς βάση της θεωρίας dB=10*log10(power_theory) % σε dB power_time_domain=sum συνέχεια στην επόμενη γραμμή (abs(x).^2)/L % υπολογισμός στο πεδίο του χρόνου power_frequency_domain=sum ... συνέχεια στην επόμενη γραμμή (power)*Fo % υπολογισμός στο πεδίο συχνότητας

11 Επιπλέον άσκηση Μετατρέψτε τις τιμές της συχνότητας δειγματοληψίας και συγκρίνατε τα αποτελέσματα για τις τιμές fs=500, και 2000 Hz. Για fs=500 μεταβάλετε το μήκος του μετασχηματισμού Fourier στις τιμές N=L, 2L, 8L και παρατηρείστε πώς εκδηλώνεται το φαινόμενο της φασματικής διαρροής. Πώς αλλάζει η πυκνότητα φάσματος ισχύος με την αύξηση του N; Μεταβάλλεται τη διάρκεια T του σήματος σε 0.1, 0.5, 1 και θέστε N=2L. Συγκρίνατε τα αποτελέσματα για τις τιμές

12 Εντολή plot με πολλαπλές μεταβλητές
x=linspace(0,6*pi,600); y1=sin(x); y2=sin(x)-1; y3=sin(x)-2; plot(x,y1,x,y2,x,y3)

13 Πολλαπλές εντολές plot
x=linspace(0,6*pi,600); y1=sin(x); y2=sin(x)-1; y3=sin(x)-2; plot(x,y1); hold on; plot(x,y2); plot(x,y3); hold off;

14 Πολλαπλές εντολές line
clf; x=linspace(0,6*pi,600); y1=sin(x); y2=sin(x)-1; y3=sin(x)-2; line(x,y1); line(x,y2); line(x,y3);

15 Χρώματα γραφημάτων 'b' - Color Blue 'g' - Color Green 'r' - Color Red
'c' - Color Cyan 'm' - Color Magenta 'y' - Color Yellow 'k' - Color Black --> x=linspace(-3,3,1000); --> y=exp(-x.^2).*sin(10*pi*x); --> plot(x,y,'r') --> close('all') --> x=linspace(-3,3,1000); --> line(x,y,zeros(1,length(x)),'color','y');

16 Χρωματισμός περιοχών clear all; close('all'); % Create the Gaussian curve as an anonymous function ((1/sqrt(2*pi))*exp((-x.^2)/2)); % Set the various limits for the graph and the highlighted section start_x=-3; % The lower limit of the graph stop_x=3; % The upper limit of the graph start_point=-1; % Set the lower limit for highlighting stop_point=0.3; % Set the upper limit for highlighting. steps=600; xx=linspace(start_x,stop_x,steps); % Create the x- and y-axis arrays for the curve itself. yy=fcn(xx); plot(xx,yy); % Plot the Gaussian curve. x=linspace(start_point,stop_point,steps); % Calculate the x-axis and y-axis values for the zig-zag line y=fcn(x); % Calculate the top of the highlighted section. c=1:(2*steps); % Counter to create the x-axis values. c2=2:2:(2*steps); % Counter to create the y-axis values. xx(c)=x(ceil(c/2)); % Repeat each x-axis value so that each one is doubled. yy=zeros(1,length(xx)); % Set all y-axis values to zero. yy(c2)=y(c2/2); % Set every other y-axis value to that of the graph. line(xx,yy,zeros(1,length(xx)),'color','y'); % Plot the highlighted section

17 Χρωματισμός γραμμών με μη στάνταρ χρώματα
clear all; close('all') x=linspace(0,6,600); y=x*sin(10*x)*exp(-x); figure(1); hold on; set(gca,'colororder',[(144/256) (88/256) 0]); plot(x,y); ή z=zeros(1,length(x)); line(x,y,z,'color',[(144/256) (88/256) 0]);

18 Πάχος γραμμής plot(x,'linewidth',n)
line(x,y,z,'linewidth',n) όπου: x, y, z = τα arrays για τους άξονες x-, y- and z. n = ακέραιος στο διάστημα για επιλογή πάχους . x=linspace(0, 4*pi, 600); y=cos(x); plot(x,y,'linewidth',1); x=linspace(0,4*pi,600); z=zeros(1,length(x)); line(x,y,z,'linewidth',10);

19 Είδος γραμμής '-' - (hyphen) Solid line style
':' - (colon) Dotted line style '-.' - (hyphen followed by a period) Dot-Dash-Dot-Dash line style '--' - (two hyphens in a row) Dashed line style close('all') t=linspace(0,8*pi,256); y=sin(t)-(1/3)*sin(3*t)+(1/5)*sin(5*t); line(t,y,zeros(1,length(t)),'color','g','linestyle',':');

20 Αποθήκευση εικόνας t=linspace(0,2,1000); f=3; % Frequency in Hz. y=cos(2*pi*f*t); plot(t,y) print('testfile.png')

21 Δημιουργία περισσότερων παραθύρων
Χρησιμοποιούμε την εντολή figure (..) πριν από κάθε εντολή plot. Στη πράξη, η εντολή figure (..) παράγει ένα νέο παράθυρο με αριθμό αυτόν που δηλώνεται μεταξύ των παρενθέσεων. Στο νέο παράθυρο εκτελείται η εντολή plot. Σε περίπτωση που χρειάζονται πολλαπλές γραφικές παραστάσεις σε ένα παράθυρο χρησιμοποιείται η εντολή subplot(n1,n2,n3), όπου το παράθυρο θα χωριστεί σε n1xn2 τεμάχια και η γραφική παράσταση θα εμφανιστεί στο n3 τεμάχιο.

22 Άσκηση Ορίστε τη μεταβλητή t ως πίνακα-γραμμή με τιμές τους διαδοχικούς αριθμούς από 0 ως 4π με βήμα 0.1 Προσδιορίστε τις συναρτήσεις : Sin=sin(t) Cos = cos(t) Tan = tan(t) Sin2=sin2(t) Cos2 = cos2(t) Εφαρμόστε τις κατάλληλες εντολές ώστε να δημιουργηθεί ένα παράθυρο με 5 τεμάχια σε καθένα από τα οποία να εμφανίζεται μία από τις συναρτήσεις.


Κατέβασμα ppt "FREEMAT Σήμα και θόρυβος."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google