Você está na página 1de 8

Processamento Digital de Sinais Introduo

V.C.Parro vparro@ieee.org

Introduo

Este conjunto de atividades tem como objetivo introduzir os conceitos fundamentais de processamento digitais de sinais. Dentre estes conceitos pode-se destacar: 1. 2. 3. 4. 5. 6. Teorema da amostragem; Quantizao de sinais amostrados ( erro de quantizao); Filtragem analgica de sinais amostrados; Filtragem digital de sinais amostrados; Estruturas para implementao de ltros digitais; Transformada discreta de Fourier. Para realizarmos um estudo inicial utilizaremos como ferramenta de trabalho o SW Matlab&Simulink.

Aula 02

2.1

Inicializando o Matlab

Dois cuidados que devemos ter ao iniciarmos um trabalho utilizando o Matlab a congurao do caminho para leitura e gravao dos arquivos gerados utilizando no menu le a opo set path. Outra orientao importante manter a qualidade da documentao, procurando 1

sempre descrever nas primeiras linhas do programa todas as informaes necessrias para utilizao posterior do mesmo, como por exemplo: % PCT Motorola - Processamento Digital de Sinais - novembro, 2000 % Programa para observao do comportamento % de sinais amostrados % % Comandos utilizados: 1) waread, 2) playsnd % % Verso 1.0 %

2.2

Sintetizando sinais
Utilizando o comando playsnd: >>PLAYSND Implementation for SOUND PLAYSND(Y,FS,BITS) Listagem do Programa:

% PCT Motorola - Processamento Digital de Sinais % Novembro, 2000 % Programa para observao do comportamento % de sinais amostrados % % Comandos utilizados: 1) playsnd % % Verso 1.0 % clc; clear; %%%% Programa principal %%%%%%%%% t=linspace(0,100*pi,1000); y= sin(t); fs= 11000; bits=16; %%%% Rotina de visualizao %%%%%%%% stem(y(1:42)) %%%% Rotina de reproduo do som %%%%% playsnd(y,fs,bits) 2

Atividade: Implemente o programa descrito e verique o que acontece quando alteramos as variveis: fs e bits.

2.3

Quantizao

Com o objetivo de vericar os efeitos da quantizao em um sinal de voz, trabalharemos como o arquivo: keepdoor.wav. importante congurarmos os blocos zero-order hold e quantizer.

Atividade: Verique o que acontece com o som reproduzido quando diminumos os nveis de quantizao. Utilize o comando playsnd. Adicione um bloco subtrator que permitir a visualizao do erro de quantizao.

Atividade: Reproduza o som gerado pelo vetor erro.

2.4

O operador atraso: z1

Para ilustrarmos uma aplicao, criaremos um sistema capaz de gerar a sensao de eco ou reverberao. Para implementarmos tal efeito utilizaremos o conceito do operador atraso.

Atividade:Altere a quantidade de atraso na malha de realimentao e observe o efeito no sinal de saida.

2.5

A transformada discreta de Fourier - DFT

Utilizaremos apenas a DFT como ferramenta e durante o curso enteremos melhor sua cincepo. % PCT Motorola - Processamento Digital de Sinais % novembro, 2000 % Programa para observao do comportamento % Tempo e Frequncia % % Comandos utilizados: 1) t 2) tshift % % Verso 1.0 % function [H,W] = dtft(h,N) N=x(N); L=length(h); h=h(:); if (N<L) error(DTFT erro) end W=(2*pi/N)*[0:(N-1)]; mid = ceil(N/2)+1; W(mid:N)=W(mid:N)-2*pi; W=tshift(W); H=tshift(t(h,N));

2.6

Comparao: tempo vs frequncia

% PCT Motorola - Processamento Digital de Sinais % novembro, 2000 % Programa para observao do comportamento % Tempo e Frequncia % % Comandos utilizados: 1) lter 2) butter 3) subplot % % Verso 1.0 % clc; clear; [y,fs,bits]=wavread(d:nusernmotorolanwavenviol.wav); ord=input(digite a ordem do ltro =); wn=input(digite a frequncia de corte do ltro =); [b,a]=butter(ord,wn); saida=lter(b,a,y); [bh,ah]=butter(ord,wn,high); saidah=lter(bh,ah,y); [y1,w1]=dtft(y,max(size(y))); [y2,w2]=dtft(saida,max(size(saida))); [y3,w3]=dtft(saidah,max(size(saidah))); gure(1) subplot(2,2,1),plot(y,w-) xlabel(tempo) ylabel(amplitude) title(Sinal original) grid subplot(2,2,2),plot(w1/(2*pi),20*log10(abs(y1)),w-) xlabel(frequncia) ylabel(Mdulo) title(Sinal original) grid subplot(2,2,3),plot(saida,w-) xlabel(tempo) ylabel(amplitude) title(Sinal ltrado) grid subplot(2,2,4),plot(w2/(2*pi),20*log10(abs(y2)),w-) xlabel(frequncia) ylabel(Mdulo) 6

title(Sinal ltrado) grid gure(2) subplot(2,2,1),plot(y,w-) xlabel(tempo) ylabel(amplitude) title(Sinal original) grid subplot(2,2,2),plot(w1/(2*pi),20*log10(abs(y1)),w-) xlabel(frequncia) ylabel(Mdulo) title(Sinal original) grid subplot(2,2,3),plot(saidah,w-) xlabel(tempo) ylabel(amplitude) title(Sinal ltrado) grid subplot(2,2,4),plot(w3/(2*pi),20*log10(abs(y3)),w-) xlabel(frequncia) ylabel(Mdulo) title(Sinal ltrado) grid

Referncias

[1] Stephen Banks - Signal Processing, Image Processing and Patern Recognition - Stephen Banks - Prentice Hall,1990. [2] Barnwell III, Thomas P.; Nayebi,Kambiz & Richardson, Craig H. - Speech Coding - A computer laboratory textbook - John Wiley ,1996 [3] Smith, Mark J.T. & Mersereau, Russell M. - Introduction to Digital Signal Processing - A computer laboratory textbook - John Wiley,1992 [4] Smith, Mark J.T. & Mersereau, Russell M. -Digital Filtering - A computer laboratory textbook - John Wiley,1994 [5] Proakis, John G. & Ingle, Vinay K. - Digital Signal Processing using MATLAB V.4 - PWS,1997 [6] Proakis, John G. & Salehi, Masoud - Contemporary Communicaton Systems using MATLAB V.4 - PWS,1998 [7] Bradley, Kevin & Stonick, Virginia - Labs for Signal and Systems using MATLAB - PWS,1996 7

[8] KUO, B. C. & HANSELMAN, D. C. - Matlab Tools for Control System Analysis and Design - Prentice Hall, 1994. [9] MATLAB - Users Guide - The Mathworks Inc., 1992. [10] OGATA, K. - Solving Control Engineering Problems with Matlab - Prentice Hall, 1994. [11] OGATA, K. - Designing Linear Control Systems with Matlab Prentice Hall, 1994. [12] SIMULINK - Users Guide - The Mathworks Inc., 1992.

Você também pode gostar