ZEITDISKRETE SIGNALE (DISCRETE-TIME SIGNALS)

STUDIENBRIEF DSV ZEITDISKRETE SIGNALE MARTIN W ERNER FULDA 2016

│2

Inhalt 1 2.1 2.2 2.3 2 2.4 2.5 2.6 2.7 2.8 2.9 3 4 5 6 7

Elementare zeitdiskrete Signale ................................................................................ 3 Grundlagen .......................................................................................................... 3 Vorbereitende Aufgaben...................................................................................... 6 Versuchsdurchführung......................................................................................... 7 Audiosignale ............................................................................................................. 7 Töne, Klänge und Geräusche............................................................................... 8 Beispiel: Synthese eines Audiosignals ................................................................ 8 ADSR-Profil ...................................................................................................... 10 Harmonische ...................................................................................................... 12 Vorbereitende Aufgaben.................................................................................... 12 Versuchsdurchführung....................................................................................... 12 Zusammenfassung .................................................................................................. 13 Quiz......................................................................................................................... 14 Lösungshinweise..................................................................................................... 15 Literatur und Quellen .............................................................................................. 17 Sachverzeichnis ...................................................................................................... 17

Schlüsselbegriffe Abtastung, ADSR-Hüllkurve, Analog-Digital-Umsetzung, Audiosignal, Geräusch, Grundschwingung, Harmonische, Impulsfolge, Klang, MATLAB, Oberwellen, Spiegelfrequenz, Sprungfolge, Stabdiagramm, Ton, Zeit FrequenzDarstellung Lernziele Nach Bearbeiten des Versuches können Sie • die Impulsfolge, die Sinus- und die Kosinusfolge analytisch und grafisch darstellen; • einfache MATLAB-Befehle zur Erzeugung von Signalen und ihre bildliche Darstellung anwenden; • mit MATLAB Audiosignale generieren und hörbar machen; • die Bedeutung der Abtastfrequenz für Audiosignale erklären; • einfache MATLAB-Programme verstehend lesen und erklären. MATLAB® ist ein eingetragenes Warenzeichen der Firma The MathWorks, Inc., U.S.A.

DSV Zeitdiskrete Signale Martin Werner 2016

│3

1

Elementare zeitdiskrete Signale

Dieser Versuch macht Sie mit einfachen zeitdiskreten Signalen vertraut. Dazu gehören in der Vorbereitung die Angabe von zeitdiskreten Signalen als mathematische Funktionen und ihre grafischen Darstellungen. In der Versuchsdurchführung überprüfen Sie Ihre Ergebnisse aus der Vorbereitung mit MATLAB. Sie erzeugen die Signale am PC und stellen sie grafisch dar. Der zweite Teil des Versuchs stellt Ihnen bereits eine anspruchsvolle Aufgabe, bei der Sie mit MATLAB beispielhaft Audiosignale, kurze Musikstücke, generieren und am PC hörbar machen. Eine übliche Sound Card (Audiokarte) am PC wird vorausgesetzt.

2.1 Grundlagen Zeitdiskretes Signal. Ein Signal ist eine mathematische Funktion von mindestens einer unabhängigen Variablen x(t), wobei im Folgenden − falls nicht anders erwähnt − t als die Zeit interpretiert wird. Ist die Variable t kontinuierlich, so liegt ein zeitkontinuierliches Signal vor. Ist t nur für diskrete Werte definiert, so spricht man von einem zeitdiskreten Signal oder einer Folge x[n]. Der Laufindex n heißt dementsprechend Zeitindex oder normierte Zeitvariable. Kurze zeitdiskrete Signale werden einfach durch Angabe ihrer Werte charakterisiert, wie beispielsweise x[n] = {0, 1, 1, 4}

mit n ∈ {0, 1, 2, 3} oder

x[n] = {1, 1/2, 1/3, 1/4, 1/5, ...}

mit n = 0, 1, 2, ...

Der erste Signalwert gehört in der Regel zum Index n = 0, der zweite zu n = 1, usw. Falls nötig werden Folgen endlicher Länge durch führende bzw. nachfolgende Nullen ergänzt. Man spricht von einer rechtsseitigen Folge, wenn x[n] = 0 für n < 0. Standardsignale. Im Folgenden werden einige für die digitale Signalverarbeitung typische Signale betrachtet. In den vorbereitenden Aufgaben sollen Sie diese von Hand skizzieren, um die Ergebnisse dann in der Versuchsdurchführung mit MATLAB zu kontrollieren. Zunächst werden die mathematischen Definitionen vorgestellt:

− Impulsfolge und Sprungfolge δ [ n] = 

1 für n = 0 0 sonst

