DENEY 7: ÖRNEKLEME, AYRIK SİNYALLERİN

advertisement
DENEY 7: ÖRNEKLEME, AYRIK SİNYALLERİN
SPEKTRUMLARI VE ÖRTÜŞME OLAYI
1. Deneyin Amacı
Bu deneyde, sürekli sinyallerin zaman ve frekans uzaylarında örneklenmesi, ayrık
sinyallerin spektrumlarının elde edilmesi ve örtüşme olayının öğrenilmesi hedeflenmektedir.
2. Örnekleme ve Ayrık Sinyaller
Sürekli sinyallerden zaman ve/veya frekans uzayında ayrık ölçüm verilerinin elde
edilmesi işlemine örnekleme denilmektedir. Zaman uzayında ideal örnekleme işleminin blok
diyagramı Şekil 1’de görülmektedir.
x (t )
xs (t )
∞
∫ x (t ) dt
x ( n)
s
−∞
p(t ) = δ (t − nt s ); n = 0,1,…
Şekil 1. Örnekleme blok diyagramı.
Burada x(t ) zaman uzayında ölçümü alınacak olan sürekli sinyali, p (t ) darbe işaretini, ts
örnekleme adım aralığını, x(n) ise örneklenmiş ayrık veriyi göstermektedir. Sürekli sinyalin
darbe sinyali ile çarpımı xs (t ) = x(t )δ (t − nts ) ifadesini meydana getirmektedir. Bu ifadenin
integral alıcıdan geçmesi neticesinde, örneklenmiş ölçüm verileri için,
∞
x (n) =
∫ x(t )δ (t − nt ) dt = x(t − nt )
s
s
(1)
−∞
elde edilmektedir. Dikkat ediniz ki, örnekleme adım aralığı ts sıfıra yaklaştıkça, örneklenmiş
veri sürekli sinyale yaklaşacaktır. Bu sebeple, daha küçük adım aralıkları örnekleme işleminin
gerçek sinyali temsil etme miktarını arttıracaktır. Örnekleme adım aralığını belirleyen faktör
örnekleme frekansı f s ’dir. Periyodik bir sinyalin örneklenmesi sırasında, periyot başına
alınmak istenen ölçüm sayısı N p olsun. Bu durumda örnekleme frekansı f s = N p f 0
olmaktadır. Burada f 0 sürekli sinyalin frekansıdır. Dolayısıyla, örnekleme adım aralığı,
ts =
T
1
1
=
= 0
f s N p f0 N p
şeklinde yazılmaktadır. Burada T0 sürekli sinyalin periyodudur.
(2)
2.1.
Matlab Uygulaması
Ölçümü alınacak sürekli bir sinyalin ifadesi x(t ) = cos(2π f0t ) olsun. Bu sinyal için
f0 = 50 Hz, N p = [2, 4, 8,16] ve ölçüm alınan toplam periyot sayısı 2 olsun. Örneklenmiş
ölçüm verilerinin zamana bağlı grafikleri aşağıdaki Matlab kodu ile elde edilebilir.
clear all; close all; clc;
f0 = 50; % Sürekli sinyalin frekansı
N_per_period = [2,4,8,16]; % Periyod başına örnek sayısı
N_period = 2; % Period sayısı
figure; % Yeni grafik penceresinin açılması
for ii = 1:length(N_per_period)
fs = N_per_period(ii)*f0; % Örnekleme frekansı
ts = 1/fs; % Örnekleme adım aralığı
N = N_period*N_per_period(ii); % Toplam örnek sayısı
t = 0:ts:(N-1)*ts; % Zaman uzayındaki örnekleme noktaları
x = cos(2*pi*f0*t); % Örneklenmiş ölçüm verisi
subplot(2,2,ii);
stem(t*(1e+3),x,'k'); % Ayrık verinin grafiğinin çizilmesi
hold on; plot(t*(1e+3),x,'k-');
xlabel('Zaman (ms)','FontSize',12); % x ekseninin isimlendirilmesi
ylabel('Örneklenmiş veri','FontSize',12); % y ekseninin
isimlendirilmesi
title(['Örnekleme frekansı f_s=',num2str(N_per_period(ii)),'f_0']);
end
Örnekleme frekansı fs =4f0
Örneklenmiş veri
1
0.5
0
-0.5
-1
0
10
20
30
0
-0.5
-1
0
10
20
30
Zaman (ms)
Örnekleme frekansı fs =16f0
0.5
0
-0.5
0
0.5
Zaman (ms)
1
-1
1
Örnekleme frekansı fs =8f0
Örneklenmiş veri
Örneklenmiş veri
Örneklenmiş veri
Örnekleme frekansı fs =2f0
10
20
30
Zaman (ms)
40
40
1
0.5
0
-0.5
-1
0
10
20
30
Zaman (ms)
Şekil 2. Ölçüm verilerinin zamana bağlı grafikleri.
40
Şekil 2’den görüleceği üzere, örnekleme frekansı arttıkça ölçüm verileri sürekli sinyali
daha iyi temsil etmektedir. Öyle ki, örnekleme frekansı 2 f 0 ve 4 f 0 iken örneklenmiş veriler
üçgen dalgaya benzemekte, örnekleme frekansı arttıkça sinüzoidal sinyale benzemektedir.
2.2.
Ayrık Sinyallerin Spektrumları
Sürekli bir sinyalin spektrumunu (frekans uzayı ifadesini) elde etmek için, zaman ve
frekans uzaylarında sürekli olan, eşitlik (3)’deki Fourier dönüşümü kullanılmaktadır.
∞
∫ x(t )e
X(f ) =
− j 2π ft
dt
(3)
−∞
Eşitlik (3)’e göre, zaman değişkenine ait alt sınırın −∞ olması sebebiyle, bu ifade nedensel
(causal) değildir. Buna ek olarak, integralin üst sınırının ∞ ve zaman değişkeninin sürekli
olması sebebiyle, Fourier dönüşümü ayrık ölçüm verilerine uygulanabilir değildir. Ölçüm
verilerinden sürekli frekans spektrumunu elde etmek için eşitlik ‘deki “Ayrık Zamanlı Fourier
Dönüşümü (Discrete-Time Fourier Transform; DTFT)” kullanılmaktadır.
N −1
X ( f ) = ∑ x(n)e − j 2π f ( t0 + nts ) ,
(4)
n =0
burada N ölçüm sayısını, t0 ölçüme başlanılan ana ait zamanı göstermektedir. Frekans
uzayının ∆f adım aralıklarıyla örneklenmesi neticesinde, hem zaman hem de frekans
uzayında ayrık “Ayrık Fourier Dönüşümü (Discrete Fourier Transform; DFT) sürekli sinyale
uygulanmış olmaktadır. Bilgisayar ortamında DFT işlemini daha hızlı yapabilmek için “Hızlı
Fourier Dönüşümü (Fast Fourier Transform, FFT) kullanılmaktadır. Böylece, FFT işlemi
sonucunda spektrumu elde edilmiş ayrık sinyal,
N −1
X (k ) = ∑ x(n)e − j 2π fk (t0 + nts ) ,
(5)
n=0
ifadesine sahip olmaktadır. Burada k frekans indisini, f k ise k indisindeki frekans değerini
göstermek üzere, matematiksel ifadesi,
fk = −
fs
f
f
: ∆f : s = − s + k ∆f ; k = 0,1,… , N FFT − 1
2
2
2
(6)
şeklindedir. FFT işleminin N FFT noktada yapılması durumunda, frekans adım aralığı
(çözünürlüğü) ∆f = f s N FFT ifadesine sahip olmaktadır. Zaman ve frekans nokta sayılarının
eşit olduğu durumda frekans çözünürlüğü için,
∆f =
fs
1
1
=
=
N FFT ts N FFT Tmax
(7)
geçerli olmaktadır. Burada Tmax zaman uzayında ölçüm alma süresini göstermektedir.
Dolayısıyla, zaman uzayında daha fazla süre ölçüm alınması, frekans uzayında daha iyi
çözünürlük elde edilmesini sağlamaktadır. Frekans uzayında daha iyi çözünürlüğe sahip
olmak ayrık veriye ait spektrumun, sürekli sinyalin spektrumunu daha iyi temsil etmesini
sağlamaktadır.
Eşitlik (6) gereğince, frekans vektörünün en yüksek değeri f s 2 olmaktadır.
Dolayısıyla, bant genişliği B olan bir sinyalin frekans spektrumunu elde edebilmek için
örnekleme frekansı için f s > 2 B sağlanması gerekmektedir. Şekil 3’de ayrık bir sinyalin
genlik spektrumunun temsili şekli görülmektedir.
X(f )
fs
− fs − B
− fs
fs
fs
− fs + B
−B
B
fs − B
fs
fs + B
f
Şekil 3. Ayrık bir sinyalin genlik spektrumu.
Şekil 3’de görüldüğü üzere, FFT ile elde edilen spektrum f s aralıkla kendisini tekrar
etmektedir. Dolayısıyla, kendisini tekrar eden iki alt spektrum arasında örtüşme olmaması
için, f s − B > B olması gerektiğinden dolayı,
f s > 2 B; B <
fs
2
(8)
koşulu sağlanmalıdır. Buna Nyquist kriteri denilmektedir. Nyquist koşulunun sağlanmadığı
bir örnekleme hızı ile ölçüm alınması, elde edilecek spektrumda örtüşme olmasına neden
olmaktadır.
Frekans uzayındaki ayrık bir sinyali zaman uzayına götürmek için eşitlik (9)’daki ters
ayrık Fourier dönüşümü (inverse DFT) kullanılmaktadır.
N −1
x(n) = ∑ X ( f )e j 2π fk (t0 + nts )
(9)
k =0
Bu işlemi Matlab’da yapmak için IFFT (inverse FFT) kullanılmaktadır. Dikkat edilmesi
gereken husus, Matlab’da FFT ile elde edilen spektrumun nokta sayısına bölünmesi
gerektiğidir. Aksi takdirde, genlikler N FFT katı kadar yüksek elde edilmektedir. Bu sebeple,
değeri nokta sayısına bölünmüş spektrumdan zaman uzayına geçerken, öncelikle spektrumu
N FFT ile çarpmak gerekmektedir.
2.2.1. FFT ve IFFT için Matlab uygulaması
Ölçümü alınacak sürekli bir sinyalin ifadesi x(t ) = cos(2π f0t ) olsun. Bu sinyal için
f0 = 50 Hz, N p = [1, 2, 4, 8] ve ölçüm alınan toplam periyot sayısı 4 olsun. Örneklenmiş
ölçüm verilerine ait genlik spektrumları aşağıdaki Matlab kodu ile elde edilebilir.
clear all; close all; clc;
f0 = 50; N_per_period = [1,2,4,8];
N_period = 4; figure; % Yeni grafik penceresinin açılması
cnt = 0; % Grafik sayacı
for ii = 1:length(N_per_period)
fs = N_per_period(ii)*f0; % Örnekleme frekansı
ts = 1/fs; % Örnekleme adım aralığı
N = N_period*N_per_period(ii); % Toplam örnek sayısı
t = 0:ts:(N-1)*ts; % Zaman uzayındaki örnekleme noktaları
x = cos(2*pi*f0*t); % Örneklenmiş ölçüm verisi
xf = fft(x)/N; % Frekans uzayına geçiş
xf = fftshift(xf); % Simetrik spektrumun elde edilmesi
df = fs/N; % Frekans çözünürlüğü
f = -fs/2:df:fs/2-df; % Frekans noktaları
cnt = cnt + 1; subplot(2,1,cnt);
stem(f,abs(xf),'k'); % Ayrık verilere ait genlik spektrumunun çizilmesi
xlabel('Frekans (Hz)','FontSize',12); % x ekseninin isimlendirilmesi
ylabel('Genlik','FontSize',12); % y ekseninin isimlendirilmesi
xlim([-1.1*fs/2 1.1*fs/2]); % x ekseninin limitlerinin belirlenmesi
title(['Örnekleme frekansı f_s=',num2str(N_per_period(ii)),'f_0']);
if ii == 2
figure; cnt = 0;
end
end
Örnekleme frekansı fs =1f0
Genlik
1
0.5
0
-25
-20
-15
-10
-5
0
5
10
15
20
25
30
40
50
Frekans (Hz)
Örnekleme frekansı fs =2f0
Genlik
1
0.5
0
-50
-40
-30
-20
-10
0
10
20
Frekans (Hz)
Şekil 4. Örtüşmeli genlik spektrumları.
Örnekleme frekansı fs =4f0
0.8
Genlik
0.6
0.4
0.2
0
-100
-80
-60
-40
-20
0
20
40
60
80
100
Frekans (Hz)
Örnekleme frekansı fs =8f0
0.8
Genlik
0.6
0.4
0.2
0
-200
-150
-100
-50
0
50
100
150
200
Frekans (Hz)
Şekil 5. Örtüşmesiz genlik spektrumları.
Örnekleme frekansı 8 f 0 olan sinyalin spektrumundan zaman uzayına geçmek için,
yukarıdaki kodun altına aşağıdaki kod yazılabilir.
xf = ifftshift(xf)*N; % Simetrik olmayan spektruma geçiş
xt = ifft(xf); % Zaman uzayına geçiş
figure; % Yeni pencerenin açılması
plot(t,xt,'k*--'); % xt işaretinin grafiğinin çizdirilmesi
hold on; % Önceki eğrinin üzerine başka eğrinin çizdirilmesi
plot(t,x,'ko--'); % x işaretinin grafiğinin çizdirilmesi
legend('IFT[X(f)]','x(t)'); % Eğrilerin isimlendirilmesi
xlabel('Zaman (s)','FontSize',12); % x ekseninin isimlendirilmesi
ylabel('Sinyal','FontSize',12); % y ekseninin isimlendirilmesi
1
IFT[X(f)]
x(t)
0.8
0.6
0.4
Sinyal
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.01
0.02
0.03
0.04
0.05
Zaman (s)
Şekil 6. Zaman uzayı grafikleri.
0.06
0.07
0.08
Teoride x(t ) = cos(2π f0t ) sinyalinin genlik spektrumu, ± f 0 frekanslarında birer Deltadirak fonksiyonundan oluşmaktadır. Fakat, Şekil 4’den görülebileceği üzere, Nyquist
koşulunun sağlanmadığı durumlarda elde edilen spektrum örtüşmeli (hatalı) olmaktadır.
Örneğin, Şekil 4’deki f s = f0 olduğu grafikte 0 frekansında dirak meydana gelmektedir.
Örnekleme frekansının f s = 2 f 0 olduğu grafikte ise, f = − f 0 frekansında örtüşme meydana
gelmekte, teoride 0.5 genlikli olması gereken diraklar toplanarak 1 genlikli tek bir dirak
oluşturmaktadırlar. Nyquist frekansının sağlandığı Şekil 5’de elde edilen genlik spektrumları
ise, teoride beklenen genlik spektrumları ile tutarlıdır.
3. Ön Hazırlık
3.1. Aşağıdaki sinyalde f0 = 100Hz, 500Hz , 1kHz ve örnekleme frekansı f s = 1kHz için,
a) bu sinyalin grafiğini her bir frekans için farklı pencerelerde çizdiriniz,
b) her periyotta kaçar örnek olduğunu bulunuz,
c) (a) ve (b) şıklarında elde ettiğiniz sonuçlara bakarak, Nyquist şartının sağlanıp
sağlanmadığını yorumlayınız. Bu koşulun sağlanmadığı durum varsa çözüm önerisinde
bulununuz.

