TSinais Trab9 TurnoP3

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 3

Teoria de Sinais – 2022-23

Trabalho 9
ˆ Respostas que envolvam Octave, devem conter os resultados (ou código).
/ If the question involve OCTAVE, the answers should contain the results
(or the code).

Questões individuais
Neste trabalho vamos processar um excerto de registo sonoro, o qual se encontra corrompido
pela presença de um elemento indesejado. O objetivo do trabalho é “limpar” o registo sonoro.

Atenção: Para realizar o seu trabalho o ficheiro com o registo sonoro deve estar locali-
zado no diretório de trabalho do octave:

No inı́cio do trabalho deve carregar a informação relativa ao registo sonoro (ligações


atribuı́das a cada aluno na Tabela 1, no final do enunciado):

>> [x,fs]=audioread(["sinal_????.wav"]); % importa o registo sonoro


>> who % lista as variaveis existentes no workspace
fs x
% fs é a frequ^
encia de amostragem usada no registo sonoro
% x é a sequ^
encia de valores correspondente ao registo sonoro: x(k)

Pode escutar o ficheiro audio ”sinal_????.wav” usando o reprodutor de áudio do seu


computador. Nos primeiros instantes do excerto sonoro, pode ouvir uma campainha, que
se sobrepõe à música. Pretende-se remover a campainha do registo, sem provocar danos
significativos à música.

(a) Obtenha a transformada de Fourier da sequência x(k):

>> N=length(x) % comprimento do registo x(k)


>> Xw= fft(x); % transformada de Fourier X(w) -- w: [ 0 , 2*pi]
>> w= (0:N-1)*2*pi/N;
>> plot(w,abs(Xw)) % representaç~
ao gráfica de | X(w) |
Observe a representação gráfica de |X(ω) = TF {x(k)}| e tente identificar a gama de
frequências associada ao som da campainha.
A gama de frequências associada à campainha pode ser identificada tendo em atenção
que o seu som corresponde a um sinal com grande intensidade, concentrado num in-
tervalo de frequências muito limitado.
(b) Projete um filtro para rejeição da gama de frequências identificada na alı́nea anterior:

|H(ω)|
1

ω
−π ωA ωB π
Determine a resposta impulsional deste filtro h(k).
Qual o valor de h(k) para k = 0?
(c) Implemente o filtro projetado:

>> N1=1500; % este valor pode ter de ser ajustado


>> k= -N1:N1; % intervalo de tempom da resp.impulsional
>> h= ??? ; % a express~
ao que calculou
>> h( find(k==0) )= ??? ; % o valor que calculou
>> y=conv( h , x );
>> G_amplif=0.8/max(abs(y)); % factor de amplificacao, melhora
% audicao do excerto
>> audiowrite(["sinal_limpo.wav"],G_amplif*y,fs); % guarda sinal
% "limpo" que pode ser escutado com o reprodutor de audio do seu
% computador

Comente o resultado obtido.


(d) Obtenha a transformada de Fourier da sequência “h” usada na convolução dos sinais:

>> Hw=fft( h );
>> Nh=length(h);
>> wh= (0 : Nh-1 )* 2*pi/Nh;
>> plot(wh , abs( Hw ) )

Compare com o filtro projetado e comente as diferenças encontradas.


Como poderá diminuir essas diferenças?
Tabela 1: Número de aluno e ficheiro audio correspondente.
Número Ficheiro Audio
59777 sinal 9215 .wav
58274 sinal 7481 .wav
62455 sinal 5194 .wav
62413 sinal 4431 .wav
62446 sinal 4473 .wav
62695 sinal 3262 .wav
62854 sinal 5244 .wav
62832 sinal 5255 .wav
62632 sinal 8242 .wav
61024 sinal 8142 .wav
62809 sinal 6392 .wav
57063 sinal 4175 .wav
61012 sinal 8193 .wav
63064 sinal 5352 .wav
60415 sinal 3471 .wav
62970 sinal 9293 .wav
66911 sinal 8451 .wav
63103 sinal 5433 .wav
63136 sinal 6324 .wav
63395 sinal 6223 .wav
63345 sinal 2326 .wav
63368 sinal 3245 .wav
63352 sinal 5155 .wav

Você também pode gostar