matlab
20 de Março de 2010
Grupo 10
Joana Nunes
Nº 58497
João Marques
Nº 58513
1. Leitura e visualização do ficheiro de áudio com ruído Salt & Pepper Este trabalho experimental tem como objectivo a implementação e utilização de filtros para remover ruído do tipo Salt & Pepper de um ficheiro de áudio. Nesta primeira alínea, pretende-se identificar o ruído presente na amostra. Para tal, recorreu-se à função wavread para ler o ficheiro de áudio para um array, e escutou-se o seu conteúdo através da função soundsc. Pode identificar-se nitidamente locais onde existe saturação, ou seja, onde os valores são muito diferentes dos valores vizinhos, em localizações aparentemente aleatórias. Fez-se também uma análise gráfica, apenas aos primeiros dois segundos da amostra, onde se pode observar nitidamente este tipo de ruído distribuído de forma aleatória.
Figura 1. Ampliação da amostra de áudio
Código MATLAB
[x,Fs,Nbits]=wavread('fugee.wav');
%soundsc(x,Fs); %commented to save time plot(x(1:2*Fs)); 2. Implementação de um filtro linear. Nesta alínea, pretende-se implementar um filtro cuja função de transferência seja (1) Em termos de , esta função de transferência reflecte-se em (2) onde e .
Este tipo de filtro foi implementado em MATLAB, e encontra-se na função filtro.m.
Código MATLAB function [ y ] = filtro(x,A,B )
%FILTRO Função que filtra x com A e B
M=length(B)-1; %tamanho de B, menos 1
N=length(A)-1; %tamanho de A, menos 1 y=zeros(length(x),1); %vector de resposta for n=1:length(y) %iterar nas posiçoes do vector de resposta k1=0; k=0; %1º Somatório while