DSP tekniklerini kullanarak SNR'yi geliştirme


14

Taşıyıcı frekansı olmayan bir optik OOK (On Off Key Ring) sistemi kuruyorum. [Bununla birlikte, semboller arasında bir koruma sürem var, bu yüzden ardışık bir “1” mesajı DC'nin aksine bir nabız dizisine neden olacaktır, resme bakın]. Esasen, sinyalin varlığı birini gösterir ve eksikliği sıfır anlamına gelir. Alıcıyı vericiyle senkronize eden hassas bir saatim var. Sistem düşük bir SNR ile çalışır ve DSP tekniklerini kullanarak SNR'yi geliştirmeyi seviyorum.

Bir kaç sorum var:

Donanımımda seçici örnekleme yapıyorum, başka bir deyişle kanalı sürekli olarak örneklemiyorum, ancak yalnızca sinyali görme olasılığı maksimum olduğunda örnek alıyorum (yani bu bir ışık darbesi, ADC'nin sonunda ADC örnekleri tüm analog zincirin stabil olduğunu bildiğim nabzın). Resme bakın. resim açıklamasını buraya girin

Doğal olarak, bu çizim gürültüyü göstermiyor ama orada. Bu özellikle düşük bir sinyal sistemidir ve birincil gürültü kaynakları atış gürültüsü, johnson gürültüsü ve amplifikatörlerin iç gürültüsüdür. (optik sistem böylece Güneş dışında başka müdahale yok). Gürültü gözlemim, tüm frekanslarda benzer olduğunu gösteriyor. (En azından Kapsamda gördüklerim)

Şimdi verilerin bir veya sıfır olup olmadığını belirlemek için yazılımda basit bir eşik karşılaştırması kullanıyorum. Daha iyi bir yol var mı? Bazı seçenekler düşündüm ama uzmanlardan haber almaktan hoşlanıyorum.

Şimdiye kadar aşağıdaki seçenekleri dikkate aldım:

  • Sürekli ADC yapın ve yükselme süresi boyunca entegre olmaya çalışın: Faydadan tam olarak emin değilim (Başka yararlar olabilir, bilmiyorum).

  • Yazılımda eşleşen filtre: Matematiği gerçekten anlamadım ama okuduğum şeye bağlı olarak, bir olasılık

  • Koruma süresi boyunca örnek alın ve bunu sinyal ADC değerinden çıkarın (Bu, daha fazla ayrıntı sağlayabilir, ancak o kadar da emin olmayabilir, koruma süresi gürültü ölçümü olacaktır)

  • Veri hızım hızlı olduğundan ve senkronize bir demodülatör elde etmek, çok MHz taşıyıcılı bir frekans sistemi kurmam gerektiğinden, donanımı senkronize bir kod çözücü, maliyetli, zaman alıcı ve iyi çalışmayabilir.


Örnekleyiciniz darbelerin ne zaman gerçekleşeceğini nasıl biliyor? Verici ve alıcı arasında başka bir zaman senkronizasyonu şekli var mı?
Jason R

@JasonR evet. Metinde belirtilmiştir.
Frank

1
Üzgünüm, ilk okuduğumda kaçırdım. Gürültü nasıl karakterize edilir? Beyaz mı? Gauss? Hiç gürültü bile mi yoksa başka bir kaynaktan gelen parazit mi? Not olarak, listelediğiniz ilk iki seçeneğin eşdeğer olduğunu düşünürüm ve bunlar sorununuzla ilgili olabilir, ancak önce sisteminizin koşulları hakkında daha fazla bilgi istedim.
Jason R

@ JasonR geribildirim için teşekkürler, gürültü ile ilgili soruyu güncelledim.
Frank

Eşleşen bir filtreye bazı ciddi bahisler yaparım.
Phonon

Yanıtlar:


9

Arka plan gürültünüzün güç spektrumunun düz olduğunu belirttiğiniz için, beyaz olduğunu varsayacağım . Mevcut yaklaşımınızın en büyük dezavantajı, büyük miktarda sinyal gücü atmanızdır; üstel yükselme adımı tepkisi ile diyagramınızda gösterilen ön uç bandlizasyonunun etkisiyle bile, yuvarlak darbenin ucuna yakın tek bir ADC örneği, zaman içinde oldukça lokalize olan alıcı girişinin bir anlık görüntüsünü sağlar. Daha yüksek bir hızda örnekleme yaparak ve daha yüksek örnekleme hızında eşleşen bir filtre uygulayarak daha fazla sinyal gücünden yararlanabilirsiniz .

Teori:

Buna tespit teorisinde nispeten basit bir problem olarak bakabilirsiniz . Her sembol aralığında, alıcınızın iki hipotez arasında karar vermesi gerekir:

H0:signal is not presentH1:signal is present

H0H1

x

Λ(x)=P(x | H0 is true)P(x | H1 is true)=P(x | signal is not present)P(x | signal is present)

xΛ(x)

x

H0:x=NH1:x=s+N

nsxH0H1 geçerlidir. Olasılık oranını değerlendirmek için, bu dağılımların ne olduğuna dair bir modele ihtiyacınız vardır. Yukarıda atıfta bulunulan Gauss davası için matematik şöyle görünür:

Λ(x)=P(x | H0 is true)P(x | H1 is true)=P(x | x=N)P(x | x=s+N)

Λ(x)=P(x | H0 is true)P(x | H1 is true)=ex22σ2e(xs)22σ2

σ2x . Log-olabilirlik oran exponentials kurtulmak için kullanılabilir:

ln(Λ(x))=ln(ex22σ2e(xs)22σ2)=(x22σ2)((xs)22σ2)

H0H0

x<s2choose H0x>s2choose H1

x=s2sT=s2xT

Uygulama:

s eşik seçimi biraz düşünmeyi gerektirir, böylece aradığınız o sinyalin.

Daha önce bahsettiğim gibi, gürültü genellikle Gauss olarak kabul edilir, çünkü normal dağılımın çalışması çok kolaydır: bir grup bağımsız Gaussian'ın toplamı hala Gauss'tur ve ortalamaları ve varyansları da ekler. Ayrıca, dağılımın birinci ve ikinci dereceden istatistikleri tamamen karakterize etmek için yeterlidir (bir Gauss dağılımının ortalaması ve varyansı göz önüne alındığında, pdf ). Umarım bu en azından başvurunuz için iyi bir yaklaşımdır.

sNs

Pe=P(choose H0 | H1 true)P(H1 true)+P(choose H1 | H0 true)P(H0 true)=12P(x<s2 | x=s+N)+12P(x>s2 | x=N)=12Fx | x=s+N(s2)+12(1Fx | x=N(s2))

Fx | x=s+N(z)xx=s+N

Pe=12(1Q(s2sσ))+12Q(s2σ)=12+12(Q(s2sσ)+Q(s2σ))=12+12(Q(s2σ)+Q(s2σ))=12+12(Q(SNR2)+Q(SNR2))=Q(SNR2)

Q(x) :

Q(x)=12πxez22dz

1SNRsσSNRsσ biraz karar hatası verme olasılığı azalır. Bu nedenle, bu oranı artırmak için elinizden geleni yapmanız gerekir.

sx1x2x1 ve iki bağımsız olanın toplamı?

SNR1=sσ

SNR2=2s2σ=2SNR1

EsN0 genellikle dijital iletişim sistemi performansını değerlendirirken bir liyakat figürü olarak kullanılır.

Daha titiz bir şekilde, eşleşen bir filtrenin, alıcının puls şekline karşı tek ince istisnası, şekil olarak özdeş olan (yani "eşleşti") bir dürtü tepkisine sahip olduğu gösterilebilir. görür (böylece daha büyük sinyal bileşenlerine sahip örnekleri daha güçlü bir şekilde ağırlar). Bu şekil, iletilen nabız şeklinin bir fonksiyonunun yanı sıra kanal veya alıcı ön ucu tarafından bant sınırlama veya çok yollu olarak indüklenen herhangi bir etkidir .

x

s ; antipodal sinyalleşme gibi diğer sinyal takımyıldızları (örn. ikili faz kaydırma anahtarlaması veya BPSK ) daha belirgin bir eşik seçeneğine sahiptir (BPSK için, eşit olasılıklı veriler için en iyi eşik sıfırdır).

OOK için bir eşik seçicinin basit bir uygulaması, birçok gözlemin ortalamasını hesaplayabilir. Sıfırların ve sıfırların eşit derecede olası olduğu varsayılarak, ortaya çıkan rastgele değişkenin beklenen değeri, aradığınız eşik olan sinyal genliğinin yarısıdır. Bu işlemi kayan bir pencerede gerçekleştirmek, değişen arka plan koşullarına biraz uyarlanabilir olmanıza izin verebilir.

Bunun sadece algılama teorisiyle ilgili olarak dijital iletişimde var olan konulara yüksek düzeyde bir giriş olması amaçlandığını unutmayın. Çok fazla istatistik içeren çok karmaşık bir konu olabilir; Temel teoriye sadık kalırken anlamayı biraz kolaylaştırmaya çalıştım. Daha iyi bir açıklama için, Sklar'ınki gibi iyi bir ders kitabı alın .


Ayrıntılı cevap için teşekkürler, ondan çok şey öğrendim. Birkaç açıklama istemek istiyorum. Süre boyunca 1'den fazla numunenin puanını alıyorum. Bu durumda, eşleşen bir filtre nasıl görünür? Diyelim ki üç örneğim var x1, x2, x3 (kuyruk ucunda x3 ve başında x1). Okuduğum şeye dayanarak, bunu aynı ama simetrik bir şekil sinyali ile bükmeliyim. Belki bu kısmı açıklayabilir misiniz? [Sanırım cevabı biliyorum ama sadece emin olmak için] İkinci kısım, ölçümler alırken gelen sinyalin dinamik aralığının ne olacağını biliyorum. Bu aralığı eşik ayarı için kullanabilir miyim?
Frank

Eşleşen filtre, alıcınız tarafından görülen sinyal ile beklenen darbe şekli arasında kayan çapraz korelasyon uygulamanın bir yoludur. Sorunuzda gösterilen diyagram, ADC tarafından üstel bir artış olarak görülen nabzı göstermektedir; eğer bu gerçekten alıcının gördüğü modeldir, o zaman uygun eşleşen filtre aynı zamanda, sadece zaman içinde tersine dönecektir (zaman tersine çevirme işlemini korelasyona dönüştürür). Alıcının ön ucu darbeyi önemli ölçüde bozmuyorsa, uygulanması daha basit olan "ideal" dikdörtgen uyumlu bir filtre kullanabilirsiniz.
Jason R

İkinci sorunuza göre: evet, sinyal bileşeninin beklenen genliğini önceden biliyorsanız , bir eşik seçmek için bunu kullanabilirsiniz. Sistem için istatistiksel modeli kullanarak (mevcut gürültü türüne bağlı olarak), bit hata oranını, sinyal / parazit oranının (sinyal genliği ile orantılı) bir fonksiyonu olarak hesaplayabilirsiniz. Alıcınızın termal gürültüsü baskın kaynaksa, beyaz Gauss gürültüsü genellikle iyi bir varsayımdır.
Jason R

Alıcımın yüksek frekanslı sinyalleri kesen bir BPF'si var. BPF, nabzın ilk artışını tamamlar ve doğada daha üstel olur. BPF'yi devre dışı bırakabilirim, ancak bu şu anda zincirde olmayan HF gürültüsünü tanıtacaktır. Görünüşe göre bir ödünç var, hangi yolun daha iyi olduğunu nasıl ölçebilirim. (örn. BPF'yi çıkarın ve nabız için uyumlu filtre kullanın, BPF'yi çıkarmayın ve üstel yükselme için eşleşen filtre kullanmayın)
Frank

Ödülünü sana verdim, harika bir cevap için çok teşekkürler.
Frank

0

Olası bir teknik, sadece 1'ler ve 0'lar arasında ayrım yapmak için değil, belirli bir eşik için bir güvenilirlik ölçüsü hesaplamak için değil, çeşitli bit dizilerinin bir uyarlanabilir bit karar eşiğini nasıl etkileyebileceğini analiz etmek için periyodik eğitim dizilerini kullanmayı denemek olabilir. .


ilginç düşünme ama uygun değil. Hızlı bir karar vermeliyim ve önceki verilerle çalışsam bile, alandaki değişiklikler büyük olurdu.
Frank
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.