(1.1)

1 für n ≥ 0 u [ n] =  0 sonst

(1.2)

Die beiden Signale sind in Abb. 1-1 im Stabdiagramm zu sehen.

DSV Zeitdiskrete Signale Martin Werner 2016

│4

δ[n]

u[n] 1

1

−5

0

n −5

5

0

n 5

Abb. 1-1 Impulsfolge δ[n] und Sprungfolge u[n]



Sinus- und Kosinusfolge mit der normierten Kreisfrequenz Ω und der eulerschen Zahl e = 2.71828... n x [= n ] e j⋅Ω⋅ = cos ( Ω ⋅ n ) + j⋅ sin ( Ω ⋅ n )

(1.3)

Abtastung. Häufig entsteht die Folge x[n] durch eine gleichförmige zeitliche Diskretisierung eines Signals x(t). Man spricht von der (idealen) Abtastung und der Abtastfolge mit dem Abtastintervall Ts.

x [ n ]= x ( t= n ⋅ Ts )

(1.4)

Der Index s erinnert an die englische Bezeichnung Sampling Operation für die Abtastung. Ideale Abtastung bedeutet, dass die Funktionswerte nicht verändert werden. Die reale Abtastung durch Analog-Digital-Umsetzer (ADU) liefert hingegen zeit- und wertdiskrete Folgen. Man spricht dann von der Digitalisierung und einem digitalen Signal. Im Weiteren wird, falls nicht ausdrücklich anders erwähnt, der diskrete Charakter der Maschinenzahlen in MATLAB vernachlässigt. Wegen der großen Wortlänge der Zahlendarstellung in MATLAB ist dies in vielen Anwendungen gerechtfertigt, siehe auch das Programmbeispiel 1.1 und die MATLAB-Konstante eps (Werner, 2016). Sinusfunktion. Zur Beschreibung periodischer Phänomene in der Natur werden oft sinusförmige Funktionen verwendet. Wir wählen deshalb als einführendes Beispiel die Sinusfunktion

x ( t ) =xˆ ⋅ sin ( 2π ⋅ f 0 ⋅ t )

(1.5)

mit der Amplitude xˆ und der (Signal-)Frequenz f0 und der Zeit t. Häufig handelt es sich in der digitalen Signalverarbeitung bei den Parametern um physikalische, also dimensionsbehaftete Größen, wie die elektrische Spannung in Volt (V), die Frequenz in Hertz (Hz) und die Zeit in Sekunden (s). In der digitalen Signalverarbeitung werden die Größen dimensionslos dargestellt. Dies geschieht nach Normierung mit den entsprechenden Bezugsgrößen. Im Beispiel bietet es sich an die Größen auf 1 V, 1 Hz bzw. 1 s zu beziehen, sodass bei Bedarf die Verbindung zu den physikalischen Größen hergestellt werden kann. Mit dem Abtastintervall Ts und der normierten Zeitvariablen n ist die zugehörige Abtastfolge DSV Zeitdiskrete Signale Martin Werner 2016

│5

x [ n ] = xˆ ⋅ sin ( 2π ⋅ f 0 ⋅ Ts ⋅ n ) .

(1.6)

Für eine kompakte Beschreibung ist es günstig, die konstanten Anteile im Argument der Sinusfunktion zur normierten Kreisfrequenz Ω zusammenzufassen.

x [ n ] = xˆ ⋅ sin ( Ω0 ⋅ n )

(1.7)

Ω0 = 2π ⋅ f 0 ⋅ Ts .

(1.8)

mit

Wählen wir beispielsweise das Abtastintervall Ts =

1 8 ⋅ f0

(1.9)

so erhalten wir die normierte Kreisfrequenz Ω0 = 2π ⋅ f 0 ⋅

1 2π . = 8 ⋅ f0 8

(1.10)

