Sei sulla pagina 1di 13

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA

MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA


SISTEMAS E REDES DE TELECOMUNICAES

Relatrio Trabalhos Prticos


S.R.T.

Trabalho Realizado por:


Lus Carlos Sousa n. 36561

Segunda-Feira, 14 de Janeiro de 2013

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

ndice
1)

2)

Trabalho Prtico N1 ............................................................................................................. 3


1.1.

Problema 1 .................................................................................................................... 3

1.2.

Problema 2 .................................................................................................................... 4

1.3.

Problema 3 .................................................................................................................... 6

Trabalho Prtico N2 ............................................................................................................. 8


Calculo de x(t)............................................................................................................................ 8
Calculo de x(n) ........................................................................................................................... 9

3)

Anexos - Ficheiros MATLAB ................................................................................................. 10


3.1.

Funo fftseq............................................................................................................... 10

3.2.

Problema 2 Trabalho Prtico N1 ............................................................................... 10

3.3.

Problema 3 Trabalho Prtico N1 ............................................................................... 11

3.4.

Problema 3 Trabalho Prtico N1 ............................................................................... 12

Relatrio Trabalhos Prticos S.R.T.

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

1) Trabalho Prtico N1
1.1. Problema 1
O objectivo deste problema criar uma funo que calcula a fft de uma
sequncia de entrada e em que caso o seu comprimento no seja uma potncia
de 2 faz uma fft com um comprimento que seja a potncia de 2 mais prxima. Para
isso feito o zero-padding da sequncia de entrada.
Como valores de entrada tem a sequncia , o perodo de amostra
ea
resoluo em frequncia
. Como valores de sada so a FFT , a sequncia
com o zero-padding e a nova resoluo em frequncia .

Ficheiro fftseq.m:
function [M,m,df]=fftseq(m,ts,df)
%[M,m,df]=fftseq(m,ts,df)
%[M,m,df]=fftseq(m,ts)
% m=sinal
% Ts=periodo de amostragem
% df=resoluo de frequencia
% df=fs/N
fs=1/ts;
if nargin == 2
n1=0;
else
n1=fs/df;
end
n2=length(m);
n=2^(max(nextpow2(n1),nextpow2(n2)));
M=fft(m,n);
m=[m,zeros(1,n-n2)];
df=fs/n;
end

Relatrio Trabalhos Prticos S.R.T.

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

1.2. Problema 2
Considerando os seguintes sinais

Figura 1: Sinais x1(t) e x2(t)

E os seguintes dados:
-Largura de Banda:
-Resoluo em frequncia:
Calcular e representar graficamente a amplitude e a fase do espectro dos sinais
da figura anterior utilizando a funo desenvolvida na funo anterior.
Sinal x1

Sinal x2

0.9

0.9

0.8

0.8

0.7

0.7

0.6

0.6

0.5

0.5

0.4

0.4

0.3

0.3

0.2

0.2

0.1

0.1

0
-1

-0.5

0
Tempo [S]

0.5

0
-1

-0.5

0.5
Tempo [S]

1.5

Figura 2: Sinais x1(t) e x2(t) produzidos pelo MATLAB

Relatrio Trabalhos Prticos S.R.T.

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

Amplitude da FFT dos sinais

Espetro sinal x1

Espetro sinal x2

1.6

1.6

1.4

1.4

1.2

1.2

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

0
-5

0
Frequncia [Hz]

0
-5

0
Frequncia [Hz]

Figura 3: Espectros X1(f) e X2(f)

Fase da FFT dos sinais

Fase sinal x1

Fase sinal x2

0
-20

-20
-40
-60
-80

-60

Fase []

Fase []

-40

-80

-100
-120
-140

-100

-160
-120
-180
-140
-5

0
Frequncia [Hz]

-200
-5

0
Frequncia [Hz]

Figura 4: Fase X1(f) e X2(f)

Resultados pelo MATLAB:


- Resoluo de Frequncia
- Nmero de Pontos

: 1024

- Resoluo de Frequncia
- Nmero de Pontos

: 0.009766 Hz

: 0.009766 Hz

: 1024

Tanto a resoluo de frequncia como o nmero de pontos depois do ZeroPadding so iguais uma vez que a nica diferena entre os sinais
e
um
atraso no tempo.

Relatrio Trabalhos Prticos S.R.T.

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

Logo a potncia de 2 mais prxima 1024.


E, o novo

Na representao grfica da FFT dos sinais, a nica diferena est na fase uma
vez que um atraso de um sinal no tempo provoca um desfasamento na frequncia.
Como se pode observar na figura 4.

