You are on page 1of 49

S-Band FMCW Radar

Danışman: Prof. Dr. Caner Özdemir
Araştırmacı: Mustafa Selçuk Çağlar
FMCW yada FMSD Radarları
• Pulse yerine frekansı lineer değişen sinüzoidal bir sinyal yerleştirilirse CW elde
edilir. FMCW, CW radarların özel bir tipidir. CW aksine ölçüm yaparken sinyal
frekansı periyodik olarak azaltabilir ya da arttırabilir. Δt kadar geciktirmeyle
modüle edilerek FMCW elde edilir.
***Pulse radar mesafe ölçümü ile birkaç darbe sonrasında hız tayini yapabilirken
FMCW radar ise frekans değişimi sayesinde tek ölçümde hız ve mesafe ölçümü
yapabilir.***
• İki tip FMCW FMCW vardır. Lineer(chirp) yani periyodik değişen ve Lineer
olmayan yani periyodik değişmeyen.
Bu darbe sıkıştırma yöntemi ile gönderim darbesi doğrusal modüle edilir. Bu
yöntemin bağlantılarının daha basit olması gibi bir avantajı vardır. Fakat doğrusal
frekans modülasyonun dezavantajı, süpürücü („Sweeper”) adı verilen devre ile çok
kolay gürültü üretebilmesidir. Gönderim darbelerinde mevcut frekanslardan beş
adedini esas alan, aşağıdaki bağlantı örneğinde çalışma prensibi açıklanmıştır.

Lineer FMCW örneği -> RRP(Remote Radar Post)-117 Link:
http://www.radartutorial.eu/19.kartei/02.surv/karte007.tr.html
FMCW-radarının temel özellikleri:
• Çok kısa menzillerde bile ölçüm yeteneğidir. (Rmin dalga boyu bölgesinde bulunmaktadır)
• Menzil ve radyal hız eşzamanlı ölçülebilir.
• Menzil çok hassas ölçülebilir.
• Sinyaller karıştırma devresiyle bir düşük frekansa indirilir ve bu sayede sinyallerin işlendiği
düşük frekanslı devreler oldukça basitleşir.
• Yüksek güçlü darbeler kullanılmadığından tehlikeli ışımalar meydana gelmez ve bu
yöntemde radarın kullanımı daha güvenlidir.

• Alınan – Gönderilen frekans olarak tanımlanır.
Not: Eğer R= denkleminde Δt yerine frekans değişimini
yerleştirirsek R= elde ederiz.

Bir FMCW-radarının temel karakteristikleri şunlardır:
• Menzil ölçümü, alınan sinyalin frekansının bir referans sinyalin frekansı ile
(genellikle gönderim sinyalinin frekansı ile) karşılaştırarak yapılır.
• Modülasyon periyodunun süresi T, kurulu menzil ölçüm bölgesi için gerekli süre
(yürütme zamanı) Δt den çok daha büyüktür.
• Ölçülen fark frekansı Δf geçen süreye uygun olarak Doppler
frekansı fD kadar daha büyük olmalıdır.
• Kırmızı renkli bir testere dişli bir gönderim sinyali ile yapılıyorsa,
alınan yeşil renkli yankı sinyali geçen süre nedeniyle sadece
sağa doğru değil, aynı zamanda Doppler frekansı miktarı kadar
aşağıya da kayar.
• Eğer grafiğin bitiminde köşe varsa fD aşağıya doğru olması http://www.radartutorial.eu/02.basics/Frekans%20Mod%C

gerekir. 3%BClasyonlu%20S%C3%BCrekli-
Dalga%20Radar%C4%B1.tr.html