Ein MATLAB-Programm zur grafischen Darstellung der beiden Signale ist im Programm 1.1 angegeben. Die erzeugten Grafiken finden sich in Abb. 1-2. Im unteren Teil ist die Sinusfolge in einem Stabdiagramm dargestellt. Durch den Befehl stem wird der zeitdiskrete Charakter hervorgehoben. Man beachte die Periode acht der Sinusfolge, siehe (1.10). Auch das obere Bild in Abb. 1-2 beruht genau genommen auf einer Auswertung der Funktion an diskreten Stützstellen. Weil die Anzahl der Stützstellen relativ groß ist, wird dies jedoch nicht sichtbar. Diese Darstellung wird der besseren Verständlichkeit oft gewählt, wenn das Anwendungsproblem einen kontinuierlichen Verlauf zugrunde legt. Ebenso wird zur einfacheren Interpretierbarkeit die Zeitvariable t in Sekunden angegeben. Dann kann die Periodendauer direkt abgelesen werden, T0 = 8 s. Meist ist es günstig die dargestellte Funktion durch ihren Maximalwert zu normieren, wie hier x0 = xˆ . Manchmal sieht man zeitdiskrete Signale „kontinuierlich“ dargestellt, beispielsweise, weil die Grafikfunktion zwischen den Folgeelementen linear interpoliert. Derartige Darstellungen sollten vermieden werden. Unter Umständen sind jedoch so viele Folgenelemente in einem Bild unterzubringen, dass sich der Eindruck eines zeitkontinuierlichen Signals nicht vermeiden lässt. Bei der Achsenbeschriftung kann, wie in der Fachliteratur heute öfters anzutreffen, auf die Richtungspfeile verzichtet werden, wenn die Achsenbeschriftung eindeutig ist. Die Formelzeichen für die Signale und die Variablen werden kursiv dargestellt.

DSV Zeitdiskrete Signale Martin Werner 2016

│6

1

0

0.5

x (t)/

x

0

-0.5

-1 0

2

4

6

10

8

Time

12

14

16

18

20

12

14

16

18

20

t in s

1

0

0.5

x[n ]/

x

0

-0.5

-1 0

2

4

6

10

8

Time index

n

Abb. 1-2 Sinusfunktion x(t) und Sinusfolge x[n] (dsp_zds_1) Programm 1.1 Sinusfunktion und Sinusfolge % Sine function and sine sequence % dsp_zds_1.m * mw * 04-29-2015 x0 = 1; % amplitude in Volt (V) f0 = 1/8; % fundamental frequency in Hertz (Hz) t = 0:.01:20; % time variable in seconds (s),time span 0...20 s x_t = x0*sin(2*pi*f0*t); % sine function fs = 8*f0; % sampling frequency Ts = 1/fs; % sampling interval n = 0:20; % normalized time w0 = 2*pi*f0*Ts; % normalized radian frequency x_n = x0*sin(w0*n); % sine sequence % Graphics FIG1 = figure('Name','dsp_zds_1','NumberTitle','off'); subplot(2,1,1), plot(t,x_t,'LineWidth',2), grid xlabel('Time {\itt} in s \rightarrow') ylabel('{\itx}({\itt}) / {\itx}_0 \rightarrow') subplot(2,1,2), stem(n,x_n,'filled'), grid xlabel('Time index {\itn} \rightarrow') ylabel('{\itx}[{\itn}] / {\itx}_0 \rightarrow')

2.2 Vorbereitende Aufgaben Fertigen Sie jeweils Handskizzen an − ohne Taschenrechner und Lineal; siehe auch Stabdiagramm in Abb. 1-2. A.1

Skizzieren Sie die Impulsfolgen x1[n] = δ[n−3] und x2[n] = δ[n+2] für n = −5:5.

DSV Zeitdiskrete Signale Martin Werner 2016

│7

A.2

Skizzieren Sie die Sinus- und Kosinusfolgen x3[n] = sin(2π⋅n/7) und x4[n] = cos(n/2) für n = 0:10.

A.3

Sind die Folgen x3[n] und x4[n] periodisch? Geben Sie gegebenenfalls die Perioden an.

A.4

Machen Sie sich mit dem Programm 1.1 vertraut.

2.3 Versuchsdurchführung M.1 Erzeugen Sie mit MATLAB die Signale aus der Vorbereitung A.1 und 2 und vergleichen Sie die Bildschirmdarstellungen mit Ihren Skizzen. Hinweise. Sie können den Befehl subplot benutzen, um mehrere Signale in einem Grafikfenster darzustellen. Das Überschreiben von Bildinhalten vermeiden Sie durch Öffnen eines neuen Fensters mit dem Befehl figure, wie im Programm 1.1 gezeigt. Beachten Sie auch, MATLAB adressiert die Elemente eines Vektors beginnend mit dem Index eins.

2

Audiosignale

