IRIG-B modülasyonun çözülmesi

Başlatan gerbay, 04 Kasım 2011, 16:27:30

gerbay

arkadaşlar IRIG-B diye bir sinyal var. http://irigb.com/IRIGB_standard.html  linkinden sinyalin şeklini vs. görebilirsiniz. 1 KHz lik taşıyıcı sinyal ile genlik modülasyonu yapılmış dijital bir sinyal kendisi.  Ben bu genlik modülasyonundan kurtulup sinyalin dijital şeklini sağlıklı olarak tekrar nasıl elde edebilirim? Nasıl bir devre önerirsiniz?

z

Devreye ihtiyaç varmı? Doğrudan ADC ile okusan soft olarak demodüle edersin.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

z

Bence tam tersi, işlemciler bu iş için varlar.

Fakat dediğin gibi yapmak için, en yüksek sinyal seviyesini 1..2 volt civarına yükseltirsen;

Sinyali yarım dalga doğrultucudan geçirir ve elde edilen sinyali paralel RC devresine verirsen zarfı elde edersin.
RC zaman sabitini taşıyıcı frekansına göre belirleyeceksin. Zaten bu bahsettim klasik AM demodülasyonu.

Zarfı da komparatör ile belli bir eşikle mukayese edersen doğrudan asıl sinyali elde edersin.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

mufitsozen

Alıntı yapılan: gerbay - 04 Kasım 2011, 16:27:30
arkadaşlar IRIG-B diye bir sinyal var. http://irigb.com/IRIGB_standard.html  linkinden sinyalin şeklini vs. görebilirsiniz. 1 KHz lik taşıyıcı sinyal ile genlik modülasyonu yapılmış dijital bir sinyal kendisi.  Ben bu genlik modülasyonundan kurtulup sinyalin dijital şeklini sağlıklı olarak tekrar nasıl elde edebilirim? Nasıl bir devre önerirsiniz?

http://www.maxt.com/maxt/home.html

ama illa devreyi illa ben yapmak istiyorum dersen ozelden konusalim.

Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

GreeN

sinyali komparatörden sonra mcu'ya girsen yine adc kullansan ?
Terörü Lanetliyoruz.

SpeedyX

Sinyale bakınca pek zor birşey gibi görünmedi bana. Bildiğin genlik modulasyonu ise; karşılaştırma referans gerilimi max_genlik/2 olarak ayarlanmış bir opamp çıkışını capture compare modulu ile takip edip 1/0 ları yakalarsın. Ayrıca gelen sinyali biliyorsan yada sen kendin gönderiyorsan, önce bir pilot gönderip senkronizasyon için ufak bir korelasyon ile sinyalin başlangıcı bulunabilir. Yazılımsal olarak da işlemcinin kendi komparatörü var yada adc si var. Buffer içinde sinyal aramak zor olmaz.

http://www.google.com.tr/url?sa=t&rct=j&q=irigb%20demodulator&source=web&cd=9&ved=0CGoQFjAI&url=http%3A%2F%2Fftp2.pl.freebsd.org%2Fpub%2FFreeBSD%2Fcurrent%2Fsrc%2Fcontrib%2Fntp%2Fntpd%2Frefclock_irig.c&ei=gPmzTqT7BMWi-gb_nP2EBg&usg=AFQjCNEBrOMH3K-jVd0Hg04ZErmfV81_pg&sig2=msn5VZAu3t_SOpFCxnSfFQ&cad=rja

z

Sıfır geçiş dedektörü yapıp bununla int ürettirip timerla 90 derece gecikme yapıp gecikme sonunda ADC ile sample alabilirsin.

Fakat bu sayısal sinyal işleme mantığı olmaz bir nevi otomatik kontrol mantığı olur. Fakat işini de  görür.

Modemlerdeki gibi sinyali digitize edip daha sonra matematik işlemlerle demodülasyon yapılabilir. Bunun için taşıyıcı frekansının 2 katından daha yüksek frekansla sample almak yeterli olur.

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