• Eğer yansıtıcı nesne gönderici/alıcı antene göre bir radyal
hıza sahipse, yankı sinyalinin frekansı, o anki gönderim frekansı
değerine yürütme
zamanından (runtime) kaynaklanan Δf frekansı ve yansıtıcı
nesnenin radyal hızından kaynaklanan fD Doppler
frekans eklenerek hesaplanır.
• Radar her bir hareket ve doğrusal modülasyonun yönüne bağlı
olarak, menzil bilgisini içeren frekans farkı ile hız bilgisini içeren
Doppler frekansın toplam ya da fark değerlerini ölçer. *Eğer
yankının geldiği nesne radara doğru hareket ediyorsa o zaman
yankı sinyalinin frekansı Doppler frekansı fD kadar azalır.
**FMCW Menzil ve Çözünürlük Yeteneği
• Doğrusal frekansın yükselme süresi güvenilir bir ölçümün
yapılabileceği en büyük menzil değerini belirler. Sinyalin
doğrusal tırmandığı kenardaki diklik değeri çözünürlük
yeteneğini ve menzil ölçüm hassasiyetini belirler. Yükselmenin
doğrusal tırmanması çözünürlük yeteneğini ve menzil
ölçümünün hassasiyetini belirler.
• Rmax gönderim sinyaliyle gerekli örtüşme zamanı belirler fakat
boşluk kayıpları hesaba katıldığında Rmax düşer.
• Bant genişliği sinyalin alt ve üst sınırları arasındaki farktır.
• Değişim zamansal olarak hesaplandığından çözünürlük ve
frekans değişikliği zamansal olarak hesaplanır. Mümkün olan
en küçük frekans değişim değeri hesaplanarak R=
formülüne konur ve menzil çözünürlüğü hesaplanır.
• Sadeleştirirseniz, B = Δf/(df/dt) B = c/(2 *ΔR)
**Örneğin…
• Örneğin, 1 ms nin üzerinde bir doğrusal frekans tırmanmasına sahip bir radarın teorik kesin
(hatasız) anlık en büyük ölçme menzili 150 km den daha azdır. Bu sonuç bir fark frekansını ölçmek
için gönderim sinyalinin (Resim.1 e bakınız) gerekli kısmından geriye kalanın yankı sinyaliyle
binişmesi (overlapping)) ile elde edilir. Genellikle göndericinin gücünün yetersiz kalması nedeniyle
bu menzil ölçüm değerlerine hiç ulaşılamaz. Böylece bir fark frekansı ölçümü için daima yeterli bir
zaman kalır.
• Eğer göndericinin modülasyonundaki en büyük frekans kayması 250 MHz ise, frekans
tırmanmasının bu 4 ns lik zaman gecikmesi ile 1 kHz lik fark frekansı meydana gelir. Bu, 0,6 m lik
bir menzil çözünürlüğü demektir.
• Bu örnek FMSD-radarının üstünlüğünü belirgin bir şekilde göstermektedir: Aynı 4 ns lik süreyi
ölçebilen bir darbe radarı çok karmaşık ve masraflı bir teknolojiyi gerekir. Buna karşılık, 1 kHz lik
bir frekans farkının, bu frekansın ses bandında olması nedeniyle ölçülmesi çok daha basittir.
• Gönderici bant genişliği (keza frekans yükselme bölgesi |Δf |) 1 MHz ve yaklaşık 390 MHz arasında
değişebilir. (Üst sınır genellikle mahalli idareler tarafından sınırlanmıştır. Örneğin Avrupa ISM-
bandının (24 GHz – 24,25 GHz) bant genişliği sadece 250 MHz dir.) Bant genişliği arttıkça menzil
çözünürlüğü iyileşir ve ekrandaki işaretler daha iyi izlenebilir. Bir FMSD-radarı genellikle 256 ya da
512 değişik frekansı tanıyabildiğinden eşzamanlı olarak algılanabilir en büyük menzil değeri azalır.
Aşağıdaki çizelgede bu ilişkiler yer almaktadır:
FMCW Blok Şeması
• FMCW radarı esas olarak alıcı-verici, mikroişlemci denetimli bir kontrol ünitesinden ve yama anteninden(mikroşerit anten) meydana gelin toplu bir
modüldür. Yama antenleri 100GHZye kadar çalışacak şekilde yapılır. Bilgisayara giriş-çıkış genelde USB üzerinden yapılır fakat hala FSK modülasyonlu,
düşük frekans için ses kartı girişi kullanılmaktadır.
• FMSD-radarı uygulamasındaki alıcı aygıtı menzil ölçümü için göndericiye ait tüm frekans kaymalarını işleyebilmelidir. Alınan sinyaldeki frekansların
250 MHz e kadar olması beklenir. Bunun, bir sonraki yükseltici katının bant genişliğine ve analog-sayısal dönüştürücü için gerekli örnekleme frekansına
ciddi bir etkisi vardır. Bu nedenle bir FMSD-radarının sinyal işlemci baskılı devresinin maliyeti bir SD-radarında kullanılana göre çok fazladır.
• FMCW radarlardan görüntü üretilirse ‘Imaging-imge veren’’ vermezse(yükseklik ölçen sensör alpha katsayısını ibre olarak gösterir) ‘’nonImaging-imge
vermeyen‘’ diye adlandırılır.
• Uygun fiyatlı FMCW radar Hız ve Menzil Sensörü anten ve giriş-çıkış destekli MMIC K bandı örneği: ‘’Silicon Radar TRX_024_xx‘’
http://www.radartutorial.eu/02.basics/pubs/Datenblatt_TRX_024_06.pdf
• D/A= Dijital üretilen sinyali analog sinyale dönüştürür ve VCO ya verir.
• VCO= Kontrol gerilimine göre çıkış frekansı değişir.
• Bant Süzgeç= Ani genlik değişimlerini önler ve istenilen frekansı geçirir.
• -3db Bağlayıcı= Alınan sinyalin gönderilen ile karşılaştırılması gerekir. Sinyalin gücünü 3db(1/2) azaltarak karıştırıcıya verir.
• Güç Yükseltici= gücü yükselterek antene verir.
• Giriş Yükseltici= gücü yükselterek antenden alır.
• Karıştırıcı= Alınan ve gönderilen sinyal frekansların farkını alır. Aslında adı fark alıcı olmalıymış.
• Alçak Geçiren Süzgeç= istenmeyen karıştırıcı frekansları elenir.
• Yükseltici= Alınan sinyal çok zayıftır ve sinyali en az 10.000 kat arttırır.
• A/D= Analog alınan sinyal işlenmek üzere mikroişlemci için dijitale çevrilir. http://www.radartutorial.eu/02.basics/Fr
ekans%20Mod%C3%BClasyonlu%20S%C3
%BCrekli-Dalga%20Radar%C4%B1.tr.html
Modülasyon Deseni – Frekans Değişimi
• Fourier dönüşümünde genlik-frekans grafiği elde ederiz. Modülasyon
deseni inşa edebilmek için zamandaki frekans değişimini
gözlemlememiz gerekir. Bu yüzden zaman-frekans grafiği çıkarmamız
gerekir.
• Bu yüzden zaman-genlik-frekans bilgisini alabilmek için
waterfall modeli geliştirilmiştir.
• Waterfall belli bir periyotla aşağıya doğru akar ve her periyotta
reklendirilmiş şekilde genlik-frekans bilgisini verir. Renk tablosu
genlik bilgisini barındırır. Frekans Spectrumu incelerken karşıma ç
çıktı.
Çok Kullanılan Desenler
• Testere dişi biçimli modülasyon (tezimde)
Bu tür modülasyon Doppler frekans etkisinin ihmal edilebileceği (örneğin gemi yöngüdüm
radarlarında) nispeten daha uzun menzil bölgelerinde (en büyük menzil) kullanılır.
• Üçgen biçimli modülasyon (tezimde)
Bu tür modülasyonda Δf fark frekansı fD Doppler frekansından kolayca ayrılabilir.
• Dikdörtgen dalga biçimli modülasyon (basit Frekans Kaydırmalı Anahtarlama, FSK),
Bu modülasyon ile yakın bölgedeki iki yankı sinyalinin frekanslarının fazlarının karşılaştırılarak çok
hassas menzil ölçümleri yapılabilir. Bu yöntemde birden fazla sayıda hedefe ait yankı sinyallerinin
birbirinden ayrılamaması gibi bir sakıncası vardır ve bu yöntemle ancak yakın menzillerde (hatasız)
ölçüm yapılabilir.
• Merdiven basamağı tipi modülasyon
İnterferometrik ölçümler ile daha uzun menzillerde hatasız ölçüm yapılabilir.
• Sinüs biçimli modülasyon
Geçmişte sinüs biçimli modülasyon kullanılıyordu. Bu modülasyon, gönderici osilatörün tınlaşım
odası (resonance chamber) içindeki bir kondansatör plakasının motorla döndürülmesi ile
sağlanıyordu. Radar sinüs fonksiyonun sadece sıfır geçişlerine yakınındaki nispeten doğrusal
bölgeyi kullanıyordu.
Testere Dişi Modülasyonu
• Gönderdiğimiz ve aldığımız frekanslar arası fark menzil ölçmeyi sağlar. Maalesef
alıcı böyle bir modülasyon tipinde iki farklı sinyal tipini ayırt etmesi mümkün
değildir. Bu yüzden doppler frekansı ölçmek menzilde hataya sebep olur. Önceden
gönderilen sinyal ayarlanarak hata azaltılmaya çalışır.
• **Δf farkı gönderilen sinyal ile gelen sinyal arasındaki geçen süreye, fD ise hedefin
yönüne bağlıdır. Hedef Radara Yaklaşırken alınan sinyal yukarıya, uzaklaşırken
aşağıya kayar.**
• Genelde Deniz Yön güdümlü radarlarda x bandında kullanılır ve doppler frekansı
en fazla ortalama 666hz olarak ölçülür. Çözünürlüğe bağlı olarak hedeflerin ayırt
edilmesi sağlanır. Çünkü bu modülasyon yukarıda anlattığım gibi frekansların ayırt
edilememesinden dolayı uzun menzil ölçümünde kullanılır, menzil ve hız
çözünürlüğü genelde oldukça düşük olur.
• Misal; 10m aralıklı iki kayığı ve 200km/s hızla giden uçakları teorik olarak tespit
edemez.