In diesem Versuchsteil machen Sie digitale Signale als Audiosignale hörbar, stellen also die Verbindung zwischen den digitalen Signalen am PC und der sinnlich wahrnehmbaren Welt her. Dabei lernen Sie auch ein Beispiel für ein umfangreicheres MATLAB-Programm kennen. Für die Experimente ist ein PC mit üblicher Tonausgabe (Audioschnittstelle, Sound Card) erforderlich. ADU. Analoge Signale, also wert- und zeitkontinuierliche (elektrische) Signale, können mit einem Analog-Digital-Umsetzer (ADU) durch Abtastung und Quantisierung in ein wert- und zeitdiskretes Signal, ein digitales Signal, überführt werden. Umgekehrt lassen sich aus digitalen Signalen mit einem Digital-Analog-Umsetzer (DAU) analoge Signale erzeugen. Parameter dabei sind die Abtastfrequenz fs, d. h. die Häufigkeit der Abtastungen pro Sekunde, und die Wortlänge w, also die Zahlendarstellung der Amplituden des digitalen Signals. Ein moderner PC besitzt ADU und DAU mit einer typischerweise von 5 bis 44,1 kHz einstellbaren Abtastfrequenz und einer Wortlänge von 8 oder 16 Bit. Es lassen sich damit theoretisch Hörqualitäten erreichen, die vergleichbar zur bekannten CD-DA (Compact Disc Digital Audio) sind. Am PC liegen Audiosignale oft als Dateien im Wave-Format wav vor. MATLAB kann derartige Dateien lesen und schreiben, sowie digitale Signale an die Audioschnittstelle ausgeben. Die MATLAB Befehle hierzu sind wavread, wavwrite, sound und soundsc bzw. alternativ audioread, audiowrite und audioplayer mit play.

DSV Zeitdiskrete Signale Martin Werner 2016

│8

2.4 Töne, Klänge und Geräusche Leben ohne Informationen aus der Umwelt ist nicht vorstellbar. Der Mensch besitzt hierfür seine Sinnessysteme, darunter das Gehör. Mit seinen Ohren (Trommelfell) empfängt er Schallwellen aus seiner Umgebung. Physikalisch können die Schallwellen, die Druckschwankungen an einem Ort, mit Sinusfunktionen wie in (1.5) beschrieben werden. Dabei definiert die Amplitude die Differenz zwischen dem Maximal- und dem Minimaldruck. Die Lautstärke bestimmt die Tonstärke. Und die Frequenz gibt die Zahl der Schwingungsperioden pro Sekunde, die Tonhöhe, an. Ton. Man spricht von einem Eintonsignal, oder kurz Ton, wenn das Audiosignal nur eine Frequenzkomponente aufweist. Das menschliche Gehör kann Töne im Bereich von circa 20 bis (16000) 20000 Hz aufnehmen. Besonders gut gelingt dies im Bereich von etwa 300 bis 5000 Hz. So führten Untersuchungen zur Hörverständlichkeit auf die Übertragung des Frequenzbands von 300 bis 3400 Hz in der Telefonie. Klang. Wird Schall durch den menschlichen Sprechapparat oder durch Musikinstrumente erzeugt, entsteht in der Regel ein komplexes Tongemisch. Stehen die Frequenzen der Töne in einem ganzzahligen Verhältnis, spricht von einem Klang. Geräusch. Davon unterschieden wird das Geräusch, das aus der Überlagerung vieler Töne mit unterschiedlichen Amplituden und Frequenzen entsteht, und meist ähnlich dem „Rauschen eines Wasserfalls“ wahrgenommen wird.

2.5 Beispiel: Synthese eines Audiosignals Unter einem digitalen Audiosignal, im Weiteren kurz Audiosignal genannt, verstehen wir ein digitales Signal, dass nach DAU mittels einem Lautsprecher für Menschen hörbar gemacht werden kann. Zunächst wird an die grundsätzlichen Zusammenhänge erinnert. Beispielhaft soll ein Ton mit der Frequenz von 220 Hz und der (Ton-)Dauer von einer Sekunde zugrunde gelegt werden. Die Abtastfrequenz sei 8 kHz. Wie wird das Tonsignal mit MATLAB erzeugt und hörbar gemacht? Die Aufgabe wird durch ein sinusförmiges Signal mit entsprechender Frequenz und Dauer gelöst. Hierfür benötigt wird die Frequenz f in Hertz und der Vektor der Abtastzeitpunkte t in Sekunden. Die Abtastfrequenz fs in Hertz beträgt 8000, sodass in einer Sekunde 8000 Abtastwerte anfallen. Wird mit Zeitindex 0 angefangen und mit 8000 aufgehört, sind es tatsächlich 8001 Abtastwerte des sinusförmigen Signals. Die Audioausgabe erfolgt mit dem Befehl soundsc. Zusammengefasst werden die folgenden Programmzeilen benötigt: fs = 8000; % sampling frequency in Hertz f0 = 440; % pitch t = linspace(0,1,fs); % sampling instances (normalized time) s = sin(2*pi*f0*t); % sound

DSV Zeitdiskrete Signale Martin Werner 2016

│9

soundsc(s,fs) % play sound

