Sunteți pe pagina 1din 26

Introdução

Processamento
Multi-taxa
ESTI019 – Codificação de Sinais Multimídia
Prof. Mário Minami
Março 2018
Estruturas
Diretas I (a) e II
(b).
Filter do Matlab
implementa a
forma direta II
% sistema LTI, filtro Chebyshev
% sistema LTI, filtro Chebyshev
% Cálculo da Resposta em Frequencia e o Diagrama de polos-e-zeros
% Minami - 1Q18 - ref. Ljiljana Milic: Multirate Filtering for DSP Matlab
clear all, close all
[B,A] = cheby1(5,1,0.4) % Projeto do filtro Chebyshev, ordem 5
[H,f] = freqz(B,A,250,2); Mag=abs(H); % Resposta em Frequencia e a Resposta em magnitude
Fase = unwrap(angle(H));
Gd,f] = grpdelay(B,A,250,2); % Resposta de Fase e o Atraso de Grupo
figure (1)
subplot(2,2,1), zplane(B,A), subplot(2,2,2), plot(f,Mag), axis([0,1,0,1.1])
xlabel('Frequencia Normalizada \omega/\pi'), ylabel('Magnitude')
subplot(2,2,3), plot(f,Fase), axis([0,1,-8,0])
xlabel('Frequencia Normalizada \omega/\pi'), ylabel('Fase, rad')
subplot(2,2,4), plot(f,Gd), axis([0,1,0,15 ])
xlabel('Frequencia Normalizada \omega/\pi'), ylabel('Atraso de Grupo, Amostras')
% Exemplo Downsampling fator M=2
% Exemplo Downsampling fator M=2;
% ESTI019 - Minami - 1Q18
% ref. Ljiljana Milic: Multirate Filtering for DSP Matlab
N = 41 ; % Comprimento da sequencia
n = 0:N-1; % Indice de Tempo
x = 0.6*sin(2*pi*0.0625 *n)+0.3*sin(2*pi*0.2*n); % Sinal Original
M = 2; % Fator de Down-sampling
y = x(1:M:N); % Sinal Down-sampled
L = length(y); % Comprimento da sequencia de down-sampled
figure (1);
subplot(2,1,1), stem(0:N-1,x(1:N)); title('Exemplo de Down-sampling M=2');
xlabel('Indice de Tempo n'), ylabel('x[n]')
subplot(2,1,2)
stem(0:L-1,y(1:L))
xlabel('Indice de Tempo m'), ylabel('y[m]')
Downsampling
M=2
% Exemplo Upsampling fator L=2;
% Exemplo Upsampling fator L=2;
% ESTI019 - Minami - 1Q18
% ref. Ljiljana Milic: Multirate Filtering for DSP Matlab
N=21 ; % Comprimento da sequencia original
n=0:N-1; % Indice de Tempo
x=0.7*sin(2*pi*0.0625 *n)+0.3*sin(2*pi*0.2*n); % Sinal Original
L=2; % Fator de Up-sampling
y=zeros(1,L*length(x));
y([1:L:length(y)])=x; % Sinal Up-sampled
Ny = length(y)-L+1 % Comprimento do sinal up-sampled
figure (2)
subplot(2,1,1)
stem(0:20,x(1:21 )); title('Exemplo de Up-sampling L=2')
xlabel('Indice de Tempo n'), ylabel('x[n]')
subplot(2,1,2)
stem(0:40,y(1:41 ))
xlabel('Indice de Tempo m'), ylabel('y[m]')
Upsampling
L=2
Sistemas
Down-
Sampling são
variantes no
tempo
Sistemas up-
sampling
também são
variantes no
tempo
% Espectro de um sinal down-sampled
% ESTI019 - Minami - 1Q18
% ref. Ljiljana Milic: Multirate Filtering for DSP Matlab
clear all, close all
% Gerando o sinal de entrada 'x'
F = [0,0.1,0.46,1]; A=[0,1,0,0]; % Setup dos parâmetros de entrada para fir2
x = fir2(256,F,A); % Geração do sinal original 'x'
X = fft(x,1024 ); % Cálculo do espectro do sinal original
f = 0:1/1024 :(512 -1)/1024 ; % Frequencias Normalizadas
figure (1)
subplot(4,1,1), plot(f,abs(X(1:512 ))), legend('(a)')
ylabel('¦X(e^j^\omega)¦’)
ESPECTRO DE SINAL
M = 2; % Fator de Down-sampling
DOWN-SAMPLED
y2 = x(1:M:256 ); % Down-sampling
Y2 = fft(y2,1024 ); % Cálculo do espectro do sinal down-sampling
subplot(4,1,2), plot(f,abs(Y2(1:512 ))),legend('(b)')
ylabel('¦Y_2(e^j^\omega)¦’)

M = 3; % Fator de Down-sampling
y3 = x(1:M:256 ); % Down-sampling
Y3 = fft(y3,1024 ); % Cálculo do espectro do sinal down-sampling
subplot(4,1,3), plot(f,abs(Y3(1:512 ))),legend('(c)')
ylabel('¦Y_3(e^j^\omega)¦’)

M = 4; % Fator de Down-sampling
y4=x(1:M:256 ); % Down-sampling
Y4 = fft(y4,1024 ); % Cálculo do espectro do sinal down-sampling
subplot(4,1,4), plot(f,abs(Y4(1:512 ))),legend('(d)')
ylabel('|(Y_4(e^j^\omega)|'), xlabel('\omega/\pi')
Espectro de
Sinal Down-
Sampled
% Espectro de um sinal up-sampled. ESTI019 - Minami - 1Q18
% ref. Ljiljana Milic: Multirate Filtering for DSP Matlab
clear all, close all
F = [0,0.2,0.9,1]; A = [0,1,0,0]; % Setup dos parâmetros do fir2
% OBS.: fir2 projeta FIRs por sampling com Respostas de frequencia arbitrárias
x = fir2(128,F,A); % Generação do sinal ‘x’
X = fft(x,1024 ); % Cálculo do espectro do sinal original
f = 0:1/512 :(512 -1)/512 ; % Frequências Normalizadas
figure (1); subplot(4,1,1), plot(f,abs(X(1:512 )))
ylabel('|X(e^j^\omega)|'), text(0.9,0.6,'(a)')
L = 2; % Fator de Up-sampling
y2 = zeros(1,L*length(x));
y2([1:L:length(y2)]) = x; % Sinal Up-sampled, L=2
Y2 = fft(y2,1024 ); % Cálculo do espectro do sinal up-sampled
subplot(4,1,2), plot(f,abs(Y2(1:512 )))
ylabel('|Y_2(e^j^\omega)|'), text(0.9,0.5,'(b)')
L = 3; % Fator de Up-sampling
y3 = zeros(1,L*length(x));
y3([1:L:length(y3)]) = x; % Sinal Up-sampled, L=3
Y3 = fft(y3,1024 ); % Cálculo do espectro do sinal up-sampled
subplot(4,1,3), plot(f,abs(Y3(1:512 )))
ylabel('|Y_3(e^j^\omega)|'), text(0.9,0.6,'(c)')
L = 4; % Fator de Up-sampling
y4 = zeros(1,L*length(x));
y4([1:L:length(y4)]) = x; % Sinal up-sampled, L=4
Y4 = fft(y4,1024 ); % Cálculo do espectro do sinal up-sampled
subplot(4,1,4), plot(f,abs(Y4(1:512 )))
ylabel('|(Y_4(e^j^\omega)|'), xlabel('\omega/\pi'), text(0.9,0.5,'(d)')
Espectro
Sinal Up-
Sampled
1. Limitação da banda do sinal original para π/M
2. Down-sampling por pelo fator M

Decimação
% Espectro do sinal decimado
% ESTI019 - Minami - 1Q18
% ref. Ljiljana Milic: Multirate Filtering for DSP Matlab
clear all, close all
% Sinal de Entrada 'x’

F =[0,0.1,0.46,1]; A = [0,1,0,0]; % Setup dos parametros para fir2


x1 = fir2(256,F,A); x2 = 0.01*cos(2*pi*0.35*(0:256)); % Geração dos componentes do sinal
x = x1 + x2; % Sinal Original
X = fft(x,1024 ); % Cálculo do espectro do sinal original
f = 0:1/512 :(512 -1)/512 ; % Frequencias Normalizadas
figure (1)
subplot(3,1,1), plot(f,abs(X(1:512 )))
ylabel('|X(e^j^\omega)|'), text(0.9,0.8,'(a)’)

% Sinal Down-sampled
M = 2; % Fator de Down-sampling
y = x(1:M:256 ); % Down-sampling
Y = fft(y,1024 ); % Cálculo do espectro do sinal down-sampled
subplot(3,1,2), plot(f,abs(Y(1:512 )))
ylabel('|Y(e^j^\omega)|'), text(0.9,0.5,'(b)’)

% Decimação do Sinal
yd = decimate(x,M); % Sinal Decimado
Yd = fft(yd,1024 ); % Cálculo do espectro do sinal decimado
subplot(3,1,3), plot(f,abs(Yd(1:512 )))
xlabel('\omega/\pi'),ylabel('|Y_d(e^j^\omega)|'), text(0.9,0.5,'(c)')
Espectro
Sinal
Decimado
1. Up-sampling do sinal original pela inserção de L-1 zeros entre
duas amostras consecutivas
2. Remoção das L-1 imagens do espectro do sinal up-sampled

Interpolação
% Espectro do sinal interpolado
% ESTI019 - Minami - 1Q18
% ref. Ljiljana Milic: Multirate Filtering for DSP Matlab
clear all, close all
% Sinal de Entrada ‘x’
F = [0,0.2,0.9,1]; A = [0,1,0,0]; % Setup dos parametros do fir2
x = fir2(128,F,A); % Generação do sinal original ‘x’
X = fft(x,1024 ); % Cálculo do espectro do sinal original
f = 0:1/1024 :(512 -1)/1024 ; % Frequencias Normalizadas
figure (1); subplot(3,1,1), plot(f,abs(X(1:512 )))
ylabel('|X(e^j^\omega)|'), text(0.9,0.5,'(a)')
L = 4; % Fator de Up-sampling
xu = zeros(1,L*length(x));
xu([1:L:length(xu)]) = x; % Sinal Up-sampled
Xu = fft(xu,1024 ); % Cálculo do espectro do sinal up-sampled
subplot(3,1,2), plot(f,abs(Xu(1:512 )))
ylabel('|X_u(e^j^\omega)|'), text(0.9,0.5,'(b)')
y = interp(x,L); % Sinal Interpolado
Y = fft(y,1024 ); % Cálculo do espectro do sinal interpolado
subplot(3,1,3), plot(f,abs(Y(1:512 )))
ylabel('|(Y(e^j^\omega)|'), xlabel('\omega/(2\pi)'), text(0.9,2, '(c)')
Espectro
Sinal
Interpolado
1ª, 2ª e 3ª
Identidades
4ª, 5ª e 6ª
identidades
• São três esquemas de tolerância nas
Especificações frequências de corte wp, mas nos três casos:
de Filtros para • As frequências dos limiares são definidas
em termos da frequência de amostragem da
Decimadores maior taxa
• As frequências dos limiares são expressas
e em termos do fator de decimação M, mas
de forma equivalente pelo fator de
Interpoladores Interpolação L