CLR

Alıntı yapılan: gerbay - 04 Kasım 2011, 16:27:30
arkadaşlar IRIG-B diye bir sinyal var. http://irigb.com/IRIGB_standard.html  linkinden sinyalin şeklini vs. görebilirsiniz. 1 KHz lik taşıyıcı sinyal ile genlik modülasyonu yapılmış dijital bir sinyal kendisi.  Ben bu genlik modülasyonundan kurtulup sinyalin dijital şeklini sağlıklı olarak tekrar nasıl elde edebilirim? Nasıl bir devre önerirsiniz?

Gerbay yapman gereken basit,
1.yol : bunu genlik modulasyonu ile kolayca analog low-high'a çevirebilirsin, sinyali opampla genliği istediğin kıvama yükselt ve opamp çıkışında yarım dalga doğrultucu ile low ve high için bir voltaj seviyesi alacaksın. (mesela low=0,3V high=1V gibi) Dikkat etmen gereken şey, kullanacağın kondansatör değeridir, mümkün olan en küçük değerde tut. Hatta en iyisi yarım dalga çıkışını voltage follower'a gir ve ordan adc'ye.
2.Yol: low ve high seviyesi aldıktan sonra opamlı schmittrigger ile kolayca dijital 1-0'a çevirebilirsin. Bu durumda hiç adc çevrimine gerek kalmaz.
3.Yol: Eğer microcontroller'le true rms program yazdıysanda kolayca yapabilirsin sadece kritik nokta şudur. High ve low sinyaller için bir opamlı komparatör yapman lazım, sonra 64/128 örnek alıp true rms'ini hesaplamak. Böylede 1 ve 0'ları bulabilirsin.

Not : 1ve 2'de istersen kazancı düşük tutup bir dc voltaj üstünede bindirebilirsin.

Seç beğen kullan.

Knowledge and Experience are Power

rree

Yarım dalga doğrultma ve alçak geçiren filitre ile basit genlik  demodülasyon yöntemini niçin uygulamıyorsunuz.
Elde edilen demodülasyon sinyalini bir tanstör ile yükseltip  RB0 int kesmesi uygulanır. İki kesme arasındaki zamana herhangibi zaman sayıcısından öğrenilir.TMR1 olabilir.Elde edilen datalar bit bit bir temp değişkene yüklenir.Data doğruluğu sağlandıktan sonra temp den belirlenen değişkene atanır.

z

#9
Diyelimki ADC girisine 3v uygulanabiliyor. ADC girisine 10K direncle DC 1.5v uygulayin. Ayni zamanda bu ADC girisine, 1v genlikli sinyalinizi 1uF gibi kapasitor uzerinden girin.
Yapacaginiz tum donanimsal ek bu kadar.

Tasiyici frekansiniz 1Khz ise mesela 100us de ADC den sample alin. Bu aldiginiz degerler Vi olsun.

Gercek zamanda, Vi sample'ini, ayrica yazilimla urettiginiz 1Khz lik cos sinyali  ile carpin ve sonucu 2Khz lik low pass filitreden gecirin.

Filitre islemi sonucunda DC bir bilesen ortaya cikar. Bu bilesen, zarfin ta kendisidir.  Bu soylediklerimin altinda [cos(a)]^2 = 1/2(1-cos(2a)) bagintisi yatar.

(Bir yazilim parcasi DC bileseni max yapacak sekilde yazilimla urettiginiz cos sinyalinin fazini kaydirabilir. Yada yazilmsal faz gecis dedektoru fazlar cakistirilabilir.
Standartaki Ref sinyalinin amaclarindan birisi de bu faz kitlemesi icin denek sinyali gorevi gormesi olabilir.)

Gerek donanimsal gerek yazilimsal yontem cok....
Bana e^st de diyebilirsiniz.   www.cncdesigner.com