Sunteți pe pagina 1din 12

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnică a Moldovei


Facultatea Calculatoare, Informatică şi Microelectronică

Raport
Lucrarea de laborator nr. 2
Prelucrarea Semnalelor
Tema: Studierea transformărilor: transformata Fourier în timp discret (DTFT) și
transformata-Z

A efectuat: St. gr. TI-112 Vasilachi Igor

A verificat: Romanenco A.

Chişinău 2014
Sarcina lucrării:
De a studia găsirea tranformatei Fourier şi de dezvăluit proprietăţile sale.

Program P1
Programul dat serveşte pentru realizarea şi vizualizarea transformării DTFT.

% Program P3_1
% Aprecierea DTFT
clf;
% Calcularea valorilor frecvenţelor DTFT
w=-6*pi:8*pi/255:6*pi
num=[2 1]; den=[1 -0.6 0.5];
h=freqz(num,den,w);
% Graficul DTFT
subplot(2,1,1);
plot(w/pi,real(h)); grid
title('Partea reală H(e^{j\omega})');
xlabel('\omega /\pi');
ylabel('Amplitudinea');
subplot(2,1,2);
plot(w/pi,imag(h)); grid
title('Partea imaginară H(e^{j\omega})');
xlabel('\omega /\pi');
ylabel('Amplitudinea');
pause
subplot(2,1,1);
plot(w/pi,abs(h)); grid
title('Spectru de valori |H(e^{j\omega})|');
xlabel('\omega /\pi');
ylabel('Aplitudinea');
subplot(2,1,2);
plot(w/pi,angle(h)); grid
title('Spectru de faze arg[H(e^{j\omega})]');
xlabel('\omega /\pi');
ylabel('Faza în radiani');
Codul de execuție al programului P1

2
Rezultatul execuției programului P1

Program P2
Programul dat serveşte pentru pentru identificarea proprietăţilor de modificare în timp a
transformatei DTFT.
% Program P3_2
% Proprietăţile DTFT de modificare în timp
clf;
w=-pi:2*pi/127:pi;
wo=0.4*pi;
D=50;
num=[1 2 3 4 5 6 7];
h1=freqz(num,1,w);
h2=freqz([zeros(1,D) num],1,w);
subplot(2,2,1);
plot(w/pi,abs(h1));
grid
title('Spectru de valori a secventei initiale');
subplot(2,2,2);
plot(w/pi,abs(h2));
grid
title('Spectru de valori a unei secvente modificate in timp');
subplot(2,2,3);
plot(w/pi,angle(h1));
grid
title('Spectrul de faze a secventei initiale');
subplot(2,2,4);

3
plot(w/pi,angle(h2));
grid
title('Spectrul de faze a secventei modificate in timp');
Codul de execuție al programului P2

Rezultatul execuției programului P2

Program P3

În programul acesta este realizat sistemul reprezentat prin următoarea expresie: y[n]-0.4y[n-
1]+0.75y[n-2]=2.2403x[n]+2.4908x[n-1]+2.2403x[n-2].
Se generează trei secvenţe de intrare x1[n], x2[n] и x[n]=a*x1[n]+b*x2[n]. Se calculează
trei secvenţe de ieşire y1[n], y2[n] и y[n], cu reprezentarea lor grafică.
% Program P3_3
% Proprietatea de modificare a frecvenţei DTFT
clf;
w=-pi:2*pi/127:pi; wo=0.7*pi;
num1=[1 3 5 7 9 11 13 15 17];
L=length(num1);
h1=freqz(num1,1,w);
n=0:L-1;
num2=exp(wo*i*n).*num1;
h2=freqz(num2,1,w);
subplot(2,2,1);
plot(w/pi,abs(h1)); grid

4
title('Spectrul de valori a secvenţei iniţiale');
subplot(2,2,2);
plot(w/pi,abs(h2)); grid
title('Spectrul de valori a secveţelor cu frecvenţa modificată');
subplot(2,2,3);
plot(w/pi,angle(h1)); grid
title('Spectrul de faze a secvenţei iniţiale');
subplot(2,2,4);
plot(w/pi,angle(h2)); grid
title('Spectrul de faze a secvenţelor cu frecvenţa modificată');
Codul de execuție al programului P3

Rezultatul execuției programului P3

Program 4

Aici este identificată proprietatea de convoluţie a transformatei DTFT.


% Program P3_4
% Proprietatea de convoluţie a DTFT
clf;
w=-pi:2*pi/127:pi;
x1=[1 3 5 7 9];
x2=[1 -2 3 -2 1];

5
y=conv(x1,x2);
h1=freqz(x1,1,w);
h2=freqz(x2,1,w);
hp=h1.*h2;
h3=freqz(y,1,w);
subplot(2,2,1);
plot(w/pi,abs(hp)); grid;
title('Modulul spectrului');
subplot(2,2,2);
plot(w/pi,abs(h3)); grid;
title('Spectrul de valori a secventei de convolutie');
subplot(2,2,3);
plot(w/pi,angle(hp)); grid;
title('Suma de faze a spectrului');
subplot(2,2,4);
plot(w/pi,angle(h3)); grid;
title('Spectrul de faze a secventei de convolutie');
Codul de execuție al programului P4

Rezultatul execuției programului P4

