Manipulasi Sinyal Diskrit Lanjutan | Error Code | be a true student

Pages

Subscribe:
No.ProdukBeli
1. Beli... klik di sini

Rabu, 02 Januari 2013

Manipulasi Sinyal Diskrit Lanjutan


lanjutan dari praktikum kmarin tentang manipulasi sinyal diskrit
3. folding / Revers
Adalah operasi pembalikan dari sampel  x[ n] untuk mendapatkan sampel dengan urutan dilipat menjadi urutan y dilipat menjadi n.
Misalnya kita punya  x[n]={1,2,3,4,5,6,7,8,9}; -3<=n<=5
Jika dibalik maka  x[-n]={9,8,7,6,5,4,3,2,1};     -5<=n<=3;
Contoh di matlab :
x =[1:9]
x =
     1     2     3     4     5     6     7     8     9
n=[-3:5]
n =
    -3    -2    -1     0     1     2     3     4     5

Untuk membaliknya kita gunakan fliplr();

x2 = fliplr(x);
x2 =

     9     8     7     6     5     4     3     2     1
n2 = -fliplr(n);
n =
    -3    -2    -1     0     1     2     3     4     5
figure; subplot(2,1,1);stem(n,x);subplot(2,1,2);stem(n2,x2)


4. upsampling
Untuk menambahpanjang indeks, misalnya panjang indeks asalnya adalah 9, di up sebanya 3 indeks maka 3x9 = 27, maka setelah diupsampling maka panjangnya akan menjadi 27. Dan di setiap indeks disisipkan nilai 0 sebanyak 3-1=2 buah.
Dalam matlab fungsinya adalah menggunakan fungsi upsample
Syntax
upsample(x,n)
Y=upsample(x,n,phase)

>> x=[1:9]
x =
     1     2     3     4     5     6     7     8     9

>> k=3; // panjangnya adalah 9x3 dan angka 0 yang disisipkannya adalah k-1;
>> x2=upsample(x,k);
>> figure; subplot(2,1,1);stem(x);subplot(2,1,2);stem(x2)
upsampling
5. downsampling
Downsampling merupakan kebalikan dari upsampling di akan mengurangi panjang indeksnya menjadi 9/3 = 3 dari semula. Jadi semisal panjang indeksnya 27 dengan di downsampling sebanyak 3 makan indeksnya akan menjadi 9 kembali dan sampelnya juga kembali lagi tanpa ada penyisipan angka 0.
Didalam matlab
Syntax
downsample(x,n)
Y=downsample(x,n,phase)

>> x=[1:9]
x =
     1     2     3     4     5     6     7     8     9

>> k=3;
>> x3=downsample(x2,k);
>> figure; subplot(3,1,1);stem(x); subplot(3,1,2);stem(x2)
subplot(3,1,3);stem(x3)
downsampling
6. interpolasi
Iinterpolasi adalah manipulasi sinyal untuk meningkatkan rate oleh factor integer; mengestimasi nilai nilai diantara dua nilai.
Didalam matalab fungsinya adalah sebagai berikut.
Syntax
Y=interp(x,r);
Y=interp(x,r,l,alpha)
[Y,b]=interp(x,r,l,alpha)

X=[1:5,6:10];
X2=interp(X,3);
figure; subplot(2,1,1);stem(X);subplot(2,1,2);stem(X2)
interpolasi
7. scaling
Hal ini masing-masing sampel dikalikan dengan skalar, sehingga akan menghasilkan x[n] yang berbeda-beda untuk setiap perkaliannya.
Berikut ini adalah contohnya :

X=[1:5,5:-1:1]
a=2;a2=0.5;
>> x2=a.*X;
>> x3=a2.*X;
>> figure; subplot(3,1,1);stem(x2);subplot(3,1,2);stem(X);subplot(3,1,3);stem(x3)

scaling
DERET FOURIER
Adalah deret  sinyal yang dihasilkan oleh sinyal sinusoidal.
Dengan matlab kita bias membuat deret ini seperti dibawah ini. Pertama adalah>> t=-3:0.01:3;
>> a0=0.5.*ones(1,length(t));
>> figure;plot(t,a0);
Ini untuk sampel 0,5 dari -3 sampe 3 gambarnya seperti dibawah ini

fourir1

>> s2=2/pi*sin(pi.*t);
figure;plot(t,s2)
hasilnya adalah
fourir2

>> s3=2/(3*pi)*sin(3*pi.*t);
figure;plot(t,s3)
hasilnya adalah
>> s4=2/(5*pi)*sin(5*pi.*t);
figure;plot(t,s4)
hasilnya adalah
 

 Jika semua hasil tadi di jumlah maka akan menjadi seperti gambar berikut ini.
stotal=a0+s2+s3+s4;
figure;plot(t,stotal);
Atau untuk jika kita ingin menjadi kan dalam satu table berikut adalah hasilnay

stotal=a0+s2+s3+s4;
figure;subplot(5,1,1);plot(t,a0);subplot(5,1,2);plot(t,s2);subplot(5,1,3);plot(t,s3);subplot(5,1,4);plot(t,s4);subplot(5,1,4);plot(t,stotal);
Jika kita ingin menghitung lebih dari 4 kali maka kita menggunakan looping agar dapat dilakukan dengan mudah dan cepat, misalnya penghitungan dilakukan sebanyak 19 kali maka hasilnya akan seperti dibawah ini:
Syntax :
t=-3:0.01:3;
h=19; // semakin maka akan semakin siku
a0=0.5.*ones(1,length(t));
for n=1:2:h
sn=2/(pi*n)*sin(n*pi.*t);
sinyaltotal=sinyaltotal+sn;
end
figure;plot(t,sinyaltotal)

Tidak ada komentar:

Posting Komentar