Kare dalga ve sinüs dalga sinyalleri arasındaki fazın tespiti


9

Bir dijital kare dalga girişi (PLD, 1.8Vp tarafından üretilen) ve bir sinüs dalga çıkışı (0.5 - 3.5 Vp) olan bir devre var. Her iki sinyal de 100kHz frekansa sahiptir, ancak faz farklıdır.

Bu iki sinyal arasındaki faz farkını tespit etmenin iyi bir yolu nedir? Şimdiye kadar gördüğüm faz dedektörleri tüm dijital veya tüm analog sinyaller için mi? Sahip olduğum gibi karışık sinyal devresi için bir tane var mı?

Güncelleme

Faz farkını 1 derece ile bilmek uygulamam için yeterlidir. Frekanslar her zaman birbirine göre kilitlenir ve asla değişmez. Kare dalga sürücüler analog elektronikler ve analoglar, içinde AM modülasyonlu sinyale sahip sinüs dalgası üretir. Ancak sinyalin genliği, taşıyıcının genliğine kıyasla çok düşüktür. Üretim değişkenliği nedeniyle analoglar (bazı elle sarılmış indüktörleri içerir) fazın birimden birim değişkenliğine yüksek sahiptir ve DSP için çıkış sinüs dalgasını işleyen bir otomatik ayarlama yöntemi bulmaya çalışıyorum.


2
Faz farkını ne kadar doğru bilmeniz gerekir? Ve bunu bir kerelik bir deney olarak mı yoksa devrenizin devam eden işlevinin bir parçası olarak mı yapmanız gerekiyor? İki parça aslında frekans kilitli mi (ya da frekanslarını ortak bir referanstan mı elde ediyorlar) ya da her ikisi de nominal olarak 100 kHz mi?
Photon

Yanıtlar:


11

Faz tespiti dijital sinyaller için en kolay olanıdır; temelde bir XOR geçidi. Sinüsü kare bir dalgaya dönüştürürdüm. Bir karşılaştırıcıyı bir girişte sinüs ve diğerinde ortalama sinüs (LPF) ile besleyin, böylece karşılaştırıcı% 50 görev döngüsü kare dalgası verir. Ardından bir dijital faz dedektörü kullanın.


Bir kare dalgadan sinüs dalgası yapmak için bir karşılaştırıcı kullanmayı düşündüm, ancak sorun sinüs dalgasının genliğinin 0,5 ila 3,5 V aralığında değişebilmesidir. Bu bir üretim değişkenliği ve bu konuda yapabileceğim hiçbir şey yok. Yine de, bu durumda sıfır çapraz algılama bir çözüm olabilir ... Dikkate değer olabilir.
udushu

1
@udushu - Ortalama LPF bunu çözer. Değişen genlik ve DC ofseti ile ilgilenecektir.
stevenvh

@stevenvh, LPF'nin giriş sinyali genliğinin faz ölçümünü etkilemediğini garanti etmek için yeterli olduğunu düşünmüyorum. Karşılaştırıcılar, dağılım olarak adlandırılan bir özelliğe sahiptir, bu da giriş genliği değiştikçe yayılma gecikmesinin değiştiği anlamına gelir. OP'nin faz hatası (yaklaşık 40 ns) gereksinimlerini karşılayabilen bir karşılaştırıcıya benziyor ve daha fazla telafi olmadan da yeterince düşük dispersiyona sahip olmalı; ancak bu kullanım için bir karşılaştırıcı seçerken kontrol etmek önemli bir şey olacaktır.
Photon

@ThePhoton - Bir noktanız var, ancak OP cevap verdiğimde henüz 1 ° doğruluğundan bahsetmemişti. OTOH, 100 ps'den daha az dispersiyona sahip karşılaştırıcılar vardır, bu da 1 dereceden daha iyi birkaç büyüklük sırasıdır.
stevenvh

@ThePhoton - Sıfır çapraz karşılaştırıcı bir çözüm gibi görünüyor. Tartışma için hepinize teşekkürler.
udushu

4

Sinüs dalgasını işleyen bir DSP'niz olduğunu söylediğiniz için, fazı ölçmek için karmaşık bir Fourier dönüşümü kullanabilirsiniz (yalnızca bilinen frekansta DFT'yi değerlendirmeniz gerekir).

Bu aslında Curd'un karıştırma hakkında önerdiği şeyle yakından ilgilidir - tek nokta DFT , bir tür karıştırıcı ve ardından entegratörler veya alçak geçiren filtrelerdir. Fark, karmaşık alanda (veya analog olanda bir IQ mikseri kullanarak) karmaşık çıktının açısını belirleyebilmenizdir. Sadece gerçek bileşenleri veya sadece tek bir mikseri kullanarak, gecikmeden kaynaklanan kurşun ve genlik hassasiyetinin daha zor olacağını söyleyemezsiniz.


Keşke yapabilseydim. Bu şu anda yaşadığım birçok sorunu çözerdi. Ne yazık ki, kullanmam gereken DSP'nin 100 kHz'lik bir sinyalde gerçek zamanlı DFT yapmak için gereken beygir gücünün yakınında hiçbir yeri yok.
udushu

Yalnızca bir frekans bölmesi hesaplamanız gerekir - insanların bir fourier dönüşümü ile ilişkilendirdiği normal # bins = # sample değil. Ayrıca, fazı ne sıklıkta ölçmeniz gerekir? Nadiren de olsa asıl soru, sisteminizin bu hızda örnek alıp depolayabileceğidir, eğer işleyebiliyorsa değil.
Chris Stratton

DSP şu anda 20kHz'de örnekleyecek şekilde yapılandırılmıştır ve 100kHz taşıyıcı değil yalnızca demodüle edilmiş sinyal örneklenmektedir. Kullandığım alçakgönüllü dsPIC33'ün 100kHz'lik bir sinyali örnekleyebileceğini sanmıyorum.
udushu

@udushu hızlı bir arama, dsPIC'in bir mega örnek / saniye hakkında yapabileceğini gösteriyor. Ancak analog bant genişliği yeterliyse ve frekansı biliyorsanız, kasıtlı olarak örtüşmeyi örnekleyebilir ve kullanabilirsiniz.
Chris Stratton

0

Her iki giriş sinyalinin genliğinin sabit olduğunu varsayarsak (bir AGC devresi tarafından sabit hale getirilemezlerse), faz dedektörü olarak bir mikser (çoklayıcı) kullanabilirsiniz:

Sinyaller fazdaysa, çıkış pozitif olacaktır.
Sinyaller 180 ° faz dışındaysa çıkış negatif olacaktır.
Diğer faz farklılıkları için, çıktı bu değerler arasında bir yerde olacaktır.

Örneğin faz tespiti, veri sayfasında IC çoklayıcı analog AD233 uygulamalarından biri olarak belirtilmiştir .

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.