Simular o sistema em python para o estudo de caso de processamento de sinal

Simular O

PÇÕES a, b, e c usando um arquivo de voz de um homem de frases de leitura de voz. O arquivo entra a simulação como um arquivo WAV:

Video: Roda Fônica Simulada com PIC

Dentro [685]: Fs, s = ssd.from_wav ( `OSR_us_000_0030_8k.wav`)

É possível gerar a combinação SOI + SNOI usando uma função personalizada que retorna r dada a entrada de voz s, a relação sinal-para-interferência (SIR), em dB - μ = 0,005 10log10(SIR) - o número de amostras a processar, uma série de frequências de interferência, e a taxa de amostragem.

r = soi_snoi_gen (s, SIR_dB, N, fi, fs = 8000)

Neste caso, SIR é fixado em -10 dB, o que significa que o poder no SNOI é 10 vezes o poder do SOI! Sinusóides em 1.000 e 600 Hz estão gritando nos seus ouvidos quando você está tentando ouvir alguém falar com você- quão suave é que?

O processo de filtros FIR e IIR r na linha de comando IPython usando a função SciPy signal.lfilter (b, a, r). Você pode, então, implementar o filtro adaptativo usando a seguinte função personalizada:

n, r, r_hat, e,Ao,F,Ao = Lms_ic (r, H,mu,delta = 1)

Esta função retorna um grande número de ndarrays:

  • e, o sinal de erro, e[n] é também



  • a matriz Ao é o último conjunto de coeficientes de filtro.

    Video: Sistema de processamento de sinais cardíacos

  • F é uma matriz de frequência utilizada para traçar a magnitude da resposta de frequência do filtro em dB, encontrado em Ao.

Você pode obter uma vista de combinação-domínio de frequência e no domínio do tempo através da espectrograma. As parcelas espectrograma os termo curto estimativa espectral do sinal verticalmente versus o tempo. As cores brilhantes indicam a intensidade espectral ou altura acima do fundo.

A figura contém três subtramas: s[n] Sobreposto com r[n] A -10 dB SIR (Figura a),

a saída do entalhe em cascata usando IIR r = 0,95 para ambas as secções (Figura B), e parcelas do espectrograma de IIR entalhe cascata de saída (Figura C).

[Ilustração por Mark Wickert, PhD]

O SNOI é potente quando visto no domínio do tempo (Figura a). A figura b mostra que a cascata de filtros de entalhe IIR executa uma excisão limpa dos dois tons SNOI. O espectrograma (Figura c) confirma o que está acontecendo no domínio da frequência. O entalhe IIR remove apenas uma faixa muito estreita de freqüências, deixando assim o SOI em grande parte intactos.

Você pode exportar a saída de simulação de Python como arquivos WAV usando ssd.to_wav ( ‘test_FIR_IIR.wav’, fs, s_hat). Um teste de audição é muito melhor do que o que eu posso fazer com gráficos neste livro, de modo a tentar algumas experiências em seu próprio país.

A figura a seguir fornece os resultados dos dois tempo e no domínio da frequência para o filtro adaptativo, que é formalmente conhecido como um supressor de interferências adaptativo (AIC). As parcelas para (a) e (c) mostram a capacidade notável da AIC para convergir rapidamente para filtrar coeficientes que removem tons 1.000 e 600 Hz do SNOI.

A μ parâmetro foi reduzida para 0,001 para retardar o processo de convergência e torná-lo visível na trama da Figura um. A trama de espectrograma Figura c mostra a curto ligeiro desvio de tons SNOI então convergência e tom excisão.

[Ilustração por Mark Wickert, PhD]

A audição é a prova final. O código Python é no módulo ssd.py. O arquivo de voz OSR_us_000_0030_8k.wav também está disponível. encontrar tanto conectados.


Publicações relacionadas