http://www.radartutorial.eu/02.basics/Frekans%20Mod%C
3%BClasyonlu%20S%C3%BCrekli-
Dalga%20Radar%C4%B1.tr.html
Üçgen Biçimli Frekans Değişimi
• Bir kez daha tekrar etmem gerekiyor. Δf farkı gönderilen sinyal ile
gelen sinyal arasındaki geçen süreye, fD ise hedefin yönüne bağlıdır.
Hedef Radara Yaklaşırken alınan sinyal yukarıya, uzaklaşırken aşağıya
kayar.
• En önemli özelliği hem düşen hem yükselen kenarda ölçüm yapabilme
kapasitesi ve ölçülen frekansların ortalaması alınarak hassas menzil
ölçümü yapılabilmesidir.
• **Gönderilen ve alınan frekanslar yükselirken ve düşerken iki tane
frekans farkı oluşur. Bu farkların farkı doppler frekansının iki katıdır.
Lakin her iki fark frekansı eş zamanlı ölçülmediğinden bu karşılaştırma
bir sinyal işleme tekniği gerektirir.**
• Frekans Farkı=

• f(R), R= yerine yazılarak mesafe hesaplanabilir.
• Bu modülasyonun yan etkisi‘‘resim 4’’ de görüldüğü gibi
ölçülen doppler frekansının hangi hedefe ait olduğunun
anlaşılma sorunu vardır. Bu ayalet hedeflerin konumu
modülasyon biçiminin yükselen ve inen kenarlarının
dikliğine bağlıdır.
Spectogram Analizi ve
Matlab Denemelerim
STFT Sonuç
• Sonuç zaman düzleminde yorumlanmalıdır. Sonuç dB
cinsinden hesaplanır.
• Grafik anlaşılsın diye 3b şeklinde gösterimi uygulanabilir.
• Kodlar geliyor.
STFT(Short Time Fourier Transform)
• STFT ve Spectogram aslında birbirleriyle aynıdır. Sinyali zaman düzleminde pencereleme yöntemiyle parçalara ayırarak her parçanın fourier transformunu alırız. Bu sayede
frekans değişimini gözleyebiliriz.
• Fonksiyonun Bu şekilde yazıldığını kanıtlamış oldum.
function [stft, f, t] = stft(x, wlen, hop, nfft, fs)
x - signal in the time domain wlen - length of the analysis Hamming window hop - hop size nfft - number of FFT points fs - sampling frequency, Hz stft - STFT matrix (only unique
points, time across columns, freq across rows) f - frequency vector, Hz t - time vector, s
% represent x as column-vector
x = x(:);
% length of the signal
xlen = length(x);
% form a periodic hamming window
win = hamming(wlen, 'periodic');
% stft matrix estimation and preallocation
rown = ceil((1+nfft)/2); % calculate the total number of rows
coln = 1+fix((xlen-wlen)/hop); % calculate the total number of columns
stft = zeros(rown, coln); % form the stft matrix
% initialize the signal time segment index
indx = 0;
% perform STFT
for col = 1:coln
% windowing
xw = x(indx+1:indx+wlen).*win;
% FFT
X = fft(xw, nfft);
% update the stft matrix
stft(:, col) = X(1:rown);
% update the index
indx = indx + hop;
end
% calculate the time and frequency vectors
t = (wlen/2:hop:wlen/2+(coln-1)*hop)/fs;
f = (0:rown-1)*fs/nfft;
end
Spectrum 3b
figure
[S,F,T,p] = spectrogram(x,blackman(256),[],128,fs);
[q,nd] = max(10*log10(p));
% % helperCWTTimeFreqPlot(S,T,F,'surf','STFT of Quadratic Chirp','Seconds','Hz')
surf(T, F, abs(S))
hold on
plot3(T,F(nd),q,'r','linewidth',4)
hold off
shading interp
axis tight
box on
view(0, 90) % view(2)
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Time, s')
ylabel('Frequency, Hz')
zlabel('Amplitude V')
title('Amplitude spectrogram of the signal')
handl = colorbar;
set(handl, 'FontName', 'Times New Roman', 'FontSize', 14)
ylabel(handl, 'Magnitude, dB')
Ters STFT(istft)
• Ifft varsa istft de yapılabilir.
• Bu sefer ifft kullanılırsa istft elde edilebilir.
• Kodlar geliyor.
ISTFT Fonksiyonu(1. slayt)
function [x, t] = istft(stft, wlen, hop, nfft, fs)
% function: [x, t] = istft(stft, wlen, hop, nfft, fs)
% stft - STFT matrix (only unique points, time across columns, freq across rows)
% wlen - length of the sinthesis Hamming window
% hop - hop size
% nfft - number of FFT points
% fs - sampling frequency, Hz
% x - signal in the time domain
% t - time vector, s
% signal length estimation and preallocation
coln = size(stft, 2);
xlen = wlen + (coln-1)*hop;
x = zeros(1, xlen);
% form a periodic hamming window
win = hamming(wlen, 'periodic');
% initialize the signal time segment index
indx = 0;
% perform ISTFT (via IFFT and Weighted-OLA)
if rem(nfft, 2) % odd nfft excludes Nyquist point
for col = 1:coln
% extract FFT points
X = stft(:, col);
X = [X; conj(X(end:-1:2))];
% IFFT
xprim = real(ifft(X));
xprim = xprim(1:wlen);
ISTFT Fonksiyonu(2. slayt)
% weighted-OLA
x((indx+1):(indx+wlen)) = x((indx+1):(indx+wlen)) + (xprim.*win)';
% update the index
indx = indx + hop;
end
else % even nfft includes Nyquist point
for col = 1:coln
% extract FFT points
X = stft(:, col);
X = [X; conj(X(end-1:-1:2))];
% IFFT
xprim = real(ifft(X));
xprim = xprim(1:wlen);
% weighted-OLA
x((indx+1):(indx+wlen)) = x((indx+1):(indx+wlen)) + (xprim.*win)';
% update the index
indx = indx + hop;
end
end
% scale the signal
W0 = sum(win.^2);
x = x.*hop/W0;
% generate time vector
t = (0:xlen-1)/fs;
end
ISTFT Fonksiyonu(example slayt)
% music program (stochastic non-stationary signal)