6
Program 5
Acesta este programul de evaluare a proprietăţii de modulare a transformării DTFT.
% Program P3_5
% Proprietatea de modulare a DTFT
clf;
w=-pi:2*pi/127:pi;
x1=[85 45121 2314 12 4 324 12 2 4 51];
x2=[1 -1 1 -1 1 -1 1 -1 1 -1];
y=x1.*x2;
h1=freqz(x1,1,w);
h2=freqz(x2,1,w);
h3=freqz(y,1,w);
subplot(3,1,1);
plot(w/pi,abs(h1)); grid
title('Spectrul de valori din prima secventa');
subplot(3,1,2);
plot(w/pi,abs(h2)); grid
title('Spectrul de valori din a doua secventa');
subplot(3,1,3);
plot(w/pi,abs(h3)); grid
title('Spectrul de valori din secvenţa finala');
Codul de execuție al programului P5

Rezultatul execuției programului P5

7
Program 6
Aici este dezvăluită proprietatea de inversare a timpului în trasformarea DTFT.
% Program P3_6
% Proprietatea de inversare a timpului DTFT
clf;
w=-pi:2*pi/255:pi;
num=[1 2.3 -4];
L=length(num)-1;
h1=freqz(num,1,w);
h2=freqz(fliplr(num),1,w);
h3=exp(w*L*i).*h2;
subplot(2,2,1);
plot(w/pi,abs(h1)); grid
title('Spectrul de valori a secvenţei iniţiale');
subplot(2,2,2);
plot(w/pi,abs(h3)); grid
title('Spectrul de valori a secvenţei cu timp inversat');
subplot(2,2,3);
plot(w/pi,angle(h1)); grid
title('Spectrul de faze a secvenţei iniţiale');
subplot(2,2,4);
plot(w/pi,angle(h3)); grid
title('Spectrul de faze a secvenţei cu timp inversat');
Codul de execuție al programului P6

Rezultatul execuției programului P6


8
Program 7
Aceast program este utilizat pentru a ilustra principiul de schimbare ciclică a secvenţelor
de lungime fixă. Pentru aceasta este utilizată funcţia MATLAB circshift.
% Program P3_7
% Ilustrarea principiului de schimbare ciclică a secvenţelor
clf;
M=6;
a=[9 8 7 6 5 4 3 2 1 0];
b=circshift(a, [0 3])
L=length(a)-1;
n=0:L;
subplot(2,1,1);
stem(n,a);
axis([0,L,min(a),max(a)]);
title('Secventa initială');
subplot(2,1,2);
stem(n,b);
axis([0,L,min(a),max(a)]);
title('Secventa obtinută prin schimbarea ciclica');
Codul de execuție al programului P7

Rezultatul execuției programului P7

9
Program 8
Aici se dezvăluie proprietatea de schimbare ciclică în timpul transformării DTFT.
% Programul P3_8
% Proprietatea DTFT de schimbare ciclică în timp
clf;
x=[0 2 4 6 8 10 12 14 16];
N=length(x)-1; n=0:N;
y=circshift(x,[0 5]);
XF=fft(x);
YF=fft(y);
subplot(2,2,1);
stem(n,abs(XF)); grid
title('DFT a secventei initiale');
subplot(2,2,2);
stem(n,abs(YF)); grid
title('DFT a secventei cu schimbare ciclica in timp');
subplot(2,2,3);
stem(n,angle(XF)); grid
title('Faza DFT a secvenţei iniţiale');
subplot(2,2,4);
stem(n,angle(YF)); grid
title('Faza DFT a secventei cu schimbare ciclica in timp');
Codul de execuție al programului P8

Rezultatul execuției programului P8


10
Program 9
Aici vom stabili legătura între transformările DFT ale părţilor secvenţelor periodice pare
şi periodice impare ale numerelor reale cu transformarea DFT a acestei secvenţe.
% Programul P3_9
% Legătura între transformările DFT periodice pare şi impare
% a părţilor secvenţelor ale numerelor reale
x=[1 2 4 2 6 32 6 4 2 zeros(1,119)];
x1=[x(1) x(128:-1:2)];
xe=0.5*(x+x1);
XF=fft(x);
XEF=fft(xe);
clf;
k=0:127;
subplot(2,2,1);
plot(k/64,real(XF)); grid;
ylabel('Amplitudinea');
title('Re(DFT\{x[n]\})');
subplot(2,2,2);
plot(k/64,imag(XF)); grid;
ylabel('Amplitudinea');
title('Im(DFT\{x[n]\})');
subplot(2,2,3);
plot(k/64,real(XEF)); grid;
xlabel('Timpul n');
ylabel('Amplitudinea');
title('Re(DFT\{x_{e}[n]\})');
subplot(2,2,4);
plot(k/64,imag(XEF)); grid;
xlabel('Timpul n');
ylabel('Amplitudinea');
title('Im(DFT\{x_{e}[n]\})');
Codul de execuție al programului P9

11
Rezultatul execuției programului P9

Concluzie
Efectuind aceasta lucrare de laborator m-am familiarizat cu instructiunile instrumentului
MATLAB si respectiv am implementat diferite programe ce au avut ca scop studierea
proprietatilor transformatei fourier discrete si comportamentul ei la schimbarea in dependenta de
functia initiala.

12