1.3. Problema 3
Considerando o seguinte sinal

Considerando uma largura de banda para o sinal igual a 10 vezes o inverso da


durao do sinal no tempo e uma resoluo na frequncia de 0.01. Utilizando a
funo desenvolvida no problema 1 calcular numericamente e represente
graficamente a amplitude do espectro.
Determinar a resoluo na frequncia e o nmero de pontos usados na fft.

Sinal

produzindo pelo MATLAB:


Sinal x(t)
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-2

-1.5

-1

-0.5

0
Tempo [S]

0.5

1.5

Figura 5: Sinal x(t)

Relatrio Trabalhos Prticos S.R.T.

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

Largura de Banda:
Resoluo de Frequncia:
FFT do sinal

:
Sinal X(f)
3

2.5

1.5

0.5

0
-3

-2

-1

0
Frequncia [Hz]

Sinal analtico:

:
Sinal X(f) analtico
3

2.5

1.5

0.5

0
-3

-2

-1

0
Frequncia [Hz]

Resultados pelo MATLAB:


- Resoluo de Frequncia: 0.009766 Hz
- Nmero de Pontos: 512

Relatrio Trabalhos Prticos S.R.T.

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

Justificao de resultados:
- Frequncia de amostragem:
- Nmero de Pontos:

Logo a potncia de 2 mais prxima 512.


E, o novo

Verifica-se que o espectro produzido pelo MATLAB e o sinal analtico so idnticos


exceptuando pequena diferena dos valores de pico dos lbulos no primrios.

2) Trabalho Prtico N2
Calculo de x(t)

Resultado da aplicao da frmula dada uma sequncia Xk aleatria:


x(t)
6

Relatrio Trabalhos Prticos S.R.T.

10

15

20

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

Calculo de x(n)

Resultado da aplicao da frmula anterior.


x[n]
6

10

15

20

Como se pode observar, o resultado do calculo de x(t) igual ao clculo de x(n).

Relatrio Trabalhos Prticos S.R.T.

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

3) Anexos - Ficheiros MATLAB


3.1. Funo fftseq
function [M,m,df]=fftseq(m,ts,df)
%[M,m,df]=fftseq(m,ts,df)
%[M,m,df]=fftseq(m,ts)
% m=sinal
% Ts=periodo de amostragem
% df=resoluo de frequencia
% df=fs/N
fs=1/ts;
if nargin == 2
n1=0;
else
n1=fs/df;
end
n2=length(m);
n=2^(max(nextpow2(n1),nextpow2(n2)));
M=fft(m,n);
m=[m,zeros(1,n-n2)];
df=fs/n;
end

3.2. Problema 2 Trabalho Prtico N1


%----------------%
%
Problema 2
%
%----------------%
sprintf('Problema 2')
%Valores iniciais
B=5;%Largura de banda
fs=2*B;
Ts=1/fs;
df=0.01;
t1=-1:Ts:1;
t2=-1:Ts:2;
%sinal x1
x1=zeros(size(t1));
x1(1:1/Ts+1)=t1(1:1/Ts+1)+1;
x1(1/Ts+1:2/Ts+1)=1;
%sinal x2
x2=zeros(size(t2));
x2(1/Ts+1:2/Ts+1)=t2(1:1/Ts+1)+1;
x2(2/Ts+1:3/Ts+1)=1;
%Plot Sinais X1 e X2
plot(t1,x1,'b','LineWidth',2);
title('Sinal x1');
xlabel('Tempo [S]');
figure
plot(t2,x2,'m','LineWidth',2);
title('Sinal x2');

Relatrio Trabalhos Prticos S.R.T.

10

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

xlabel('Tempo [S]');
%FFT x1
[X1,x1_zp,df1]=fftseq(x1, Ts, df);
X1=X1/fs;
sprintf('Resoluo de Frequncia X1: %f', df1)
sprintf('Nmero de Pontos X1: %d', length(x1_zp)) %Numero de pontos
com zero padding
f1=[-B:df1:B-df1];
figure%amplitude
plot(f1,fftshift(abs(X1)),'b','LineWidth',2);
title('Espetro sinal x1');
xlabel('Frequncia [Hz]');
figure%fase
plot(f1,fftshift(unwrap(angle(X1))),'b','LineWidth',2);
title('Fase sinal x1');
xlabel('Frequncia [Hz]');
ylabel('Fase []');
%FFT x2
[X2,x2_zp,df2]=fftseq(x2, Ts, df);
X2=X2/fs;
sprintf('Resoluo de Frequncia X2: %f', df2)
sprintf('Nmero de Pontos X2: %d', length(x2_zp)) %Numero de pontos
com zero padding
f2=[-B:df2:B-df2];
figure%amplitude
plot(f2,fftshift(abs(X2)),'m','LineWidth',2);
title('Espetro sinal x2');
xlabel('Frequncia [Hz]');
figure%fase
plot(f1,fftshift(unwrap(angle(X2))),'m','LineWidth',2);
title('Fase sinal x2');
xlabel('Frequncia [Hz]');
ylabel('Fase []');

