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 :
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;