18 Ekim 2021, 07:27:42

Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME


Matlab tanım aralığı.

Başlatan rooest, 17 Aralık 2012, 23:57:02

rooest

F fonksiyonumuz:

t0  <  t   <   2*t0    aralığında   -->     3
2*t0  <  t  <  4*t0   arlığında    -->     1
diğer durumlarda                      -->     0   

değerini almakta.  Biz  böyle bir fonksiyonu matlabta  nasıl  oluşturabiliriz?

berat23

nerde lazım bu fonksiyon? ona göre cevap vereceğim.

rooest

Bahsi geçen fonksiyon 'm(t)'  bilgi işareti ve bu fonksiyon ile  c(t)  fonksiyonu  modüle edilecek. 
m(t),  c(t)  ve  modüleli işaret s(t)  zaman düzleminde  çizdirilecek.

berat23

matlab ayrık zamanda çalışıyor doğal olarak,bu durumda sizin bu veriyi örneklenmiş haliyle yazmanız lazım mesela t0=1000 gibi.bu şekilde bir t vektörü tanımlayıp istediğiniz değerlerini değiştirebilirsiniz.

mesela
t=linspace(0,3*to,3*to);

dediğiniz zaman bildi vektörünüz oluşur.

t(0:to,1)=3;
t(to+1:3*to,1)=1;

bu yazdıklarımda istediğiniz değerleri atar.indisin 0dan başlamasına takılmayın,çizerken istediğiniz gibi değiştirsiniz.bence matematiksel olarak ne istediğinizi detaylıca yazın,ben matlaba dökerim.

rooest

m(t) fonksiyonunu matlab içerisinde nasıl tanımlayabileceğimi/çizdirebileceğimi  bilmiyorum.

http://imageshack.us/photo/my-images/585/modfrek.png/


AsHeS

18 Aralık 2012, 05:45:36 #5 Son düzenlenme: 18 Aralık 2012, 05:56:34 AsHeS35
mt fonksiyonu sadece ilk elemanı 1 oluyor 0.0001 s aralıklarla bakılırsa 0.15 ms değeri sadece 1 kere gerçekleşiyor.

clc
;
clear;
fs=10^4;
t=0:1/fs:0.1;
for 
i=1:size(t,2)
     if 
t(i)<0.05*10^-3
         mt
(i)=1;
     elseif 
t(i)>=0.05*10^-&&t(i)<0.1*10^-3
         mt
(i)=-2;
     else 
         
mt(i)=0;
     
end
end
for i=1:size(t,2)
    
x=0;
        for 
a=1:size(t,2)
            
x=x+mt(a)*(1/fs);
            if 
t(a)>=t(i)
                break;
            
end
            
        end
        ut
(i)=cos(2*pi*200*t(i)+2*pi*50*x);
end
plot
(t,ut);
       

Eğer t0=0.15 msn kabul edilirse mt(1)=1 olur diğer elemanlar 0 a tekabül eder.

rooest

Sanıyorum örnekleme aralığından kasıt 0.0001 sn  değil,     0' dan   0.15'  kadar  0.0001  aralıklarla örnekleme. 
Yani 0  ile 0.15  arasında 1500  değer.   Tabi yanılıyor da olabilirim.

AsHeS

Alıntı yapılan: rooest - 18 Aralık 2012, 06:01:24
Sanıyorum örnekleme aralığından kasıt 0.0001 sn  değil,     0' dan   0.15'  kadar  0.0001  aralıklarla örnekleme. 
Yani 0  ile 0.15  arasında 1500  değer.   Tabi yanılıyor da olabilirim.
200 Hz gibi düşük değerde 0.15 ms zamanlama pek iş yapmaz  çünkü bir periyot bile yaklaşık  0.5 ms bir periyodu bile bitirmez.

pisayisi

Sgn(x) kullanarak uygun şekilde zaman aralıklarını süperpoze ettiğinde istediğin fonksiyonu elde edebilirsin...

http://mathworld.wolfram.com/RectangleFunction.html
Murat

rooest

19 Aralık 2012, 01:59:52 #9 Son düzenlenme: 19 Aralık 2012, 02:47:03 rooest
Hepinize teşekkürler.

AsHeS   hocam  sizin  kodunuzda

if  t(i) < 0.05 * 10^-3      yerine

if  t(i) < 0.05                   

yazarak  m(t) yi  oluşturup  grafiğini çizdirebildim.  Çok sağolun.

AsHeS

Alıntı yapılan: rooest - 19 Aralık 2012, 01:59:52
Hepinize teşekkürler.

AsHeS   hocam  sizin  kodunuzda

if  t(i) < 0.05 * 10^-3      yerine

if  t(i) < 0.05                   

yazarak  m(t) yi  oluşturup  grafiğini çizdirebildim.  Çok sağolun.
Hocanızın verdiği değerleri msn olarak değilde sn cinsinden değerlendirirseniz fm modülatör kodu olarak çalışıyorda hocanız bunu kabul eder mi onu bilemem.

rooest

Sanıyorum ödevin not getirisi yok, alttan aldığım için. Daha ziyade matlabı öğrenmek/ilerletmek için faydalı olacağını düşünüyorum.



Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.