EP2 - Dúvida sobre a DFT e DCT para um sinal de áudio

EP2 - Dúvida sobre a DFT e DCT para um sinal de áudio

por Nicolas Nogueira Lopes da Silva -
Número de respostas: 1

Olá!

No notebook DSP_Exemplos_Cap_2, temos um exemplo do cálculo da DFT para um sinal de áudio, a linha que calcula o áudio é:

X = np.fft.fft(x[:,0])

A primeira dúvida é a razão em se utilizar x[:,0], e não usar simplesmente X = np.fft.fft(x) como vemos nos exemplos da função auxiliar de cálculo da DFT no notebook DSP_Exemplos_Cap_3.

A segunda dúvida seria em relação ao cálculo da DCT, temos a função auxiliar do cálculo da DCT para uma função neste mesmo notebook, porém, não temos um exemplo do cálculo da DCT para um sinal de áudio. A DCT é calculada da seguinte forma na função auxiliar:

X = spfft.dct(x, norm='ortho')

Para o sinal de áudio utiliza-se a mesma forma ou utiliza-se x[:,0] no lugar de x (assim como na DFT para o sinal de áudio)?

 

Grato,

 

Nicolas

Em resposta à Nicolas Nogueira Lopes da Silva

Re: EP2 - Dúvida sobre a DFT e DCT para um sinal de áudio

por Thilo Koch -

Nicolas.

Infelizmente não consegui localizar onde no 'DSP_Exemplos_Cap_2' se encontra a chamada 'np.fft.fft(x[:,0])'. De todo jeito, x[:,0] é a expressão de selecionar a primeira coluna da matriz. Se x é vetor de uma dimensão, não existen colunas.

 

>>> x = np.array([[1,2,3], [4,5,6]])
>>> x
array([[1, 2, 3],
       [4, 5, 6]])
>>> x[:,0]
array([1, 4])

>>> x = np.array([1,2,3, 4,5,6])
>>> x
array([1, 2, 3, 4, 5, 6])
>>> x[:,0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: too many indices for array

2) Sim, você pode usar a DCT dessa forma.

 

Abs, Thilo.