[x, fs] = audioread('track.wav');

x = x(:, 1);

% signal parameters

xlen = length(x);

t = (0:xlen-1)/fs;

% define the analysis and synthesis parameters

wlen = 1024;

hop = wlen/4;

nfft = 10*wlen;

% perform time-frequency analysis and resynthesis of the original signal

[stft, f, t_stft] = stft(x, wlen, hop, nfft, fs);

[x_istft, t_istft] = istft(stft, wlen, hop, nfft, fs);

% plot the original signal

figure(1)

plot(t, x, 'b')

grid on

xlim([0 max(t)])

set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)

xlabel('Time, s')

ylabel('Signal amplitude')

title('Original and reconstructed signal')

% plot the resynthesized signal

hold on

plot(t_istft, x_istft, '-.r')
Matlab Spectogram Fonksiyonu
• Spectogram Nedir? Spectogram aslında sinyalin parça parça DTFT alarak
frekansın zamanla değişimi gözlemlemeye yarar.
• Sinyali parçalara ayırmak için zaman düzleminde pencereleme işlemi
yapıyor. Matlab Spectogram varsayılan pencereleme fonksiyonu
Hamming algoritmasıdır.
• s = spectrogram(x,window,noverlap,nfft);
• x= girdi sinyal
• window= blackman(128) yada hamming(256) pencereleme algoritması
ve zamanı parçalama sayısı. spectogram çözünürlüğü bu sayı arttıkça
artar. 2 ve üssü seçmekte yarar var. matlab spectogram içinde fft
kullanıyor ve fft 2 ve üssü ile hesap yapar.
• Sinyal (1-cos(2*pi*(0:N)'/N))/2 N parçadan oluşuyorsa hann penceresi
N+1 uzunluğundadır.
• noverlap= positif tam sayıdır. örneklerin üst üste gelme sayısı. Parçalar
arasında varsayılan olarak %50 olacak şekilde üst üste biner.
• nfft= frekans düzleminin örnekleme sayısı. genelde girdi sinyalinin
örnekleme frekansına eşit olur.
Matlab Spectogram Fonksiyonu
• Ürettiğim Chirp sinyali, FFT ve spectogram
grafiklerini görebiliyorsunuz.
• Zamanla frekans azalıp artıyor.
Windowing
• Bilinen Birkaç Penceleme Tekniği

• Hanning window

• This is also known as a cosine taper. It starts at 0, rises to 1 in the middle of the period, and then goes smoothly back down to zero at the end.

• w1(t) = 0.5 – 0.5 * cos(2pt/T)

• If x(t) is the data (presumed to have zero mean value), then the windowed version of the data,y(t), is computed as follows:

• y1(t) = x(t) * w1(t)

• Hamming window

• This modified cosine taper starts at 0.08, rises to 1 in the middle of the period, and then goes smoothly back down to 0.08 at the end.

• w2(t) = 0.54 – 0.46 * cos(2pt/T)

• y2(t) = x(t) * w2(t)

• Blackman window

• This modified cosine taper uses two cosines.

• w3(t) * 0.42 – 0.5 * cos(2pt/T) + 0.08 * cos(4pt/T)

• y3(t) = x(t) * w3(t)

• w1=hanning(100);

• w2=hamming(100);

• w3=blackman(100);

• t=1:100;

• plot(t,w1,'.r-',t,w2,'.g-',t,w3,'.b-');

• xlabel('Time'); ylabel('Amplitude'); title('Window Comparison');

• legend('Hanning','Hamming','Blackman'); grid on;

• Kaiser, or Kaiser-Bessel, window:

• This tapering function has an adjustable parameter b. b can vary from 0 to +infinity, but the range 3 ≤ b ≤ 10 is typical. When b = 0, the Kaiser window becomes a rectangular window (no tapering). As b rises, tapering increases, and the main lobe
width increases and sideband attenuation increases.

• The exact formula for the Kaiser window is complicated. Figure 2 shows Kaiser windows with b=3, 5, and 10.

• Rectangular(hamming) window: this is really no window, i.e. no tapering. It is mentioned for completeness and because the rectangular window is one of the window options in many window-related VIs in Labview.

• w0(t)=1 for 0<=t<T.

• y(t) = x(t)*w0(t) = x(t)
Windowing Dikdörtgen Penceresi
• Dikdörtgen pencereleme oldukça mantıklı lakin analog
ortamda tam olarak üretmesi imkansız ve sinyalin frekans
tepkisine yüksek frekans ekliyor.
t=0:1/1e2:2;
d=chirp(t,0,1,250);
N=length(d);
x=d-mean(d); % sıfır frekans bileşeni silinir.
w1=hamming(N);
y=x.*w1;
plot(t,x,'k',t,y,'r');
xlabel('Time (s)'); ylabel('Amplitude (V)'); title('chirp');
legend('Raw (zero mean)','After Hamming Window');
Windowing Grafikleri
• Kaiser ve Blackman pencerelemeleri daha dar pencereelde
edebiliyoruz fakat frekans cevaplarına bakmak gerekiyor.
• Pencereler normalize edilmiştir ve matlab pencere üretme
aracıyla üretilmiştir.
• Kaiser beta katsayısı sayesinde pencere aralığı kolayca
ayarlanabilir.
Hangi Pencereleme Seçmeliyiz?
• Genelde yan lopların büyük olmaması, analobun olabildiğince dar olması, sisteme yeni harmonik katmaması
ve filtre etmek istemediğiniz bölgelere en az etki yapması tercih sebebidir.
• Fakat bu özellikleri ideal olarak sağlamak imkansıza yakındır. Ana lob daraldıkça işlem gücüde orantılı olarak
artar.
• Window Designer uygulaması pencere tasarımını kolaylaştırıyor.
w0=ones(1,100); wvtool(w1,w2,w3,w0);
Pencerelerin Frekans Cevapları
• Grafik isimleri pencereleme tekniği ve örnek sayısının birleşiminden oluşuyor. İlki genlik-örnekleme, diğeri
genlik(dB)-frequency
• Pencere İsimleri Sırasıyla: hamming64, hann64, rectengular64, triangular64, barlett64, barletHannig64, blackman64,
blackmanHarris64, chebyshev64, gauusian64, kaiser64, kaiser32, kaiser16
filt=load('filtreler.mat');
filtAr=struct2cell(filt).';
N=13;
tit=['hamming64','hann64','rectengular64','triangular64','barlett64','barletHannig64','blackman64','blackmanHarris64',.
..
'chebyshev64','gauusian64','kaiser64','kaiser32','kaiser16'];
disp('pencelerin görünümleri ve frekans tepkileri.')
figure('Name','Time Domain')
%Time Domain
for p=1:N
subplot(4,N/4+0.75,p)
plot(filtAr{p})
xlabel('samples')
ylabel('amplitude')
title(tit(p))
% H=wvtool(filtAr{p});
% H.Name=tit(p);
end
% Frequency Domain
figure('Name','Frequency Domain Response')
for p=1:N
subplot(4,N/4+0.75,p)
[H,W] = freqz(filtAr{p});
plot(W,20*log10(abs(H)))
xlabel('Normalized Frequency x pi rad/sample')
ylabel('Magnitude (dB)')
title(tit(p))
% H=wvtool(filtAr{p});
% H.Name=tit(p);
end
Chirp(cıvıltı), FMCW(Frequency
Modulated Continues Wave) Sinyali
• Burada chirp sinyal türlerinden LFM(Linear Frequency Modulated)türünü tanıtacağım. Matlab chirp fonksiyonu

Projede sürekli dalga modulasyonu yapabilmeyi kolaylaştıracak bir fonksiyon yazacağım.

**Bu modulasyon sayesinde frekans-zaman grafiğinde içine konan bir fonksiyonun görüneceği gibi frekans değişimi sağlanacaktır.

*Eğer yapabilirsem aynı zamanda verilen fonksiyona göre genlik değişimini gösterebilirim.

s(t)=A*cos(2*pi*f0*t)

input=fonksiyon

output=frekansı değişmiş sürekli dalga

Matlab chirp sinyali.

Linear chirp

y=chirp(t,f0,t1,f1)

y = chirp(t,f0,t1,f1,'quadratic',phi,'shape')

• Chirp sinyali frekansı zamanla değiştirerek mesafe ve hız
ölçümünü gerçekleştirmemizi sağlar. Sabit frekanslı sinyallere
göre mesafe ölçümünü kolaylaştırdığından kullanımı oldukça
yaygındır. Hesaplaması da oldukça kolaydır.
Chirp(cıvıltı), FMCW(Frequency
Modulated Continues Wave) Sinyali
• Frekans değişimini sinyalini istediğimiz fonksiyona göre
düzenleyemeyiz. Β katsayısı her fonksiyon türü için değişir.
• fi(t)=f0+β*t Lineer frekans değişim fonksiyonumuzdur. Buradan
β=(f1−f0)/t1 şeklinde hesaplanır.
• fi(t)=f0+β*t.^2 Eğer t.^2 frekans değişimiyle yapmak istersek
β=(f1−f0)/(t1.^2) olarak hesaplanır.
• fi(t)=f0×β.^t spektrumda logaritmik bir ifade üretir. β=(f1f0).^(1/t1)
; [f1 > f0] olarak hesaplanır.
function x=mychirp(t,f0,t1,f1,phase)

Y = mychirp(t,f0,t1,f1) generates samples of a linear swept-frequency

signal at the time instances defined in timebase array t. The instantaneous
frequency at time 0 is f0 Hertz. The instantaneous frequency f1
is achieved at time t1.
The argument 'phase' is optional. It defines the initial phase of the
signal degined in radians. By default phase=0 radian

function body

if nargin==4
phase=0;
end
t0=t(1);
T=t1-t0;
k=(f1-f0)/T;
x=cos(2*pi*(k/2*t+f0).*t+phase);

end
Chirp Sinyal Fonksiyonum
fs=500; %sampling frequency
t=0:1/fs:1; %time base - upto 1 second
f0=1;% starting frequency of the chirp
f1=fs/20; %frequency of the chirp at t1=1 second
x = mychirp(t,f0,1,f1);
subplot(2,2,1)
plot(t,x,'k');
title('Chirp Signal');
xlabel('Time(s)');
ylabel('Amplitude');
L=length(x);
NFFT = 1024;
X = fftshift(fft(x,NFFT));
Pxx=X.*conj(X)/(NFFT*NFFT); %computing power with proper scaling
f = fs*(-NFFT/2:NFFT/2-1)/NFFT; %Frequency Vector
subplot(2,2,2)
plot(f,abs(X)/(L),'r');
title('Magnitude of FFT');
xlabel('Frequency (Hz)')
ylabel('Magnitude |X(f)|');
xlim([-50 50])
Pxx=X.*conj(X)/(NFFT*NFFT); %computing power with proper scaling
subplot(2,2,3)
plot(f,10*log10(Pxx),'r');
title('Double Sided - Power Spectral Density');
xlabel('Frequency (Hz)')
ylabel('Power Spectral Density- P_{xx} dB/Hz');
xlim([-100 100])
X = fft(x,NFFT);
X = X(1:NFFT/2+1);%Throw the samples after NFFT/2 for single sided plot
Pxx=X.*conj(X)/(NFFT*NFFT);
f = fs*(0:NFFT/2)/NFFT; %Frequency Vector
subplot(2,2,4)
plot(f,10*log10(Pxx),'r');
title('Single Sided - Power Spectral Density');
xlabel('Frequency (Hz)')
ylabel('Power Spectral Density- P_{xx} dB/Hz');
Chirp(cıvıltı), FMCW(Frequency
Modulated Continues Wave) Sinyali
• Lineer chirp
fs=1e3;
tstart=0;
tstop=2;
t = tstart:1/fs:tstop;
f0=0;
t1=tstop; f1=250; %Hz
y = chirp(t,f0,t1,f1); % t=0 => f0=0 Hz, t=1 => f1=250 Hz
figure;
subplot(2,1,1)
plot(t,y)
subplot(2,1,2)
spectrogram(y,256,250,256,fs,'yaxis') %sampling frequency must be same or high than signal sampling frequency
• Logaritmik chirp
fs=1e3;
tstart=0;
tstop=2;
t = tstart:1/fs:tstop;
f0=10;
t1=tstop; f1=250; %Hz
y = chirp(t,f0,t1,f1,'logarithmic'); % t=0 => f0=0 Hz, t=1 => f1=250 Hz
figure;
subplot(2,1,1)
plot(t,y)
subplot(2,1,2)
spectrogram(y,256,250,256,fs,'yaxis') %sampling frequency must be same or high than signal sampling
Chirp Matlab toolbox
• Buradaki kodlar Matlab aracı ile üretilmiştir.

%% MATLAB Code from Waveform Analyzer App

% Generated by MATLAB 9.3 and Phased Array System Toolbox 3.5

% Generated on 05-Apr-2018 12:49:04

% Create an FMCW Waveform object

h = phased.FMCWWaveform;

h.SampleRate = 3000000;

h.SweepTime = 0.0001;

h.SweepBandwidth = 1000000;

h.SweepDirection = 'Triangle';

h.SweepInterval = 'Symmetric';

h.NumSweeps = 10;

%% Create figure, panel, and axes

fig = figure;

panel = uipanel('Parent',fig);

hAxes = axes('Parent',panel,'Color','none');

Fs = h.SampleRate;

x = step(h);
Chirp Matlab toolbox
win = kaiser(floor(length(x)/16),38);

Threshold = -100;

[~,f,t,p] = spectrogram(x,win,floor(length(x)/17),256,Fs,'yaxis', ...

'MinThreshold',Threshold, 'reassigned');

[~, t_scale, t_Units] = engunits(max(t));

[~, f_scale, f_Units] = engunits(max(f));

% set all 0 with next smallest value;

p(p<eps) = eps;

f = (f-Fs/2);

surf(t*t_scale,f*f_scale,fftshift(10*log10(abs(p)),1),'EdgeColor','none');

axis([t(1)*t_scale t(end)*t_scale f(1)*f_scale f(end)*f_scale]);

xlabel('Time (us)');

ylabel('Frequency (MHz)');

title('Spectrogram of Baseband Signal');

axis xy;

ch = colorbar;

ylabel(ch, 'dB');
UYGULAMA
• Aslında size radar sinyal işlemeyi tanıtmak
istiyorum. Elimde ham radar sinyali
olmadığından spectrum ve spectogram
kullanımını etrafımızda en kolay
bulabileceğimiz sinyal kaynağıyla
göstereceğim.
• MÜZİK
Klasör Yolunu ve Alt Klasör Yollarını
Bulalım
• İlk olarak müziği işletim sisteminde aramalıyız.
Matlab ile dosya arama yapmak oldukça kolay. İlk
olarak proje klasör yolunu ve alt klasör yollarını
bulalım.
Find subfolder in system
d = dir();
% mainFolder=strcat(d.folder,'\'); mainFolder=mainFolder{:};
mainFolder=d.folder;
isub = [d(:).isdir]; %# returns logical vector
nameFolds = {d(isub).name}';
nameFolds(ismember(nameFolds,{'.','..'})) = [];
f={mainFolder,nameFolds{:}};
filename=strjoin(f,'\');
Tüm Şarkıları Listele
songNames = ls(filename);
songNames(1:2,:)=[];
NumberOfSongs=numel(songNames)/numel(songNames(1,:));
songN=input('input song number : ');
if songN>NumberOfSongs; error('There is no more file'); end
song=songNames(songN,:);

songExtensions=['mp3','wav','ogg','flac','AIFC','AIFF','m4a','mp4'];
C = strtrim(strsplit(song,'.'));
for ext=songExtensions
if all( lower(C{2})==lower(ext) )
error('this file is not a supported song file')
end
end
Dosya Yolunu Tam String Haline
Getirilelim
f={filename,song};
fullFileName=strjoin(f,'\');
Şarkıyı Yükle, Çal, Duraklat, Devam
Ettir, Durdur
Load Song
% filename=dir(fullfile(d,'Fur Elise.mp3'))
[y,Fs] = audioread(fullFileName);
Play Song
player=audioplayer(y,Fs);
play(player)
Pause Song
pause(player)
Resume Song
resume(player)
Stop Song
stop(player)
Şarkıyı Sanallaştıralım
• Şarkı dediğimiz şey genelde birkaç kanaldan alınmış vektörlerin birleşimidir. Genelde stereo yani 2 kanal
barındıran dosyalardır. 2 kanal iki sütun vecötür olarak matlab ortamna aktarılır.
y=y(:,1);
% t=linspace(0,);
t=( 0:1/Fs:(numel(y)-1)/Fs ).';
kactane=3;
subplot(kactane,1,1)
plot(t,y); title('time-amplitude'); xlabel('time'); ylabel('amplitude'); grid on;
subplot(kactane,1,2)
L=length(t); % Sinyalin uzunluğu
sfft=fft(y);
sfft_abs=abs(sfft/L);
sfft_abs = sfft_abs(1:fix(L/2)+1);
sfft_abs(2:end-1) = 2*sfft_abs(2:end-1);
f = Fs*(0:(L/2))/L; % fft vektörü
plot(f,sfft_abs); title('All Time Single frequency-amplitude'); xlabel('frequency'); ylabel('amplitude'); grid on;
xlim([0 2e3]); ylim([0 max(sfft_abs)])
Şarkı Spectrumu
• Spectrum analizi dediğimiz şey sinyalin genliğini
ortalama güç cinsinden incelemektir.
subplot(kactane,1,3)
n = numel(y); % number of samples
% power = (abs(sfft_abs).^2)/n; % power of the DFT
power = (sfft_abs).^2/n; % power of the DFT
plot(f,power)
xlabel('Frequency')
ylabel('Power')
xlim([0 2e3]); ylim([0 max(power)])
Song Spectrum Bir Zaman Aralığında
figure
subplot(2,1,1)
% taralik=and(t>50, t<100);
% yaralik=y(taralik);
% plot(t(taralik),yaralik)
% xlabel('Time (seconds)')
% ylabel('Amplitude')
% xlim([0 t(end)])
moan = y(1:1000);
t = 10*(0:1/Fs:(length(moan)-1)/Fs);
plot(t,moan)
xlabel('Time (seconds)')
ylabel('Amplitude')
xlim([0 t(end)])
subplot(2,1,2)
m = length(moan); % original sample length
n = pow2(nextpow2(m)); % transform length
y = fft(moan,n); % DFT of signal
f = (0:n-1)*(Fs/n)/10;
power = abs(y).^2/n;
plot(f(1:floor(n/2)),power(1:floor(n/2)))
xlabel('Frequency')
ylabel('Power')
xlim([0 150]); ylim([0 max(power)])
Song Spectogram
• Burada zamanla frekans değişimini gözlemleyeceğim. Şarkılar 128kb/sn ile
örneklenmiştir.
figure
Nx = length(y); %Sinyalin Uzunluğu
nsc = floor(Nx/2); % Sinyal zaman düzleminde 4.5 örnek pencere aralıklarında ayırdım.
nov = floor(nsc/2); % Pencereler arasında %50 kesişme var.
nff = max(256,2^nextpow2(nsc));
spectrogram(y,hamming(nsc),nov,nff,Fs,'yaxis'); %hamming pencereleme fonksiyonu
shading interp
% Birkaç ekleme ile daha anlaşılır olacaktır. Kaiser pencereleme beta katsayısı daha az üst
üste binmek için ayarlanabilir.
% Üst üste binme olmazsa daha iyi anlaşılabilir.
% Artık düşük frekanslarda -60dB yerine tüm güçleri göstermeye başladı. Güzel...
figure
Nx = length(y); %Sinyalin Uzunluğu
nsc = floor(Nx/2); % Sinyal zaman düzleminde 4.5 örnek pencere aralıklarında ayırdım.
nov = floor(nsc/2); % Pencereler arasında %50 kesişme var.
nff = max(256,2^nextpow2(nsc));
beta=30;
spectrogram(y,kaiser(nsc,beta),[],nff,Fs,'yaxis'); %hamming pencereleme fonksiyonu
shading interp
t = spectrogram(y,kaiser(nsc),nov,nff,'yaxis');
% maxerr = max(abs( abs(t(:))-abs(y(:)) )) % Eğer hata bulmak istiyorsanız örnekleme
frekansını matlaba bırakın ve hatayı hesaplayın.
• Burada yapmak istediğim şarkının notalarını ayrıştırmaktı. Fakat
matlab spectogram fonksiyonu performans sebepleriyle bölümleme
sayısı sınırlandırılmış ve STFT, ISTFT fonksiyonum yeteri kadar iyi değil.
• Ayrıca pencereleme fonksiyonunu ideal hale getirmek kısa sürede
yapılacak iş değil. Diğer şekilde notalar doğru şekilde seçilemiyor.
• Farklı enstrümanlar farklı tonlara ve notalar süreklilik sürelerine sahip
olması farklı pencerelere muhtaç bırakıyor.
Beni Dinlediğiniz İçin Teşekkür
Ederim.
Sözlük
• PRI= Pulse Reputition Interval (T)
• PRT= Pulse Repetition Time(T ) RRE= Radar Range Equation
• PRP= Pulse Reputition Period (T) SNR= Signal To Noise Ratio
• PRF= Pulse Reputition Frequency(fr) LE= Leading Edge
• IPP= Inter Pulse Preiod (T) TE= Traveling Edge
• CW= Continuos Wave DFT= Discreate Fourier Transform
• FM= Frequency Modulated DSP= Discreate Signal Processor
ADC= Analog to Digital Convertor
• FMCW= Frequency Modulated Continuos Wave
(chirp) DAC= Digital to Analog Convertor
• LFM= Linear Frequency Modulation PLL= Phase Lock Loop
• ATM= Air Trafic Management VCO= Voltage Contoroled Oscilator
• UWB= Ultra Wide Band LO= Local Oscillator, Low Observability
• RCS= Radar Cross Section BW= Bandwidth, Beamwidth
• PPI- Scope= Plan Position Indicator Scope VNA= Vector Network Analyzer
• Elevation Angle= Yükseklik açısı(düşey açı)
• Azimuth Angle= Yatay Açı
• SDR = Software Defined
• MMIC= Monolithic microwave integrated circuit Radio
• SMD= surface Mounted Device
• FSK= Frequency Shift Keying • USRP = Universial
• RADAR= Radio Detection and Ranging Software Radio Peripheral
• T/R= Transmit/Receive
• STALO= Stable Local Oscillator • Gige=Gigabit Ethernet
• RBW= Resolution Bandwidth
• MMIC= Microwave Monolithic Integrated Circuit
• MS = MegaSample
• IF= Intermediate Frequency
• ATC= Air Traffic Control
• ASR= Airport Surveillance Radar
• AFC= Automatic Frequency Control
• AGC= Automatic Gain Control
• OTH= Over-The-Horizon
• UWB= Ultra Wideband
• NM= Deniz Mili
• ISN= industrial, scientific and medical (ISM) radio
bands
• DARS= Digital audio radio service
• FCC= Federal Communications Commission
• NWS= National Weather Service
• NEXRAD= Next-Generation Radar
KAYNAKÇA
• Designing Analog Front-end Radar Imaging Applications
• http://www.radartutorial.eu/index.tr.html
• http://www.radio-electronics.com/info/antennas/waveguide/waveguide-basics-tutorial.php
• https://www.everythingrf.com/
• https://www.microwaves101.com/
• https://www.youtube.com/channel/UC_iTCHgHlHQX3ZMZyQuSTLg
• https://www.muhendisbeyinler.net/radar-nedir-ve-nasil-calisir/
• Radar Systems Analysis And Design Using Matlab Third Edition Bassem R. Mahafza deciBel Research Icn. Huntsville, Alabama, USA
CRC Press
• http://eem.mersin.edu.tr/pers/cozdemir/EEM%20507/
• http://www.microwaves101.com/encyclopedias/network-parameters
• https://books.google.com.tr/books?id=yYgUL9t01CQC&pg=PA58&lpg=PA58&dq=microwave+series+connection&source=bl&ots=7
PTwAKjAiM&sig=Lt9tA_mFYliVgkjky5hPjd9y2wc&hl=tr&sa=X&ved=0ahUKEwiEgP-8-
v_ZAhXCXiwKHdc8AO4Q6AEIdDAJ#v=onepage&q=microwave%20series%20connection&f=false
• Ulusal tez merkezi:
• Sürekli dalga frekans müdülasyonu ile elde edilen radyo kanal verilerinde bant içi girişimin bastırılması