Sayısal İşaret İşleme Dersi Laboratuvarı Lab 1 MATLAB İle

advertisement
Sayısal İşaret İşleme Dersi Laboratuvarı
Ad Soyad:
Numara:
İmza:
Li Tan Digital Signal Processing: Fundamentals and Applications
Lab 1 MATLAB İle Kuantalama
AMAÇLAR
1. Analog’tan Sayısala Dönüşüm aşamalarını öğretmek.
2. Kuantalamadan kaynaklı bozulmayı incelemek.
Yapılacaklar
1. Kuantalanacak sinyalin oluşturulması
Öncelikle boş bir “m” dosyası oluşturarak aşağıdaki kodları bu boş “m” dosyasının içine yazınız
ve numaranız ile kaydediniz. Daha önce deney materyali olarak size verilen we.dat dosyasını da
kaydettiğiniz dosya ile aynı klasöre koyunuz. Sinüzoidal bir dalga biçimi olan 𝑥(𝑡) =
4.5sin⁡(200𝜋𝑡) dalga biçimini 0 ≤ 𝑡 ≤ 0.02 saniye aralığı için 𝑓𝑠 = 8000𝐻𝑧 için aşağıdaki gibi
oluşturunuz:
fs=8000;%örnekleme frekansı
T=1/fs;%örnekeleme periyodu
t=0:T:0.02;%0.02 saniyelik zaman dilimi
x=4.5*sin(2*pi*100*t);%oluşturulan sinyal
a. Oluşturulan sinyalin grafiğini çizdiriniz.
 İpucu: MATLAB>> plot(t,x);
Oluşturduğunuz 𝑥(𝑡) sinyalini aşağıda giriş çıkış ilişkisi örneği gösterilen bipolar kuantalayıcı ile
kuantalayınız:
Şekil 1. Bipolar kuantalayıcı karakterisitiği
1
Sayısal İşaret İşleme Dersi Laboratuvarı
2. Kuantalamanın yapılması
Kuantalama yaparken giriş sinyalinin -5V ile +5V arasında değerler aldığını varsayınız.
Kuantalayıcının çıkışının 4 bit ile kodlandığı varsayılmaktadır.
bitsay=4; %kuantalayıcı çıkışının kod uzunluğu
xmin=-5; %kuantalayıcı girişinin minimum değeri
xmax=5;% kuantalayıcı girişinin maximum değeri
L=2^bitsay;%seviye sayısı
delta=(xmax-xmin)/L;%adım büyüklüğü
boy=length(x);%giriş sinyalinin örnek sayısı
for k=1:boy
I=round((x(k)-xmin)/delta);%alınan değerin minimum değere yuvarlatılmış olarak kaç adım
%uzaklıkta olduğu
if (I==boy)
I=I-1;%+5V’u aşmamak için
end
if (I<0)
I=0;%-5V’u aşmamak için
end
xq(k)=xmin+I*delta;%kuantalanmış değer;
end;
b. Kuantalanmış sinyalin ve kuantalanmamış sinyalin grafiğini üst üste aşağıdaki gibi çizdiriniz.
plot(t,x,t,xq);
Grafiği açık bırakınız.
Kuantalama gürültüsü gücünü hesaplayınız. (İpucu: ortalama komutu mean(); Güç sinyalin
genliğini karesinin ortalamasıdır (mean(abs(y).^2)) _________________________________
Hesapladığınız hata değerini dB cinsine çeviriniz (ipucu 10*log10(hata)). ________________
İşaret gücü ve kuantalama hatası gücü oranını dB cinsinden bulunuz. ___________________
Laboratuvar sorumlusu onayı: ________________________________________________________
2
Sayısal İşaret İşleme Dersi Laboratuvarı
Ad Soyad:
Numara:
İmza:
Li Tan Digital Signal Processing: Fundamentals and Applications
c. Deneyin bu kısmında dışarıdan yüklenecek olan we.dat isimli dosyadaki we isimli diziyi
deneyin a ve b kısmında yapıldığı gibi kuantalayalım.
Daha önce yazdığınız programdaki aşağıdaki satırların başına % işareti koyarak onları
açıklama biçimine çeviriniz ve zaman dilimini eldeki sinyale göre tekrar hesaplayınız.
%t=0:T:0.02;%0.02 saniyelik zaman dilimi
%x=4.5*sin(2*pi*100*t);%oluşturulan sinyal
%plot(t,x,t,xq);
t=[0:1:boy-1]*T;%sinyalin zaman dilimi
Programınızın bulunduğu klasörde we.dat isimli dosyayı koyunuz. Daha sonra programınızın
baş tarafına aşağıdaki satırları yazınız.
clear all;
load we.dat;
x=we;
x=x/max(abs(x)); %sinyal mutlak değerinin maksimumu ile normalize ediliyor
Programınızı çalıştırınız.
subplot(3,1,1); yazdıktan sonra plot(t,x); ile kuantalanmamış sinyali çizdiriniz.
Sinyaliniz kaç sn uzunluğunda?_________________________________________________
subplot(3,1,2); yazdıktan sonra yukarıdakine benzer biçimde kuantalanmış sinyalin grafiğini
çizdiriniz.
subplot(3,1,3); yazdıktan sonra kuantalama hatasını çizdiriniz.
Laboratuvar sorumlusu onayı __________________________________________________
d. Kuantalanan sinyali örnekleme frekansı 8000𝐻𝑧 için dinleyiniz.
sound(xq,8000);
Şimdide kuantalanmamış sinyali dinleyiniz.
sound(x,8000);
Sinyalin maksimum ve minimum değerlerini (xmax, xmin) -1.5V ile +1.5V olarak değiştiriniz.
Kuantalama hatası nasıl değişti? ________________________________________________
Kuantalama hatası neden değişti? _______________________________________________
Şimdide kod uzunluğunu 4 bitten 8 bite çıkarınız ve elde ettiğiniz sonuçları yorumlayınız.
Laboratuvar sorumlusu onayı __________________________________________________
3
Download