f 
x1 ( n ) = cos  2π 0 n 
fs 

3.2. Aşağıdaki sinyalde fs = 200Hz, 1.5kHz ve 3kHz ve FFT nokta sayısı 256 için,
a) bu sinyalin genlik cevabını fft() komutu ile bulunuz ve grafiğini çizdiriniz,
b) (a) şıkkında elde edilen grafiğe bakarak örtüşme (aliasing) olup olmadığını belirtiniz,
c) FFT nokta sayısını değiştirerek, bu değerin frekans cevabına olan etkisini belirtiniz.
3
x2 ( n ) = ∑ 0.8 e
i
− j 2π
fi
n
fs
,
f = [100, 500, 1000]
i =1
3.3. Şekil 1 ve 2’de sırasıyla genlik modülatörü ve demodülatörü görülmektedir. Genlik
modülasyonu ile haberleşme yapan A, B ve C isimli radyo istasyonlarının kullandığı
taşıyıcı frekans değerleri sırasıyla f c = 86.5MHz, 97.2MHz ve 108MHz olmak üzere,
haberleşme kanalına uygun hale getirilmek istenen mesaj işareti m(t ) = 4cos ( 2π f mt )
ifadesine ve BGm = 20kHz bant genişliğine sahiptir. Kanaldan gönderilen
elektromanyetik dalgalar s ( t ) olmak üzere,
İdeal BGF
MF = f c
BG = 2 BGm
m(t )
cos(2π f c t )
Şekil 7. Genlik modülatörü.
s (t )
s (t )
z (t )
İdeal BGF
BG = BGm
m′(t )
cos(2π f c t )
Şekil 8. Genlik modülatörü.
a) örnekleme frekansı 1GHz iken m ( t ) işaretinin ve A, B, C radyo istasyonları için s ( t ) ,
z ( t ) ve m′(t ) işaretlerinin zamana bağlı grafiklerini ayrı pencerelerde çizdiriniz,
b) (a) şıkkında belirtilen işaretlerin spektrumlarını bulunuz ve grafiklerini çizdiriniz,
c) (a) şıkkında her radyo istasyonu için elde ettiğiniz m′(t ) işaretlerini mesaj işareti ile
kıyaslayınız.
d) Haberleşme kanalından gönderilen işaretin taşıyıcı frekansı 108MHz olmak üzere,
MATLAB GUI kullanarak A, B ve C istasyonlarının dinlenmesini sağlayan arayüz programı
yazınız. Tasarladığınız arayüz Şekil 9’deki görünüme sahip olmalıdır.
Şekil 9. Kullanıcı arayüzü.
Download