Bagaimana saya harus pra-proses sinyal bernilai nyata untuk menggunakan estimator Kay?

21

Saya memiliki 100.000 sampel sinyal yang disampel pada 20kHz. Data tersebut adalah data getaran dari mesin yang berputar, dan berisi komponen spektral yang signifikan terkait dengan kecepatan putaran mesin.x[n]

Karena kecepatan mesin bervariasi selama durasi sampel, menggunakan puncak FFT tidak menghasilkan hasil yang saya cari.

Jadi saya ingin menggunakan estimator seperti estimator Kay yang memungkinkan estimasi jangka pendek, tetapi mengasumsikan model sinyal:

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

di mana = 0 ... 99.999, adalah amplitudo, adalah frekuensi yang diperkirakan, adalah offset awal, dan adalah noise kompleks.A ω θ z [ n ]nAωθz[n]

Namun, sinyal saya bernilai nyata dan lebih mirip:

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

di mana dan sekarang bernilai nyata. AzrA

Bagaimana cara mengubah sinyal bernilai riil saya menjadi sinyal bernilai kompleks, sehingga saya dapat menggunakan estimator Kay?

Peter K.
sumber

Jawaban:

12

Alat untuk mengubah sinyal nyata menjadi representasi analitik mereka adalah transformasi Hilbert .

Misalkan sinyal Anda adalah proyeksi dari beberapa rotasi heliks dengan amplitudo variabel ke bidang real-time, seperti pada gambar di bawah.

masukkan deskripsi gambar di sini

Sumber

Transformasi Hilbert menghasilkan sinyal kompleks seperti itu mengingat bagian aslinya. Ini adalah transformasi linear dan sangat mudah dilakukan dalam domain frekuensi. Tanpa mempelajari matematika dan derivasi terlalu dalam, bagian imajiner Fourier Transform dari sinyal Anda sama dengan salah satu sinyal Anda yang sebenarnya dikalikan dengan (diputar 90 derajat). Dengan sifat simetris sinyal nyata, Anda mendapatkan hubungan berikut:j

Semua komponen negatif Anda menjadi 0.

Komponen DC Anda tetap sama.

Semua komponen frekuensi positif Anda berlipat ganda

Di Matlab, misalnya, Anda akan melakukan hal berikut:

a = rand(1,201);

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

atau cukup gunakan hilbertfungsi bawaan.

Phonon
sumber
Maaf, saya seharusnya mengutip sumbernya. Itu dari sini
Phonon
7

Jika Anda ingin menggunakan estimator Kay, Anda perlu mengubah sinyal minat menjadi representasi "sinyal analitik". Ini pada dasarnya menghilangkan frekuensi redundan (misalnya negatif) dari sinyal bernilai riil semula. Karena simetri konjugat dari representasi domain frekuensi sinyal dihancurkan dalam proses ini, hasilnya kompleks. Kemudian, Anda harus bisa menerapkan teknik yang Anda inginkan.

Pendekatan lain juga tersedia untuk masalah pelacakan frekuensi. Dimungkinkan untuk menerapkan algoritma LMS untuk melakukan estimasi frekuensi sesaat (Haykin, "Adaptive Filter Theory," hal. 244-246). Atau, Anda dapat menggunakan loop fase-terkunci untuk melacak komponen spektral diskrit dari waktu ke waktu. Solusi yang tepat adalah fungsi dari apa tujuan akhir Anda dan apa karakteristik spesifik sinyal Anda.

Jason R
sumber
-1

Seharusnya tidak masalah. Model:

Aexp(jωn+θ)

adalah model yang sangat umum dalam pemrosesan sinyal dan teknik listrik, yang dikenal sebagai phasor . Pada dasarnya itu adalah sinyal sinusoidal dengan beberapa fase offset, dan offset amplitudo. Anda tidak perlu melakukan transformasi sama sekali, sinyal Anda akan lebih dari cukup untuk dimasukkan ke estimator Kay.

PearsonArtPhoto
sumber