Bagaimana cara 'memutihkan' sinyal domain waktu?

12

Saya mencoba memahami bagaimana sebenarnya menerapkan apa yang dikenal sebagai filter 'pra-pemutihan' atau hanya filter 'pemutihan'.

Saya mengerti bahwa tujuannya adalah untuk membuatnya memiliki delta sebagai fungsi autokorelasi, tetapi saya tidak yakin bagaimana melakukan ini dengan tepat.

Konteksnya di sini adalah sebagai berikut: Sinyal diterima pada dua penerima yang berbeda, dan korelasi silangnya dihitung. Korelasi silang dapat terlihat seperti segitiga, atau bentuk terkutuk lainnya. Karena ini, menjadi sulit untuk menemukan puncak sinyal korelasi silang. Dalam hal ini saya mendengar tentang harus 'memutihkan' sinyal sebelum korelasi silang dilakukan pada mereka, sehingga korelasi silang sekarang lebih seperti delta.

Bagaimana ini dilakukan?

Terima kasih!

Spacey
sumber
Perhatikan bahwa dalam konteks sistem komunikasi, pertanyaan Anda yang dijelaskan sebagai pemutih pada dasarnya menjalankan fungsi equalizer. Kedengarannya sama bagi saya; mungkin hanya nomenklatur yang berbeda.
Jason R
Ya, nomenklatur yang tidak didefinisikan dengan jelas membuatnya semakin membingungkan mengenai apa yang kadang-kadang mereka coba lakukan.
Spacey

Jawaban:

7

Misalkan Anda memiliki sinyal dan yang fungsi korelasi silangnya bukan sesuatu yang Anda sukai; Anda ingin menjadi seperti impuls. Perhatikan bahwa dalam domain frekuensi, Jadi, Anda menyaring sinyal melalui filter linear dan masing-masing untuk mendapatkan , , dan , , dan sekarang fungsi korelasi silangnya adalah yang transformasi Fouriernya adalah y ( t ) R x , y ( t ) R x , y F [ R x , y ] = S x , y ( f ) = X ( f ) Y ( f ) . g h x ( t ) = x * g X ( f )x(t)y(t)Rx,y(t)Rx,y

F[Rx,y]=Sx,y(f)=X(f)Y(f).
ghx^(t)=xgy = y * h Y ( f ) = Y ( f ) H ( f ) R x , y F [ R x , y ] = S x , y ( f )X^(f)=X(f)G(f)y^=yhY^(f)=Y(f)H(f)Rx^,y^ R x , y Rx,yRh,gghG(f)H*(f)ghX(f)Y(f)
F[Rx^,y^]=Sx^,y^(f)=[X(f)G(f)][Y(f)H(f)]=[X(f)Y(f)][G(f)H(f)]=[X(f)Y(f)][G(f)H(f)],
yaitu, adalah korelasi silang dari dengan . Lebih penting lagi, Anda ingin memilih dan sehingga kepadatan lintas-spektral dari dan adalah kebalikan perkalian dari lintas-spektral density dari danRx^,y^Rx,yRh,ggh G(f)H(f)gh X(f)Y(f)yxy, atau sesuatu yang dekat dengannya. Jika Anda hanya memiliki satu sinyal dan satu filter, maka Anda mendapatkan hasil yang diberikan oleh Hilmar (dengan amandemen seperti yang diberikan oleh komentar saya di sana). Dalam kedua kasus, masalah kompensasi untuk null spektral, atau umumnya, pita frekuensi di mana sinyal memiliki sedikit energi masih tersisa.
Dilip Sarwate
sumber
Terima kasih atas asnwernya - dapatkah Anda menjelaskan panjangnya yang terlibat di sini? Misalnya, berapa panjang fungsi transfer daya X, jika x [n] adalah panjang N? (Sama dengan Anda ...)
Spacey
Oke - saya akan menerima jawabannya, tetapi akan menulis pertanyaan baru yang baru saja lepas malam ini dan kita bisa mengambilnya dari sana. Terima kasih lagi.
Spacey
7

Pra-pemutihan dapat dilakukan dengan memfilter dengan fungsi transfer yang kira-kira kebalikan dari spektrum daya sinyal. Katakanlah Anda memiliki sinyal audio yang kira-kira berwarna merah muda. Untuk memutihkan itu, Anda akan menerapkan filter pink terbalik (respons frekuensi naik 3 dB per oktaf).

Namun, saya tidak yakin apakah ini akan membantu masalah Anda. Pra-pemutihan cenderung memperkuat bagian energi rendah dalam sinyal, yang dapat berisik dan karenanya meningkatkan kebisingan keseluruhan di sistem Anda. Jika Anda mencoba untuk menentukan apakah dua sinyal selaras waktu (atau apa keselarasan waktu itu) maka ada beberapa ketidakjelasan yang melekat dalam masalah yang terkait dengan bandwidth sinyal. Itu persis diwakili dalam bentuk domain waktu dari fungsi autokorelasi. 

Hilmar
sumber
Terima kasih atas jawaban Anda - ya membalikkan spektrum seperti yang Anda katakan mungkin tidak akan bekerja di sini ... penggunaan 'pra-pemutih' tampaknya sangat ada di mana-mana saya cenderung berpikir ada banyak cara untuk melakukannya selain itu? ...
Spacey
2

xxx

xCij=1NxDataxixjNi,jx

Setelah Anda memiliki matriks kovarians ini, Anda dapat menghitung transformasi pemutihan dalam bentuk matriks untuk melipatgandakan data untuk mendapatkan versi yang diputihkan. Kovarian dari data baru yang diputihkan ini adalah matriks identitas.

y=C1/2x

Anda dapat menghitung dengan menggunakan Cholesky dekomposisi mana . Untuk matriks 2x2 sangat mudah menggunakan aljabar sederhana . Data yang diputihkan diberikan oleh , yang karena adalah segitiga yang lebih rendah dapat secara efisien dihitung oleh solver umum tanpa membentuk invers. C = L L T y = L - 1 x LC1/2C=LLTy=L1xL

Robotbugs
sumber
0

Jika hanya tentang cara memfilter bagian energi rendah dalam sinyal, dapatkah Anda menggunakan filter lowpass? Ada beberapa implementasi tentang ini.

Jika ini bermanfaat: Artikel ini dari Karjalaien et. al adalah tentang filter pemutih dan metode prediksi linear bengkok, yang digunakan oleh filter.

jcomouth
sumber