Como devo pré-processar um sinal com valor real para usar o estimador de Kay?

21

Eu tenho 100.000 amostras de um sinal que foi amostrado em 20kHz. Os dados são dados de vibração de uma máquina rotativa e contêm um componente espectral significativo relacionado à velocidade de rotação da máquina.x[n]

Como a velocidade da máquina varia ao longo da duração da amostra, o uso do pico da FFT não produz o resultado que estou procurando.

Então, eu quero usar estimadores, como o estimador de Kay, que permitem estimativas de curto prazo, mas assumem um modelo de sinal de:

x[n]=Aexp(jωn+θ)+z[n]

onde = 0 ... 99.999, é a amplitude, é a frequência a ser estimada, é o deslocamento inicial e é o ruído complexo.A ω θ z [ n ]nAωθz[n]

No entanto, meu sinal é real e parece mais com:

x[n]=Acos(ωn+θ)+zr[n]

onde e agora têm valor real. AzrA

Como faço para transformar meu sinal com valor real em um sinal de valor complexo, para que eu possa usar o estimador de Kay?

Peter K.
fonte

Respostas:

12

A ferramenta para converter sinais reais em sua representação analítica é a transformação de Hilbert .

Suponha que seu sinal seja uma projeção de alguma rotação helicoidal com amplitude variável no plano em tempo real, como na imagem abaixo.

insira a descrição da imagem aqui

Fonte

A transformação de Hilbert produz um sinal tão complexo, dada sua parte real. É uma transformação linear e é muito fácil de fazer no domínio da frequência. Sem aprofundar muito a matemática e as derivações, a parte imaginária da transformada de Fourier do seu sinal é igual à do sinal real multiplicado por (girado em 90 graus). Por propriedades simétricas do sinal real, você obtém o seguinte relacionamento:-j

Todos os seus componentes de ferquência negativos tornam-se 0.

Seu componente DC permanece o mesmo.

Todos os seus componentes de frequência positiva dobram

No Matlab, por exemplo, você faria o seguinte:

a = rand(1,201);

hilbert_a = ifft( [ 1, 2*ones(1,100), zeros(1,100)] .* fft(a) );

ou simplesmente use a hilbertfunção incorporada.

Phonon
fonte
Desculpe, eu deveria ter citado a fonte. É daqui
Phonon
7

Se você deseja usar o estimador de Kay, precisa converter o sinal de interesse em sua representação de "sinal analítico". Isso basicamente elimina as frequências redundantes (por exemplo, negativas) do sinal original com valor real. Como a simetria conjugada da representação no domínio da frequência do sinal é destruída nesse processo, o resultado é complexo. Então, você poderá aplicar a técnica que deseja.

Outras abordagens também estão disponíveis para o problema de rastreamento de frequência. É possível aplicar o algoritmo LMS para realizar estimativas instantâneas de frequência (Haykin, "Adaptive Filter Theory", pp. 244-246). Como alternativa, você pode usar um loop de fase bloqueada para rastrear o componente espectral discreto ao longo do tempo. A solução certa é uma função de qual é seu objetivo final e quais são as características específicas do seu sinal.

Jason R
fonte
-1

Não deveria importar. O modelo:

UMAexp(jωn+θ)

é um modelo muito comum no processamento de sinais e engenharia elétrica, conhecido como fasor . Essencialmente, é um sinal sinusoidal com algum deslocamento de fase e desvio de amplitude. Você não precisa fazer nenhuma transformação; seu sinal será mais do que suficiente para alimentar o estimador de Kay.

PearsonArtPhoto
fonte