3.3. Problema 3 Trabalho Prtico N1


%----------------%
%
Problema 3
%
%----------------%
sprintf('Problema 3')
%Valores iniciais
B=10/4;
fs=2*B;
Ts=1/fs;
df=0.01;
t=-2:Ts:2;
%Sinal x(t)
x=zeros(size(t));
x(1:1/Ts+1)=t(1:1/Ts+1)+2;

Relatrio Trabalhos Prticos S.R.T.

11

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

x(1/Ts+1:3/Ts+1)=1;
x(3/Ts+1:4/Ts+1)=-t(3/Ts+1:4/Ts+1)+2;
%Grfico
figure;
plot(t,x,'b','LineWidth',2);
title('Sinal x(t)');
xlabel('Tempo [S]');
%FFT
[X,x_zp,dfx]=fftseq(x, Ts, df);
X=X/fs;
sprintf('Resoluo na Frequncia: %f', dfx)
sprintf('Nmero de Pontos X: %d', length(x_zp)) %Numero de pontos
com zero padding
f=[-B:dfx:B-dfx];
figure
plot(f,fftshift(abs(X)),'b','LineWidth',2);
title('Sinal X(f)');
xlabel('Frequncia [Hz]');
%Espetro Analtico
Xa=4*sinc(2*f).^2-sinc(f).^2;
figure
plot(f,abs(Xa),'m','LineWidth',2);
title('Sinal X(f) analtico');
xlabel('Frequncia [Hz]');

3.4. Problema 3 Trabalho Prtico N1


seq=rand(1,36);
aleatrios
seq=sign(seq-0.5);
-1's e 1's
b=reshape(seq,9,4);
para matriz
xQAM=(2*b(:,1)+b(:,2)+j*(2*b(:,3)+b(:,4)));
na constelao 16QAM
xQAM=xQAM.';
constelacao=[xQAM conj(xQAM(9:-1:1))];
scatterplot(constelacao),grid;
da constelao
x=[0 xQAM 0 conj(xQAM(9:-1:1))];
T=100;
k=10;
N=2*k;

%Gera 36 bits (4*9)


%Gera sequencia de
%Converte sequencia
%Cria alguns pontos
%Transposta
%cria constelao
%Plot com os pontos

%Durao do Smbolo
%Numero de Amostras

%x(t)
xt=zeros(1,101);
for t=0:100
for k=0:N-1
xt(1,t+1)=xt(1,t+1)+1/sqrt(N)*x(k+1)*exp(1i*2*pi*k*t/T);
%Pela Formula [2]
end
end

Relatrio Trabalhos Prticos S.R.T.

12

UNIVERSIDADE DO ALGARVE - INSTITUTO SUPERIOR DE ENGENHARIA


MESTRADO ENGENHARIA ELCTRICA E ELECTRNICA
SISTEMAS E REDES DE TELECOMUNICAES

%Plot x(t)
t2=[0:19];
figure;
plot(t2,abs(xt(1,1:5:100)),'m');
title('x(t)');
%x[n]
xn=zeros(1,N);
for n=0:N-1
for k=0:N-1
xn(1,n+1)=xn(1,n+1)+1/sqrt(N)*x(k+1)*exp(1i*2*pi*k*n/N);
%Pela Formula [1]
end
end
%Plot x[n]
figure;
plot([0:19],abs(xn),'b');
title('x[n]');
%Diferena entre x(t) e x[n]
for n=0:N-1
dif1(n+1)=xt(T/N*n+1)-xn(n+1);
end
errox=norm(dif1);
sprintf('Erro entre x(t) e x[n]: %d', errox)
%Recuperao da sequncia de smbolos enviada
y=zeros(1,10);
for k=1:9
for n=0:N-1
y(1,k+1)=y(1,k+1)+1/sqrt(N)*xn(n+1)*exp(-i*2*pi*k*n/N);
end
end
%Diferena entre a sequncia enviada e a sequncia recebida
dif2=y(1:10)-x(1:10);
e=norm(dif2);
sprintf('Erro entre as sequncias enviadas e recebidas : %d', e)

Relatrio Trabalhos Prticos S.R.T.

13

Potrebbero piacerti anche