
printf("\nEXEMPLO DE FILTRO COM 1 ZERO: f=220Hz, quadrada\n");
printf("ZERO variando linearmente entre -1 (R/2 Hz) e 1 (0 Hz)\n");
fflush(stdout);

% Frequencia
f=220;

% Duracao
d=5;

% Taxa de Amostragem
R=8000;

% Cria onda quadrada, toca e mostra na tela.
x=quadrada(f,d,R);

% r percorre linearmente os valores entre -1 e +1 (zero do filtro)
r=(-1:2/(d*R):1)';

% Aplica a equação do filtro
y=x;
for i=2:d*R
  y(i)=x(i)-r(i)*x(i-1);
end;

% Mostra as respostas de magnitude variando com a posição do zero do filtro
gset yrange [0:2];
w=0:0.01:3.14;
for i=1:(R/10):d*R
  plot(abs(1-r(i)*exp(-sqrt(-1)*w)));
end;

% Normaliza o resultado e toca
y=100*y/max(y);
playaudio(y);

printf("pressione qualquer tecla\n");pause;

printf("IDEM, com ruido branco\n");
fflush(stdout);

% Cria ruido branco e toca.
x=100*rand(d*R,1);
playaudio(x);

% Aplica a equação do filtro
y=x;
for i=2:d*R
  y(i)=x(i)-r(i)*x(i-1);
end;

% Normaliza o resultado e toca
y=100*y/max(y);
playaudio(y);
