Audiotechnik II Digitale Audiotechnik:. Übung Prof. Dr. Stefan Weinzierl 3..4 Musterlösung: 3. Oktober 4, 6:4 Amplitudenstatistik analoger Signale a) Ein Signal (t) hat die durch die Abbildung gegebene Wahrscheinlichkeitsdichtefunktion (WDF bzw. PDF), die durch die Punkte P ( ), P ( a) und P 3 ( ) verläuft. Wählen Sie a so, dass die durch Gl. gegebene Voraussetzung erfüllt ist. Veranschaulichen Sie sich diese Voraussetzung. p X () a p X ()d () Zunächst wird die WDF durch zwei Geradengleichungen beschrieben: { a + a, für p X () a + a, für <. Dann kann a berechnet werden: p X () d! a (a + a) d + ( a + a) d ( + ) d + ( + ) d a ( [ + a ] ( + [ + ( ] ) ) + ) a Da das Integral die Fläche unter der WDF angibt, kann a auch einfach über den Flächeninhalt eines Dreiecks der Breite und der Höhe a berechnet werden. Die Normierung von Gl. besagt, dass zu jedem Zeitpunkt eine Amplitude auftreten muss.
b) Berechnen Sie das lineare und quadratische Mittel von (t), sowie dessen Varianz. Der lineare Mittelwert (auch Erwartungswert. Ordnung oder. Moment genannt) ergibt sich zu: E{X} p X () d µ (( + )) d + ( + ) d + (( + )) d ( + ) d [ 3 3 + ] + [ 3 3 + ] ( + ( ) 3 ) + 3 + Der quadratische Mittelwert (auch Erwartungswert. Ordnung oder. Moment genannt) ergibt sich zu: E{X } p X () d ( ( + )) d + ( 3 + ) d + ( 4 3 ( ( + )) d ( 3 + ) d [ 4 4 + 3] + [ 3 4 4 + 3] 3 ) ( ) + 4 + 3 3 6 Es zeigt sich schnell, dass die Varianz in diesem Fall gleich dem quadratischen Mittelwert ist: E{ X µ X } µ X p X () d σ p X () d E{X } Es kann aber auch allgemein gezeigt werden, dass zunächst linearer und quadratischer Mittelwert berechnet werden können, um anschlieÿend die Varianz zu berechnen (Verschiebungssatz). E { X µ X } µ p X ()d p X ()d µ X p X ()d +µ X p X ()d } {{ } E{X } } {{ } µ X } {{ } E { X } µ X + µ X E { X } µ X c) Veranschaulichen Sie, warum Signale mit einer um gerade symmetrischen WDF immer mittelwertfrei seien müssen.
Ist ein Signal mittelwertfrei, hat es einen Mittelwert von. Der Mittelwert ist gegeben durch: E{X} p X ()d () Abb. veranschaulicht dies. Die gerade symmetrische Wahrscheinlichkeitsdichtefunktion p X () wird mit der ungerade symmetrischen Funktion y() multipliziert. Der Flächenanteil im Bereich y < erhält dadurch ein negatives Vorzeichen, und die Flächenanteile links und rechts der y-achse heben sich gegenseitig auf. Der linear Mittelwert ist also immer Null, wenn p X () gerade symmetrisch ist. y() p X () y() p X () + Abbildung : Erwartungswert bei gerade symmetrischer WDF 3
Amplitudenstatistik digitaler Audiosignale Lesen Sie die Audiodatei music.wav aus dem Downloadbereich in Matlab ein. a) Welche Abtastfrequenz, Wortbreite und Länge (in Sekunden) weist die Audiosequenz auf? Wie viele Kanäle? %% a) clear; % Abtastfrequenz und Wortbreite der Audiodatei bestimmen [y,fs,bits]wavread('music'); disp( size( y, ) ); length_y length(y)/fs; % --> Fs44 --> bits6 --> Kanalfile --> 6.56 Sekunden lang b) Plotten Sie die Amplituden der Samples bis 3 für den rechten und linken Kanal. %% b) figure; plot( y( :3, : ) ); % oder: plot( y ); lim( [ 3 ] ); legend( 'linker Kanal', 'rechter Kanal' ); ylabel( '[n]' ); label( 'n' ); grid on;.8 linker Kanal rechter Kanal.6.4. [n]..4.6.8 3 4 5 6 7 8 9 3 n c) Wie groÿ ist die Maimalamplitude des Signales für rechten und linken Kanal in db FS (db full scale)? 4
Fullscale bezieht sich auf ein voll ausgesteuerte.wav-file, welches einen Wertebereich von [, [ darstellen kann. Die lineare Amplitude muss also mit normiert werden, bevor der Logarithmus berechnet wird. Eine Amplitude von entspricht also db FS. %% c) % Maimalamplituden des rechten/linken Kanals in dbfs bestimmen dbfs_links *log(ma(abs(y(:,)))); %-->.778 dbfs dbfs_rechts*log(ma(abs(y(:,)))); %-->.4435 dbfs d) Wie lautet Gl. 3 für ein zeit- und wertediskretes Signal? p X ()d! (3) Das Integral wird zur Summe, die über die Wahrscheinlichkeiten der N diskreten Amplitudenstufen läuft. Die Fläche einer Amplitudenstufe ergibt sich durch Multiplikation mit der Stufenbreite. N! p X ( i ) i i e) Berechnen Sie eine WDF für die Amplituden innerhalb der Audiosequenz. Teilen Sie dafür den Amplitudenbereich in äquidistante Intervalle, berechnen Sie die Anzahl der Samples in diesen Intervallen und skalieren Sie die Verteilungsfunktion so, dass die Normierung nach Gl. 3 erfüllt ist. %% e) % WDFs der Amplituden beider Audiokanaele berechnen % normiere Flaeche der WDF auf % Absolute Haufigketen durch Auszaehlung der Amplitudenanzahl innerhalb % diskreter aequidistanter Intervalle??>Histogramm nbins; % Intervallanzahl [h, intervallmitten] hist(y,nbins); %??> zeigt Anzahl der Haeufigkeiten in den Intervallen % zwischen Ma und Min von y getrennt fuer linken und rechten Kanal; % Mittelung ueber rechten und linken Kanal h mean(h, ); % WDF durch Normierung der Flaeche des Histogramms auf : % Dazu dividiere Anzahl pro bin durch Gesamtanzahl der Samples UND % (!) Intervallbreite der Histogrammbalken intervallbreite ( ma(y(:)) + abs(min(y(:))) ) / nbins; wdf h / (sum(h * intervallbreite)); % Plot figure; plot(intervallmitten,wdf); title('wdf linker und rechter Kanal gemittelt') label('') ais([- 5]) ylabel( '$p_x()$', 'interpreter', 'late' ); grid on; 5
5 WDF linker und rechter Kanal gemittelt 4.5 4 3.5 3 px().5.5.5.8.6.4...4.6.8 f ) Plotten Sie im Vergleich dazu die WDF für die Amplituden eines vollausgesteuerten Sinussignals und einer vollausgesteuerten weiÿen Rauschfolge. Erzeugen Sie hierfür ein Sekunde langes Sinussignal mit der Frequenz f khz und der Abtastfrequenz 44 Hz, sowie je eine weiÿe Rauschfolge mit normal- und gauÿverteilter Amplitude mit identischer Dauer und Abtastfrequenz wie der Sinus. Geben Sie zur Hörkontrolle alle Signale über die Audiokarte Ihres Rechners aus. Stellen Sie Ihre Hardware entsprechend leise, die Signale sind voll ausgesteuert! Matlab-Funktionen: wavread, plot, hist, ma, min, abs, rand, randn, soundsc %% f) %Plotte WDFs von Sinuston und weissem Rauschen (sec) nbins ; fs 44; n (:fs).'; % Spaltenvektor % khz Sinus f_sin ; sinus sin(n**pi*f_sin/fs); % gleichverteiltes Rauschen: sec bei fs44hz; noise_uni (rand(44,)-.5)*; % gaussverteiltes Rauschen noise_gauss randn(44,); % Absolute Haeufigkeiten [h_sin, sin_mitten] hist(sinus,nbins); [h_noise_uni, noise_uni_mitten] hist(noise_uni,nbins); [h_noise_gauss, noise_gauss_mitten] hist(noise_gauss,nbins); % Intervallbreite intervallbreite_sinus ( ma(sinus) + abs(min(sinus)) ) / nbins; intervallbreite_noise_uni ( ma(noise_uni) + abs(min(noise_uni )) ) / nbins; intervallbreite_noise_gauss ( ma(noise_gauss) + abs(min(noise_gauss)) ) / nbins; % WDF durch Normierung wdf_sinus h_sin / (sum(h_sin) * intervallbreite_sinus); wdf_noise_uni h_noise_uni / (sum(h_noise_uni) * intervallbreite_noise_uni); 6
wdf_noise_gauss h_noise_gauss / (sum(h_noise_gauss) * intervallbreite_noise_gauss); %Plots figure subplot(3,,) plot(sin_mitten,wdf_sinus); title('wdf Sinus') label(''), ais([- 4]) ylabel('$p_x()$', 'interpreter', 'late' ); subplot(3,,) plot(noise_uni_mitten,wdf_noise_uni) title('wdf weisses, gleichverteiltes Rauschen') label('') ais([- ]); ylabel('$p_x()$', 'interpreter', 'late' ); subplot(3,,3) plot(noise_gauss_mitten,wdf_noise_gauss) title('wdf weisses, normalverteiltes Rauschen') label('') ais([-.5]); ylabel('$p_x()$', 'interpreter', 'late' ); %% Audiowiedergabe soundsc(noise_uni, fs); soundsc(noise_gauss, fs); soundsc(sinus, fs); 4 WDF Sinus px().8.6.4...4.6.8 WDF Sek. weisses, gleichverteiltes Rauschen px().5.5.5.5.5 WDF Sek. weisses, normalverteiltes Rauschen.4 px().3...5.5.5.5 7