MATLAB ile Sinusoidal Sinyal

 Merhaba yazılımcı arkadaşım; 

Bu yazımda size Matlab da sinusoidal sinyal ile ilgili örnekler vereceğim okulda ödev olarak yaptığım bazı görevlere ait. Öncelikle, ilkez Matlab dan bahsedeçeğim için kısa bir bilgi vermek istiyorum Matlab hakkında.

MATLAB (matrix laboratory)   sayısal hesaplama ve dördüncü nesil programlama dilidirMathWorks tarafından geliştiriliyor. MATLAB, matrisişlenmesine, fonksiyonlar ve veri çizilmesine, algoritmalar uygulanmasına, kullanıcı arayüzü oluşturulmasına ve diğer dillerle yazılmış programlar ile etkileşim oluşturulmasına izin verir. CC++Java, ve Fortran dillerini içerir.

Şimdi gelelim örneklerimize ;

İlk örneğimizde sinüsoidal bir sinyal ile başka bir sinüsoidal sinyali birleştirerek çizdireçeğiz.

t = 0:0.1:6*pi; % X düzleminde aralağımız
A = 0.2; % Dalgalanma şiddeti
y1 = A * sin(t * 8); % İlk sinusoid
y2 = sin(t/2); % İkinci sinusoid
y3 = y1 + y2; % iki sinus sinyalinin birleştirilmesi
plot(t,y3) % birleştirlen sinus sinyallerinin çizilmesi
grid on % Çizilen verilerin anlaşılabilirliği için grid i açar 

Bu kodun ekran çıktısı :

Sinüsoidal Sinyal
Birleştirilmiş  Sinüsoidal Sinyal


İkinci Örneğimiz  de yukarıda ki örnekte ki sinyalimize gürültü eklemek istiyoruz bunun için y3 değerine random olarak değerler ekleyip çizdirmemiz yeterli.

Kaynak Kod :

t = 0:0.1:6*pi; % X düzleminde aralağımız
A = 0.2; % Dalgalanma şiddeti
y1 = A * sin(t * 8); % İlk sinusoid
y2 = sin(t/2); % İkinci sinusoid
y3 = y1 + y2; % iki sinus sinyalinin birleştirilmesi
plot(t,y3 + rand(1,size(y3,2)))%Gürültülü sinyalin çizdirilmesi
grid on % Çizilen verilerin anlaşılabilirliği için grid i açar

Bu kodun ekran çıktısı :

Gürültülü Eklenmiş Sinyal
Gürültü Eklenmiş Sinyal

Üçüncü örneğimiz şimdi ilk örnekte verdiğimiz sinyalin pozitif ve negatif değerlerini ayrı ayrı çizdirelim bunun için elde ettiğimiz matrisi for döngüsü ile gezerek her elemanın değerini kontrol ediyoruz.

Kaynak kod:

t = 0:0.1:6*pi; % X düzleminde aralağımız
A = 0.2; % Dalgalanma şiddeti
y1 = A * sin(t * 8); % İlk sinusoid
y2 = sin(t/2); % İkinci sinusoid
y3 = y1 + y2; % iki sinus sinyalinin birleştirilmesi
%Sinyalin pozitif elemanları
y4 = y3; % orginal sinyali bozmamak için
for i=1: size(y4,2)
 if y4(i) < 0
 y4(i) = 0; 
 end
end
subplot(2,1,1) % bu kod parçaçığı aynı ekranda iki tane çıktı göstermemizi sağlar
plot(t, y4 )
title('Sinyalin Pozitif Değerleri') % Çıktımıza isim verir
xlabel('t')
ylabel('y')
grid on
%Sinyalin negatif elemanları
y5 = y3;
for i=1: size(y5,2)
 if y5(i) > 0
 y5(i) = 0; 
 end
end
subplot(2,1,2)
plot(t, y5 )
title('Sinyalin Negatif Değerleri')
xlabel('t')
ylabel('y')
grid on

Bu kodun ekran çıktısı :

Sinyalin Pozitif ve Negatif Elemanlarının  Çizdirilmesi
Sinyalin Pozitif ve Negatif Elemanlarının Çizdirilmesi

 

Dördüncü örneğimiz şimdi Matlab da sinyalimizin belli bir elemanını  ekrana çizdirelim mesela ilk 50 değerini.

Kaynak kod :

t = 0:0.1:6*pi; % X düzleminde aralağımız
A = 0.2; % Dalgalanma şiddeti
y1 = A * sin(t * 8); % İlk sinusoid
y2 = sin(t/2); % İkinci sinusoid
y3 = y1 + y2; % iki sinus sinyalinin birleştirilmesi
% Y3 sinyalinin ilk 50 değerini çizdirme
t1 = 1:1:50; % çizdirilecek eleman sayısı
plot(t1,y3(1:50));
title('Sinyalin ilk 50 noktası')
xlabel('t')
ylabel('y')
grid on

Ekran çıktısı :

Sinyalin İlk 50 Noktası
Sinyalin İlk 50 Noktası

Umarım faydalı bir yazı olmuştur.

Kolay gelsin….

Leave a Reply

Your email address will not be published. Required fields are marked *