Zeit-Frequenz-Darstellung. Im Versuch soll ein Musikstück vertont werden. Grundlage ist die Zeit-Frequenz-Darstellung, die Notenschrift in Abb. 2-1. Dort wird horizontal der zeitliche Verlauf und vertikal die Frequenzlage angegeben. Gemäß dem G-Schlüssel zu Beginn entspricht die zweite Notenlinie von unten der Note g1. Die daraus resultierende Abfolge der Töne ist in Tabelle 2.1 zusammengestellt. Die zugeordneten Zeitdauern beziehen sich auf ein wählbares Grundintervall.

Abb. 2-1 Prélude von Marc-Antoine Charpentier (1634−1704)

Tabelle 2.1 Töne (Noten) und Tondauern (normierte Zeitintervalle) zum Musikstück Prélude Note

d1

g1

g1

a1

h1

g1

d2

h1

h1

c2

Dauer

1/4

1/4

1/8

1/8

1/4

1/4

1/2

3/8

1/8

1/4

Note

d2

c2

h1

c2

d2

a1

g1

a1

h1

a1

Dauer

1/8

1/8

1/8

1/8

1/4

1/8

1/8

1/8

1/8

1/4

Der Zusammenhang zwischen den Noten und dem Audiosignal erschließt sich aus den in der Musik bekannten Beziehungen: − der Kammerton (Normalton, Stimmton) a1 entspricht seit internationaler Empfehlung im Jahr 1939 einem Ton mit 440 Hz; − eine Oktave, z. B. der Übergang von a1 zu a2, umfasst eine Frequenzverdopplung, d. h. a2 entspricht 880 Hz; − in einer Oktave gibt es genau 12 gleichförmige Halbtonschritte. Daraus folgt die Frequenzzuordnung der C-Dur-Tonleiter in Tabelle 2.2. Beispielsweise ergibt sich die Frequenz für den Ton d 2 zu 440⋅2+5/12 Hz. Tabelle 2.2 Frequenzen der C-Dur-Tonleiter bezogen auf 440 Hz für a1 Note Frequenzfaktor

c1

d1

e1

f1

g1

a1

h1

c2

2−9/12

2−7/12

2−5/12

2−4/12

2−2/12

1

2+2/12

2+3/12

DSV Zeitdiskrete Signale Martin Werner 2016

│10

Man beachte auch, im Englischen wird für die deutsche Note h der Buchstabe b verwendet und die Tonhöhe wird pitch genannt. Durch das Kreuz-Vorzeichen # auf der 5. Linie von unten in Abb. 2-1 wird der Ton f um einen Halbton zum fis erhöht. Mit den obigen Festlegungen kann nun jeder Note genau ein Sinuston mit entsprechender Frequenz und entsprechender Dauer zugeordnet werden, siehe Programm 2.1. Programm 2.1 Audiosignal „Prélude“ % Audio signal prelude by Marc-Antoine Charpentier (1634-1704) % dsp_zds_3.m * mw * 04-29-2015 A = 440; % pitch in Hz Dh = A*2^(5/12); % high C = A*2^(3/12); B = A*2^(2/12); G = A*2^(-2/12); Fis = A*2^(-3/12); E = A*2^(-5/12); D = A*2^(-7/12); pitch = [D G G A B G Dh B B C Dh C B C Dh A G A B A]; duration = [2 2 1 1 2 2 4 3 1 2 1 1 1 1 2 1 1 1 1 2]; Sc = 1/4; % time scaling fs = 8000; % sampling frequency audiosig = []; % define variable for audio signal for k = 1:length(pitch) % for loop L = Sc*fs*duration(k); % number of samples per tone n = 0:L-1; % normalized time w = (2*pi/fs)*pitch(k); % normalized radian frequency s = sin(w*n); % sinusoidal tone audiosig = [audiosig s]; % concatenate audio signal end soundsc(audiosig,fs,16); % sound card output

2.6 ADSR-Profil Das im Programm 2.1 erzeugte Audiosignal klingt unnatürlich, da es nur aus jeweils einund ausgeschalteten Sinustönen besteht, wobei das Knacken durch das Schalten sich besonders störend bemerkbar macht. Hüllkurvenbewertung. Ein angenehmerer Höreindruck lässt sich mit einer Hüllkurvenbewertung erzielen. In der Audiotechnik wird hierfür oft das ADSR-Profil in Abb. 2-2 verwendet. Es besteht aus vier Geradenstücken, die vier Phasen repräsentieren: Anstieg (Attack), Abfall (Decay), Halten (Sustain) und Freigeben (Release). Das Programm 2.2 stellt eine mögliche Realisierung der ADSR-Hüllkurve (envelope) für jeweils einen Ton dar. Die Parameter der ADSR-Hüllkurve sind der Übersichtlichkeit halber in einer MATLAB-Struktur (struct) zusammengefasst.

