Merhaba Arkadaşlar,

Başka bir MATLAB ile sinyal işleme yazısına hoş geldiniz. Bu yazımda size  MATLAB da sinyalimize elimizde olan bir bit dizisini  işleme ilgili örnek yapacağım. Sözü uzatmadan örneğimize ve kaynak kodlara geçelim.

Elimizde 8 bitlik  str = [0,1,0,0,0,1,1,1] bit dizimiz olsun. Bu dizimizde ki her eleman için sinyalimizde kontrol yapıp sıfır ise sinyalimizin o aralıkta sıfır olmasını, bir  ise de sinyalimizde değişiklik yapmadan işilenmesini sağlıyacağız. Ardından sinyalimiz değişti. Bir de bu sinyali yeniden eski haline yakın bir şekilde yapılandırmamız lazım ( Reconstruction Signal Araştırabilirsiniz ).

Bu işlem içinde  ben şu formulü kullnadım.

ff = ( 3 * A / pi) * sin( w * t ) / 3 + ( 4 * A / pi) * sin( w * t ) / 4 + ( 5 * A / pi) * sin( w * t ) / 5;

Kynak kodları resmin altında bulabilirsiniz Ekran Çıktımız  :

 

MATLAB da işlenmiş sinyalin Ekran Görüntüsü
MATLAB da işlenmiş sinyalin Ekran Görüntüsü

Kaynak Kod :

t = 0.01:0.01:8; %sekiz bitlik bir dizimiz oluğu için 0 ile 8 arasında değerler oluşturur
str = [0,1,0,0,0,1,1,1]; %Bit dizimiz
f = 0.3; %frekansımız
w = 2*pi*f; 
A = 50; %genlik
y = A * sin(t * w ); %Sinüs sinyalimiz
subplot(2,2,1)
plot(t,y);
title('Orjinal Sinyal');
grid on;
%Bit değerlerinin kontrolü ve bu değerlerin sinyal üzerinde işlenmesi
index = 1; %y matrisinin index değeri
length = size(t,2) / size(str,2); %her bir bite karşılık gelen matris uzunluğu
for j=1: size(str,2) %her bit değeri geziliyor
 for i=1: length %y matrisinde uzunluk kadar kontrol ediliyor
 if str(1,j) == 0 %eğer bit sıfır ise matrisimizin değeri sıfıra eşitleniyor
 y(1,index) = 0;
 end
 index = index+1;
 end
end
subplot(2,2,2)
plot(t,y);
title('Sekiz biti işledikten sonra sinyalimiz');
grid on;
% Sinyali yeniden yapılandırma formulü
ff = ( 3 * A / pi) * sin( w * t ) / 3 + ( 4 * A / pi) * sin( w * t ) / 4 + ( 5 * A / pi) * sin( w * t ) / 5; 
subplot(2,2,3)
plot(t,ff, '--b');
hold on;
plot(t,y,'-r');
title('Yeniden Yapılandırılmış Sinyal');
grid on;

Leave a Reply

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