ehm 382 sayısal haberleşme dönem projesi
Transkript
ehm 382 sayısal haberleşme dönem projesi
T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ Elektronik ve Haberleşme Mühendisliği Bölümü EHM 382 SAYISAL HABERLEŞME DÖNEM PROJESİ MATLAB YARDIMIYLA SAYISAL HABERLEŞME UYGULAMALARI Mart 2014 Yrd. Doç. Dr. Mehmet Fatih ÇAĞLAR Dr. Yılmaz KALKAN 1. Projenin amacı Bu projenin amacı EHM 382 Sayısal Haberleşme dersi kapsamında öğrenilen konuların MATLAB© ortamında üretilmesini sağlamak ve böylelikle teorik bilgilerin pratik çalışma ile desteklenmesini sağlamaktır. 2. Projenin Tanımı Dönem projesi kapsamında 5 değişik proje konusu önerilmiştir. Bu konulardan sadece birisi seçilerek gerçekleştirilecektir. Proje iki kişilik gruplar halinde yapılacaktır. Proje konuları şu şekilde belirlenmiştir: 1. Değişik olasılık dağılım fonksiyonlarına (probability distribution function - pdf) sahip rastlantısal değişkenlerin üretilmesi ve olasılık dağılım fonksiyonlarının elde edilmesi o Normal (Gaussian) Dağılım o Tekdüze (Uniform) Dağılım o Üstel (Exponential) Dağılım 2. Darbe Genlik Modülasyonlu (PAM), Darbe Pozisyon Modülasyonlu (PPM) ve Darbe Genişliği Modülasyonlu (PWM PDM) sinyallerin üretilmesi 3. Darbe Kod Modülasyonu (Pulse Code Modulation - PCM) 4. Delta Modülasyonu ve Demodülasyonu 5. Hat Kodlama (Line Coding) Bu proje konuları ile ilgili detaylı bilgi ilerleyen sayfalarda verilmiştir. Seçilen proje konusuyla ilgili teorik bilgi verildikten sonra MATLAB© da uygulaması yapılacaktır. MATLAB© da kullanıcı arayüzü (Graphical User Interface - GUI) hazırlanması da öngörülmektedir. 3. Proje Konuları 3.1. Değişik olasılık dağılım fonksiyonlarına (probability distribution function - pdf) sahip rastlantısal değişkenlerin üretilmesi: Bu proje konusu kapsamında 3 değişik dağılıma (normal, tekdüze ve üstel) sahip rastlantısal değişkenlerin üretilmesi gerekmektedir. Normal dağılım için, belirli bir ortalama değerine (µ) sahip “N” adet (N öğrenci tarafından belirlenecektir) rastlantısal değişken üretilecektir. µ ve N değerlerinin değişken (kullanıcı tarafından ayarlanabilir) olması gerekmektedir. Üretilen N adet rastlantısal değişken kullanılarak olasılık dağılım fonksiyonunun normal (Gaussian) olduğu gösterilecektir. (bknz: histogram). Ayrıca, normal dağılım fonksiyonu (teorik olarak çıkartılan) da çizdirilecektir. Şekil 1. de normal dağılım için istenilen ekran çıktısı gösterilmiştir. Farklı “N” ve “µ” değerleri için sonuçlar gösterilecektir. Histogram of Normal Distribution 4000 elde edilen pdf 3500 teorik pdf 3000 2500 2000 1500 1000 500 0 -5 -4 -3 -2 -1 0 1 2 3 4 5 Şekil 1. Normal dağılıma sahip olasılık dağılım fonksiyonunun elde edilmesi Aynı işlemlerin üstel ve tekdüze dağılımlar için de yapılması gerekmektedir. Üstel dağılım için ortalama değer (µ) değişken olmalıdır. Sonraki adımda “N1” uzunlukta “N2” adet tekdüze dağılıma sahip rastlantısal değişkenler üretilecektir. Bu “N2” adet vektörün toplamı ile elde edilecek “N1” adet rastlantısal değişken yardımıyla bu yeni elde edilen rastlantısal değişkenin olasılık dağılım fonksiyonu üretilecektir. “N1” ve “N2” parametrelerinin değişimine göre elde edilen sonuçlar karşılaştırılacak ve yorumlanacaktır. Aynı işlem üstel ve normal dağılımlara sahip rastlantısal değişkenler kullanılarak da tekrarlanacak ve sonuçlar karşılaştırılacaktır. Bütün işlemler MATLAB da gerçekleştirilecektir. 3.2. Darbe Genlik Modülasyonlu (PAM), Darbe Pozisyon Modülasyonlu (PPM) ve Darbe Genişliği Modülasyonlu (PWM - PDM) sinyallerin üretilmesi Bu proje konusu kapsamında PAM, PPM ve PWM (PDM) sinyalinin MATLAB da üretilmesi ve gösterilmesi amaçlanmaktadır. Öncelikle sinüsoidal bir sinyal üretilip örneklenecektir. Üretilen darbelerin genlikleri (PAM), süreleri (PWM) ve pozisyonları (PPM), örneklenmiş sinyaldeki örnek değerlerine bağlı olarak değiştirilerek darbe modülasyonlu sinyaller üretilecektir. Şekil 2 de, darbe parametreleri gösterilmektedir. Şekil 2. Darbe parametreleri Üretilmesi gereken modülasyon türleri şunlardır: o Darbe Genlik Modülasyonu - PAM: Örneklenen sinyalin örnek değerlerine bağlı olarak, τ uzunluğundaki darbelerin genlikleri değiştirilecektir.(t0 = 0) o Darbe Pozisyon (Darbe Yeri) Modülasyonu – PPM: Örneklenen sinyalin örnek değerlerine bağlı olarak, τ uzunluğundaki darbelerin 0-T zaman aralığı içersindeki başlangıç yerleri (t0) darbeden darbeye değiştirilecektir.(A = 1) o Darbe Genişlik Modülasyonu – PWM: Örneklenen sinyalin örnek değerlerine bağlı olarak, A genliğindeki darbelerin süreleri (τ) darbeden darbeye değiştirilecektir.(A = 1, t0 = 0) Ayrıca bu modülasyon türleri için, ortalama güç değerleri de hesaplanacaktır. Elde edilmesi gereken örnek ekran çıktıları Şekil 3 ve Şekil 4 de gösterilmiştir. Original Signal Amplitude 2 1 0 -1 -2 0.6 0.5 Time, t Sampled Signal 0.7 0.8 0.9 1 12 10 Samples, n 14 16 18 20 0 0.1 0.2 0.3 0.4 0 2 4 6 8 Amplitude 2 1 0 -1 -2 Şekil 3. Bilgi Sinyali ve örneklenmiş bilgi sinyali. PAM Signal Amplitude 2 1 0 -1 -2 0 0.1 0.2 0.3 0.4 0.5 0.6 Time, t PPM Signal 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 Time, t PWM Signal 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.7 0.8 0.9 1 Amplitude 1 0.5 0 Amplitude 1 0.5 0 0.5 Time, t 0.6 Şekil 4. PAM, PPM ve PWM sinyalleri. Darbe Kod Modülasyonu (Pulse Code Modulation - PCM): Bu proje konusu kapsamında PCM sinyalinin MATLAB da üretilmesi ve gösterilmesi amaçlanmaktadır. Öncelikle sinüsoidal bir sinyal üretilip örneklenecektir. Daha sonra “τ” uzunluğunda darbelerden oluşan bir darbe katarı üretilecektir. Darbe katarı ile örneklenmiş sinyal kullanılarak PAM sinyali elde edilecek ve gösterilecektir. Üretilen PAM sinyali kuantalanarak (M seviye) voltaj seviyeleri sabit değerlere çekilecektir. Kullanılan kuantalama seviyesine bağlı olarak ihtiyaç duyulacak PCM kodları ekranda gösterilecektir. Burada M ve “τ” parametreleri ayarlanabilir olmalıdır. Elde edilmesi gereken ekran çıktıları aşağıda gösterilmiştir. Original Signal 6 4 Amplitude 2 0 -2 -4 -6 0 0.1 0.2 0.3 0.4 0.5 Time, t 0.6 1 0.9 0.8 0.7 Şekil 5. Sinüs sinyali (1 Hz) Sampled Signal 5 4.5 4 3.5 Amplitude 3.3. 3 2.5 2 1.5 1 0.5 0 0 5 10 15 20 30 25 Samples, n 35 Şekil 6. Örneklenmiş sinyal 40 45 Pulse Train 1 0.9 0.8 Amplitude 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.05 0.1 0.15 Time, t 0.2 0.25 Şekil 7. Darbe katarı (darbeler τ genişliğinde) PAM and Quantized Signals 6 PAM signal Quantized signal 4 Amplitude 2 0 -2 -4 -6 0 0.1 0.2 0.3 0.4 0.5 Time, t 0.6 0.7 0.8 0.9 1 Şekil 8. PAM ve kuantalanmış (M = 4) sinyaller 4 seviye kuantalama (M = 4) işlemi için elde edilen kodlar MATLAB ana ekranında aşağıdaki örnektekine benzer bir şekilde gösterilmelidir. Symbol Code ------- ---------1 0 0 2 0 1 3 1 0 4 1 1 Delta Modülasyonu / Demodülasyonu Bu proje konusu kapsamında Delta Modülasyonu ve Demodülasyonu MATLAB ortamında gerçeklenecektir. Üretilen bir sinüsoidal sinyale delta modülasyonu uygulanacak ve delta modüleli sinyalden tekrar bilgi sinyali elde edilecektir. Ayrıca ara adımlarda elde edilen kestirimci çıkışındaki sinyal ve hata sinyali de gösterilecektir. Delta modülasyonu için kullanılan adım boyutu (∆) değişken olacaktır. Original Signal 6 4 Amplitude 2 0 -2 -4 -6 0 0.1 0.2 0.3 0.4 0.5 Time, t 0.6 0.7 0.8 0.9 1 Şekil 9. Sinüs sinyali (1 Hz) Delta Modulated Signal 2 1.5 1 0.5 Amplitude 3.4. 0 -0.5 -1 -1.5 -2 0 0.1 0.2 0.3 0.4 0.5 Time, t 0.6 0.7 0.8 Şekil 10. Delta modüleli sinyal 0.9 1 Original, Estimated and Error Signals (Modulator Side) 6 Original signal Estimated Signal Error Signal 4 Amplitude 2 0 -2 -4 -6 0 0.1 0.2 0.3 0.4 0.5 Time, t 0.6 0.7 0.8 0.9 1 Şekil 11. Bilgi sinyali, Kestirimci çıkışı ve hata sinyalleri Original, Demodulated and LPFiltered Signals (Demodulator Side) 6 Original signal Estimated Signal Filtered Output 4 Amplitude 2 0 -2 -4 -6 0 0.1 0.2 0.3 0.4 0.5 Time, t 0.6 0.7 0.8 0.9 1 Şekil 12. Bilgi sinyali, Demodüle edilmiş sinyal ve filtre çıkışındaki sinyal Hat Kodlama (Line Coding) Bu proje konusu kapsamında hat kodları ve bunların güç spektral yoğunluk fonksiyonları incelenecektir. Hat kodlama için kullanılacak darbe sinyali ( p(t) ) 0-T aralığında tanımlanacak ve darbe süresi τ ile sınırlı olacaktır (0-τ aralığında p(t) bulunacak τ-T aralığı 0 olacaktır). Burada T ve τ değişken olacaktır. Girilecek N uzunluğundaki bit dizisi kullanılarak hat kodlaması yapılacaktır. Kullanılacak hat kodları şunlardır: On – Off Polar Bipolar Duobinary Split-phase (Manchester) kodlanmış sinyalin gösterimi yapıldıktan sonra, yukarda adı geçen hat kodlarının güç spektral yoğunluk (Power Spectral Density PSD) fonksiyonları çizdirilerek avantajları ve dezavantajları tartışılacaktır. “1 1 1 0 0 0 1 1 0 1 0 0 1 0 1 0” şeklinde bit dizisi için, beklenen ekran çıktıları şu şekilde olmalıdır. On-Off Signaling Polar Signaling 2 Amplitude Amplitude 2 0 -2 0 0.2 0.4 0.6 time [sec] BiPolar Signaling Amplitude Amplitude 0 0.2 0 0.2 0.8 0 0.2 0.4 0.6 0.8 time [sec] Split Phase (Manchester) Signaling 0 -2 2 0 -2 0.4 0.6 time [sec] Duobinary Signaling 2 0 -2 0 -2 0.8 2 Amplitude 3.5. 0 0.2 0.4 time [sec] 0.6 0.8 Şekil 13. Hat kodlaması 0.4 time [sec] 0.6 0.8 PSD of different Line Codes 0.03 Polar codes Bipolar codes Duobinary codes Splitphase Code 0.025 Amplitude 0.02 0.015 0.01 0.005 0 0 50 100 150 200 250 w Şekil 14. Değişik hat kodları için güç spektral yoğunluk (PSD) fonksiyonları. 4. Matlab da kullanıcı arayüzü (GUI) hazırlama Proje kapsamında MATLAB da kullanıcı arayüzü (Graphical User Interface - GUI) hazırlanması gerekmektedir. Seçilen proje konusuna göre belirlenecek parametreler GUI üzerinden kontrol edilebilmelidir. GUI kolay anlaşılabilir ve kolay kontrol edilebilir olmalıdır. 5. Raporlama Dönem projesinin değerlendirilmesinde öncelikle projenin istenilenleri gerçekleştirip gerçekleştiremediğine bakılacaktır. Bunun için bir rapor hazırlanıp sonuçlar bu raporda sunulmalıdır. Her grup sadece bir rapor hazırlayacaktır, grup üyeleri tarafından ayrı ayrı rapor hazırlanmayacaktır. Rapor formatı ve içeriği şu şekilde olmalıdır: • Öncelikle rapor kapağı olmalı, bu kapakta raporu hazırlayan kişinin/kişilerin ad, soyad ve öğrenci numaraları yazılmalıdır. • Raporun ilk kısmında seçilen proje konusuyla ilgili teorik bilgiler verilmeli ve kısaca açıklanmalıdır. MATLAB© da sinyallerin üretilmesi için kullanılacak matematiksel modeller açıkça verilmelidir. Bu teorik kısım 2 sayfayı geçmemelidir. • Sonraki bölümde MATLAB© kullanılarak elde edilen ekran çıktıları verilmelidir. Bu çıktılarda eksen isimleri ve her şeklin bir başlığı olması gerektiği unutulmamalıdır. • Son olarak sonuç kısmı ile rapor sonlandırılmalıdır. Sonuç kısmında öncelikle elde edilen sonuçlar hakkında yorumlar ve tartışmalara yer verilmelidir. Bununla yanında bu projede karşılaşılan zorluklar ve nasıl çözüldüğü açıklanmalı ayrıca projenin öğrenciye katkısından (olumlu/olumsuz) bahsedilmelidir. • Kaynakça kısmında yararlanılan kaynakların sıralanması gerekmektedir. İnternet kaynakları için de, yararlanılan sitelerin adresi mutlaka verilmelidir. NOT : Rapor tek bir dosya olarak hazırlanmalı, her kısım ayrı ayrı gönderilmemelidir. Rapor .doc, .docx veya .pdf formatlarından birinde hazırlanmalıdır. 6. Değerlendirme Projenin değerlendirilme aşamasında öğrenci tarafından hazırlanan MATLAB© kodları ve proje raporu incelenecektir. “Proje raporu” ve “MATLAB©kodları” 16/05/2014, saat 23:59‘a kadar e-posta ile “Sayısal Haberleşme Dönem Projesi” konu başlığı ile [email protected] adresine gönderilecek ayrıca basılı rapor verilmeyecektir.Her grup sadece bir e-posta atacak ve bir rapor ve bir kod gönderecektir. MATLAB© kodlarında, her satırın yanında açıklaması olmalıdır. Ayrıca kodların ve raporun e-posta ile gönderilmesinden sonra, her grup 10 dk.lık sözlü sunuma çağrılacaktır (sunum programı bölüm web sayfasından duyurulacaktır). Bu aşamada veya herhangi bir aşamada öğrencinin kodları kendisinin hazırlamadığı tespit edilirse KOPYA işlemi yapılacak ve o grubun proje notu 0 (sıfır) olarak verilecektir. Bu nedenle projenin grup üyeleri tarafından hazırlanması ve konuya hakim olmaları önemlidir. Tam olmayan, sadece belli sonuçları içeren raporlar kısmi değerlendirilecektir. Rapor hazırlanmadan gönderilen MATLAB© kodları değerlendirmeye alınmayacaktır. Not : Matlab kodları tek bir “.m” uzantılı dosya şeklinde hazırlanmalı ve sadece bu dosya gönderilmelidir. GUI hazırlandıysa, bu GUI ye ait “.fig” uzantılı dosyanın da gönderilmesi gerektiği unutulmamalıdır. 7. Referanslar Bu proje ile hem derste öğrenilen bilgilerin pratiğinin yapılması hem de MATLAB© kullanımına teşvik edilmesi amaçlanmıştır. Sayısal Haberleşme konularında, ders notları başta olmak üzere aşağıdaki referanslar önerilmektedir: Sayısal Haberleşme ders notları “İletişim Sistemlerinin Temelleri”, Çeviri:Halis Altun, Ertan Öztürk, Yusuf Erkan Yenice, Nobel Akademi Yayıncılık, 2010. “CommunicationSystemEngineering”, J. G. Proakis, M. Salehi, Prentice-HallInc., 1994 “Modern Digitaland Analog CommunicationSystems”, B. P. Lathi, Oxford UniversityPress, 1998 MATLAB© kullanımı için en temel kaynak MATLAB©ın kendisidir. Çok geniş ve kullanışlı yardım hizmeti vermektedir. “help” komutu ile her komutun ne işe yaradığı ve nasıl kullanıldığı bilgisine kolaylıkla ulaşılabilmektedir. Örneğin “plot” komutunun nasıl kullanıldığına dair “help” komutu çalıştırılırsa (MATLAB© ana ekranda “help plot” yazıp enter a basılırsa), şu açıklama ekrana gelir: Help plot PLOT Linearplot. PLOT(X,Y) plots vector Y versus vector X. If X or Y is a matrix ,then the vector is plotted versus the rows or columns of the matrix, which ever lineup. If X is a scalar and Y is a vector, disconnected line objects are created and plotted as discrete points vertically at X. Bunun yanında en yaygın kullanılan MATLAB© komutu “lookfor” dur. Bu komut sayesinde yaptırılmak istenilen işlemin hangi © MATLAB komutu tarafından yapılabileceği kolaylıkla bulunur. Örneğin ekrana bir figür çizmek için hangi komut kullanılacağını öğrenmek için “lookfor figure” komutu yazılıp çalıştırıldığında MATLAB© ana ekranda içinde “figure” sözcüğü geçen tüm komutlar, açıklamalarıyla birlikte listelenecektir. Bu sayede kullanılacak komut kolaylıkla seçilerek “help” komutu ile de kullanımı öğrenilebilecektir. Projeyle ve MATLAB© ile ilgili her türlü sorunuz için Dr. Yılmaz Kalkan’a danışabilirsiniz. Danışma saatleri Çarşamba 10.30 – 11:30 ile sınırlıdır ve bu saatlerin dışında öğrenci kabul edilmeyecektir 8. Proje Kapsamında Kullanılacak bazı MATLAB© komutları help lookfor figure plot title xlabel ylabel : Komutların ne işe yaradığını öğrenmek için kullanılır : Girilen sözcüğün içinde geçtiği komutları listeler : Figür çizmek için pencere açar : İki vektörü birbirine göre çizer : Figüre başlık ekler : Figürün x eksenine yazı ekler : Figürün y eksenine yazı ekler Dr. Yılmaz KALKAN, 18.03.2014
Benzer belgeler
MATLAB Tanıtım Notları
MATLAB bir yorumlayıcıdır (interpreter); yani sonuç, daha ziyade el tipi hesap
makinelerine benzer tarzda ekranda yazılı bir metin olarak alınabilir. Neticede diğer dillerde
olduğu gibi “derleme”ye...