DSV Zeitdiskrete Signale Martin Werner 2016

Hüllkurve

│11

EA ED

A

D S

ES

R tA tD

Zeit

tR

Abb. 2-2 ADSR-Profil Programm 2.2 ADSR-Profil function s_adsr = adsr_profile(s,P_adsr) % computation of envelope signal with ADSR profile for shaping pure tones % s_adsr = adsr_profile(s,P_adsr) % s : audio signal % P_adsr : structure with parameters for adsr envelope % P_adsr.tA : end of attack phase % P_adsr.EA : amplitude of profile at time tA (=1) % P_adsr.tD : end of decay phase % P_adsr.ED : amplitude of profile at time tD % P_adsr.tS : end of sustain phase % P_adsr.ES : amplitude of profile at time tS % s_adsr : signal with ADSR profile % adsr_profile.m * mw * 04-29-2015 N = length(s); % number of signal samples env = zeros(1,N); % allocate memory for envelope signal % attack phase NA = floor(N*P_adsr.tA); env(1:NA) = linspace(0,P_adsr.EA,NA); % decay phase ND = floor(P_adsr.tD*N)-NA; env(NA:NA+ND) = linspace(P_adsr.EA,P_adsr.ED,ND+1); % sustain phase NS = floor(P_adsr.tS*N)-(NA+ND); env(NA+ND:NA+ND+NS) = linspace(P_adsr.ED,P_adsr.ES,NS+1); % release phase NR = N - (NA+ND+NS); env(NA+ND+NS:N) = linspace(P_adsr.ES,0,NR+1); s_adsr = s.*env; % adsr shaped signal return

DSV Zeitdiskrete Signale Martin Werner 2016

│12

2.7 Harmonische In der Musik treten in der Regel nicht reine Töne auf, sondern Musiksignale stellen eher einem Gemisch von Harmonischen dar. Das heißt, es treten in gewissen Abschnitten eine Grundschwingung (Grundwelle) mit einer Grundfrequenz f0 und viele Oberschwingungen (Oberwellen) bei ganzzahlig Vielfachem der Grundfrequenz k⋅f0 auf. Harmonische. Der Höreindruck kann deshalb weiter verbessert werden, wenn die Oberschwingungen geeignet hinzugefügt werden (Werner, 2016). Der Einfachheit halber wählen wir dazu in der Versuchsdurchführung den Ansatz einer abgebrochenen FourierReihe K

s= [ n]

∑b k =1

k

⋅ sin ( k ⋅ Ω0 ⋅ n )

(2.1)

mit exponentiell fallenden Koeffizienten bk = e −α ⋅(

k −1)

.

(2.2)

Der Parameter α steuert die Dämpfung der Amplituden bzgl. der Reihenfolge der Harmonischen. Je größer α, umso schneller der Abfall in den Amplituden. Für die Simulation beachte man auch, dass die höchste auftretende Frequenz die halbe Abtastfrequenz nicht überschreiten darf, weil sonst das Abtasttheorem verletzt wird und der Spiegelfrequenzeffekt auftritt.

2.8 Vorbereitende Aufgaben A.5

Machen Sie sich mit Programm 2.1 und Programm 2.2 vertraut.

2.9 Versuchsdurchführung M.2 Erzeugen Sie Audiosignal mit Programm 2.1 dsp_zds_3. M.3 Um das harte Ein- und Austasten der Töne zu vermeiden können diese mit einer ADSR-Hüllkurve bewertet werden, siehe Programm 2.2. Überprüfen Sie die Klangqualität des so modifizierten Audiosignals. Dazu können Sie auch die Parameter des ADSR-Profils ändern, z. B. mit % define parameters for adsr profile P_adsr = struct('tA',.1,'EA',1,'tD',.2,'ED',.9,'tS',.9,'ES',.8);

und s_adsr = adsr_profile(s,P_adsr); % ADSR profile audio = [audio s_adsr]; % concatenate audio signal

Sie können nun auch verschiedene Einstellungen für die Abtastfrequenz fs und die Zeitskalierung Sc und weiterer Parameter des ADSR-Profils ausprobieren.

DSV Zeitdiskrete Signale Martin Werner 2016

│13

