Laboration i tidsdiskreta system A. Tips Användbara MATLAB-funktioner: conv Faltning square Skapa en fyrkantvåg wavread Läs in en ljudfil soundsc Spela upp ett ljud ones Skapa en vektor med godtyckligt antal ettor zeros Skapa en vektor med godtyckligt antal ettor filter Filtrerar en signal med givet filter tf Skapa en variabel för överföringsfunktionen tfdata Ta fram överföringsfunktionens täljar- och nämnarkoefficienter pzmap Plotta poler och nollställen freqz Plotta systemets frekvensegenskaper B. Introduktion Definiera två stycken tidsdiskreta signaler, falta dessa och plotta resultatet x=[ - 2-2]; h=[ ]; y=conv(x,h); n=:length(y)-; stem(n,y); % definiera signalen x % definiera signalen h % falta signalerna % skapa index n % plotta resultat 2 - -2 2 4 6 8 2 Plotta impuls- och stegsvar för tidsdiskreta systemet H z=tf('z'); %z definieras som symbolisk variabel H=(z^2+)/(z^2+z+.); %definiera överföringsfunktionen [y n]=impulse(h,35); %ta fram impulssvaret upp till n=35 [y2 n2]=step(h,35); %ta fram stegsvaret upp till n=35 subplot(2,,);stem(n,y); %plotta impulssvaret subplot(2,,2);stem(n2,y2) %plotta stegsvaret
2 - -2 5 5 2 25 3 35 2.5.5 5 5 2 25 3 35 Plotta poler och nollställen för systemet H z=tf('z'); variabel H=(z^2+)/(z^2+z+.); pzmap(h); %z definieras som symbolisk %definiera överföringsfunktionen %plotta poler och nollställen Pole-Zero Map.8.6.4 Imaginary Axis.2 -.2 -.4 -.6 -.8 - - -.5.5 Real Axis
Skapa en 2 s lång tidsdiskret fyrkantsvåg med frekvensen 5 Hz. Samplingsfrekvensen skall vara 5 Hz fs=5; %välj samplingsfrekvens ts=/fs; %tiden mellan varje sample f= 5; %välj signalfrekvens t=:ts:2; %skapa tidsvektor, 2 s lång y=square(2.*pi.*f.*t); %skapa signal stem(t,y); %plotta.5 -.5 -.2.4.6.8.2.4.6.8 2 Plotta frekvensegenskaperna för systemet H z=tf('z'); % z definieras som symbolisk variabel H=(z^2+)/(z^2+z+.); % definiera överföringsfunktionen [B A]=tfdata(H,'v'); % ta fram täljarens(b)och nämnarens(a)koeff. freqz(b,a); % plotta frekvensegensskaper
4 Magnitude (db) 2-2 -4-6.2.4.6.8 Normalized Frequency ( π rad/sample) 5 Phase (degrees) 5-5.2.4.6.8 Normalized Frequency ( π rad/sample) C. Uppgifter Uppgift. Grunder i faltning a. Ett kausalt system har impulssvar h[n] och insignal x[n] enligt figurerna nedan: Bestäm, med hjälp av MATLAB, systemets utsignal y[n] Åskådliggör resultatet grafiskt b. Ett system har impulssvaret (,, )/3. Bestäm systemets utsignal om dess insignal är en symmetrisk fyrkantvåg med periodtiden s och nivåerna - V och + V Du bör välja en samplingsfrekvens på minst sampel/sekund Åskådliggör resultatet grafiskt
c. Byt ut impulssvaret i uppgift b mot (,,,,,, )/7. Beskriv i ord ditt resultat Vad innebär en faltning med ovanstående impulssvar. Blir signalen snabbare eller långsammare? Uppgift 2 Lågpassfiltrering i tidsdomän a. Hämta in en ljud fil av typen.wav in till Matlab och lågpassfiltrera denna med hjälp av faltning. Lyssna på resultaten före och efter filtrering Tips: -Hur du lågpassfiltrerar med hjälp av faltning ska du ha dragit erfarenheter i en tidigare uppgift. -Då ljud samplas med kort samplingstid (hög samplingsfrekvens). Måste ditt impulssvar vara relativt långt ( - punkter) för att du tydligt skall kunna höra resultatet. -Använd kommandot wavread för att läsa in filen. Faltningsarbetet blir något enklare om det inlästa ljudet konverteras till mono, använd följande kodsnutt vid konverteringen: ljudvariabel = ljudvariabel(:,); (kodsnutten ovan resulterar i att man plockar ut samtliga värden ur kolumn ett) b. Lågpassfiltrera ljudfilen på nytt med ett nytt impulssvar Välj det nya impulssvaret så att brytfrekvensen blir lägre än tidigare. c. Redovisa dina val av impulssvar och kommentera dina lyssningsresultat. Uppgift 3 Du skall skapa ett LP-filter för ljudapplikationer med hjälp av medelvärdesteknik. Samplingsfrekvensen antas vara 44. khz och brytfrekvensen ( -3 db) skall ligga på 2 Hz. Prova dig fram till lämpligt värde på antal termer i medelvärdesbildningen genom att studera frekvenssvaren. När du är klar hämtar du in musik, filtrerar låten, jämför intrycket före och efter filtret samt plottar frekvensinnehållen före och efter. Tips: Låt filtret ha konstant längd (ca 2). Fyll ut med nollor så att det uppfylls. Plotta frekvensegenskaperna och läs av. Uppgift 4 En signal x(t) i intervallet.3 till 3.4 khz antas störd av nätbrum på 5 Hz. Sampling sker med 8 khz. Konstruera ett digitalt filter, med hjälp av MATLAB s designstöd, som dämpar 5 Hz-signalen men släpper igenom x(t). Testa ditt filter med signalen x(t)=sin(2*pi*5*t)+2*sin(2*pi**t), Där t = till sek.
Redovisa filterkurvor samt plot av x[n] och y[n] x(t) y(t)