M.4 Der Höreindruck kann durch Hinzunahme höherer Harmonischer verändert werden. Erweitern Sie dazu das Programm entsprechend dem Ansatz in (2.1). Wie viele Oberschwingungen können maximal hinzugefügt werden, ohne dass die halbe Abtastfrequenz überschritten wird? Wie ändert sich der Höreindruck, wenn nur ungeradzahligen Harmonische verwendet werden? (b2 = b4 = … = 0) Vergleichen Sie den Höreindruck für verschiedene Werte von α. M.5 Der Spiegelfrequenzeffekt spielt im Zusammenhang mit dem Abtasttheorem eine wichtige Rolle und kann mit relativ einfachen Mitteln mit Programm 2.4 demonstriert werden. Der Bezeichnung Spiegelfrequenz bezieht sich auf die Lage eines Frequenzpaares spiegelbildlich zu halben Abtastfrequenz. Bei der Abtastfrequenz von 8 kHz beispielsweise auf das Tonpaar bei 3 und 5 kHz. Hören Sie sich die Signale in Programm 2.3 an. Wie viele unterschiedliche Töne können Sie erkennen, wenn Sie von möglichen „Störungen“ (Klirren) bei der halben und ganzen Abtastfrequenz absehen. Ändern Sie die Abtastfrequenz auf 16 kHz. Was verändert sich? Programm 2.3 Spiegelungseffekt % Mirror frequency effect % dsp_zds_6.m * mw * 04-29-2015 fs = 8000; % sampling frequency in Hz n = 0:fs; % time interval % define parameters for adsr profile P_adsr = struct('tA',.1,'EA',1,'tD',.2,'ED',.9,'tS',.9,'ES',.8); f0 = 1e3; % signal frequency in Hz for k=1:8 fk = f0*k; audio = sin(2*pi*(fk/fs)*n); audio = adsr_profile(audio,P_adsr); % ADSR profile fprintf('Frequency %g Hz\n',fk) soundsc(audio,fs,16); % audio output pause(1) end

3

Zusammenfassung

Im Studienbrief Zeitdiskrete Signale lernten Sie zunächst elementare Signale, ihre analytischen Beschreibungen und grafischen Darstellung am Rechner kennen. Mit den Versuchsbeispielen zu den Audiosignalen schlugen Sie die Brücke zwischen den Daten am Rechner und den hörbaren Signalen.

DSV Zeitdiskrete Signale Martin Werner 2016

│14

Daten am Rechner meint hier geordnete Folgen von Zahlen, die als Abtastwerte eines analogen Signals gedeutet werden können, z. B. eines Audiosignals. Wesentlicher Parameter dabei ist die Abtastfrequenz bzw. ihr Kehrwert, das Abtastintervall, das den Zeitbezug herstellt; im Beispiel des Audiosignals, die Periodendauer und damit die Tonhöhe. Mit der Notenschrift begegnete Ihnen eine Charakterisierung von Signalen durch eine ZeitFrequenz-Darstellung, ähnlich der in Technik und Physik wichtigen Harmonischen Analyse.

4

Quiz

Kreuzen Sie alle richtigen Aussagen in den Ja-Nein-Fragen () an bzw. ergänzen Sie die Lückentexte ( _ ) sinngemäß. 1

Mit w=2*pi/8; n=0:20; x=cos(w*n); ist x(17) gleich 1. 

2

Bei Grafiken mit dem Befehl stem werden die Signalwerte durch Geradenstücke so verbunden, dass die bekannten Treppenkurven entstehen. 

3

Neben der Wortlänge ist für die ADU die ___ wichtig.

4

Wegen der beschränkten Empfindlichkeit des menschlichen Gehörs werden in der Telefonie nur Töne im Bereich von circa 300 bis 3400 Hz übertragen. 

5

Eine Oktave entspricht einer Frequenzverdopplung. 

6

Die Notenschrift ist eine besondere Form ___ .

7

ADSR steht für Attack, Delay, Sound und Relax. 

8

Ein Ton wird durch drei Werte beschrieben: die Amplitude, die Frequenz und die Dauer. 

9

Mit dem Befehl soundsc(y,16000,16) können Töne bis zur Frequenz ___ ausgegeben werden.

10 Die Harmonischen werden auch Oberwellen genannt.  11 Ein Klang besteht typisch aus Harmonischen.  12 Mit x=−1.9; und y=floor(x); ist y gleich −1.  13 Bei einer Abtastung mit 16 kHz liegt zur Frequenz 3 kHz die Spiegelfrequenz bei ____. 14 In der Sustain-Phase wird Maximum des ADSR-Profils über eine gewisse Zeit gehalten.  15 In einem MATLAB-Objekt vom Datentyp struct können Daten unterschiedlicher Typen zusammengefasst werden.

DSV Zeitdiskrete Signale Martin Werner 2016

│15

16 Der Zusammenhang zwischen der Frequenz f0 des abgetasteten analogen Signals und der normierten Kreisfrequenz Ω0 des resultierenden zeitdiskreten Signals ist ___, wenn für die Abtastfrequenz gilt fs > 2⋅ f0.

5

Lösungshinweise

A.1 u. 2 Siehe Abb. 5-1 und Programm dsp_zds_2. Hinweis. Sinus- und Kosinusfolgen lassen sich als Stabdiagramme meist schnell skizzieren, wenn mit den zugrundeliegenden zeitkontinuierlichen Funktionen als Hilfslinien begonnen wird. A.3

Das Signal 3 hat die Periode 7. Das Signal 4 ist aperiodisch.

M.1 Mit dem Programm dsp_zds_2 wurden die Bilder der Signale x1[n] bis x4[n] in Abb.

5-1 erzeugt.

1

0.8

0.6

0.6

[n ]

0.8

2

0.4

0.4

x

x

1

[n ]

1

0.2

0.2

0

0 -5

-5

5

0

n

1

1

0.5

0.5

0

x

x

4

3

[n ]

0

[n ]

5

0

n

-0.5

-0.5

-1

-1 0

2

4

6

8

10

0

2

n

4

6

8

10

n

Abb. 5-1 Signalbeispiele (dsp_zds_2)

M.2 bis 4 Ausgehend vom Programm 2.2 wurden folgende Programme generiert: − Audiosignal mit ADSR-Bewertung  dsp_zds_4 − Audiosignal mit ADSR-Bewertung und höheren Harmonischen  dsp_zds_5

DSV Zeitdiskrete Signale Martin Werner 2016

│16

Die höchste Signal(grund)frequenz leitet sich aus dem Ton d2 mit ungefähr 587 Hz ab. Damit ist die Zahl der möglichen Oberschwingungen auf 5 beschränkt, da bereits 6⋅f0 = 3524 Hz. M.5 Spiegelfrequenzeffekt  dsp_zds_6 Quiz (1) r; (2) f; (3) die Abtastfrequenz/ das Abtastintervall; (4) r; (5) r; (6) ZeitFrequenz-Darstellung; (7) f; (8) r; (9) 8 kHz; (10) f; (11) r; (12) f; (13) 13 kHz; (14) f; (15) r; (16) Ω0 = 2π⋅f0/fS.

6

Abkürzungen und Formelzeichen

Abkürzungen ADSR Attack decay sustain release ADU

Analog-Digital-Umsetzer

DAU

Digital-Analog-Umsetzer

Formelzeichen Parameter, Konstanten und Variablen ak, bk

Fourier-Koeffizienten

e

Eulersche Zahl

f

Frequenzvariable

fS

Abtastfrequenz (sampling frequency)

n

Normierte Zeitvariable



Normierte Kreisfrequenz

π

Kreiszahl

t

Zeitvariable

TS

Abtastintervall (sampling interval)

Funktionen, Signale und Operatoren cos(.) Kosinusfunktion/-folge

δ[n]

Impulsfolge

exp(.) Exponentialfunktion/-folge (ex) sin(.)

Sinusfunktion/-folge

u[n]

Sprungfolge

x[n]

Signalfolge (allg.)

DSV Zeitdiskrete Signale Martin Werner 2016

│17

7

Literatur und Quellen

STONICK V., BRADLEY K. (1996) Labs for Signal and Systems. Using MATLAB®. Boston: PWS Publishing Company WERNER M. (2011) Digitale Signalverarbeitung mit MATLAB®. Grundkurs mit 16 ausführlichen Versuchen. (5. Aufl.). Wiesbaden: Vieweg+Teubner WERNER M. (2016) Erste Schritte in MATLAB®. Studienbrief DSV. Fulda

8

Sachverzeichnis

Abtastfolge 4 Abtastfrequenz 7 Abtastintervall 4 ADSR-Profil 10 ADU 7 Analog-Digital-Umsetzer 4 Analoge Signale 7 C-Dur-Tonleiter 9 DAU 7 digitalen Signal 4 Digitales Audiosignal 8 Digitales Signal 4, 7 Digitalisierung 4 Eintonsignal 8 Exponentielle 4 Folge 3 Fourier-Reihe 12 Geräusch 8 Harmonische 12

Impulsfolge 3 Kammerton 9 Klang 8 Kosinusfolge 4 Normiere Kreisfrequenz 4 Normierte Zeitvariable 3 Oktave 9 Pitch 10 Rechtsseitigen Folge 3 Signal 3 Sinusfolge 4 Spiegelfrequenzeffekt 13 Sprungfolge 3 Stabdiagramm 3 Ton 8 Wortlänge 7 Zeitdiskretes Signal 3 Zeit-Frequenz-Darstellung 9

DSV Zeitdiskrete Signale Martin Werner 2016