Alçak irtifa ve düşük radar kesit alanına sahip mini/mikro İHA'ları; radar, RF/DF, EO-IR ve akustik kiplerini ortak bir füzyon çekirdeğinde birleştirerek düşük maliyetli, açık mimarili bir platformda güvenilir biçimde tespit etmeyi ve sınıflandırmayı hedefleyen (drone / kuş / gürültü) bir araştırma prototipi.
Bu sayfa bir araştırma geliştirme kaydıdır. Fiziksel dört sensörlü prototip ve saha başarımı henüz doğrulanmadı.
V4L2 kameradan MJPEG kare ve ALSA ses girişinden örnek okundu. Tek sınıflı ONNX drone modeli çalıştırıldı; karanlık yerel karelerde aday çıkmadı. Bağımsız saha başarımı ölçülmedi.
12 V giriş / 5 V yardımcı çıkış KiCad şeması üretildi ve ERC sıfır ihlalle geçti. PCB, fiziksel kart ve yük/sıcaklık ölçümü henüz yok.
Radar, faz uyumlu SDR, EO/IR PTZ ve kalibre mikrofon dizisinin kesin modelleri; gerçek hedef verisi ve saha testleri gerekli.
Proje, drone tehditlerini yalnızca tespit eder ve sınıflandırır; herhangi bir etkisizleştirme (jammer, spoofer, lazer vb.) bileşeni kapsam dışıdır. Katkı tamamen durumsal farkındalık katmanındadır.
| Proje başlığı | Modüler Çok-Sensörlü Anti-Drone (C-UAS) Tespit ve Sınıflandırma Sistemi Prototipi |
|---|---|
| Program | TÜBİTAK 1002-A Hızlı Destek Modülü |
| Proje yürütücüsü | [Ad Soyad, Unvan] |
| Kurum / Fakülte / Bölüm | [Üniversite / Fakülte / Bölüm] |
| ARBİS / TC No | [doldurulacak] |
| ORCID | [doldurulacak] |
| Önerilen süre | 12 ay |
| Önerilen bütçe | ≤ 150.000 TL (burs dahil) |
| Araştırma alanı | Elektronik / Sinyal İşleme / Yapay Zekâ |
| Anahtar kelimeler | C-UAS, drone tespiti, sensör füzyonu, radar sinyal işleme, RF/yön bulma (DF), EO-IR, akustik dizi, yapay zekâ ile sınıflandırma |
Ticari mini/mikro İHA'ların yaygınlaşması; havaalanları, kritik enerji/haberleşme altyapıları, kamu etkinlikleri ve yerleşkeler için artan bir hava güvenliği riski oluşturur. Küçük RCS, alçak-yavaş uçuş profili ve kuşa benzer imzalar nedeniyle bu platformlar klasik radarlarla güvenilir tespit edilemez.
Tek bir yöntemin zayıf yönü vardır: RF tabanlı tespit otonom/fiber-optik kontrollü drone'da yetersizdir; radar kuş/drone ayrımında zorlanır; optik, görüş ve hava koşullarına bağlıdır. Bu nedenle çok-sensörlü füzyon ve YZ sınıflandırma, güvenilir erken uyarı için kritik ihtiyaçtır.
C-UAS tespiti; radar mikro-Doppler, RF protokol parmak izi, EO/IR ve derin öğrenme tabanlı akustik sınıflandırmada hızla gelişiyor. ASELSAN (İHTAR, KANGAL) ve Meteksan (Retinar) gibi olgun sistemler yüksek maliyetli/bütünleşiktir; düşük maliyetli, açık mimarili, akademik modüler tespit platformu boşluğu vardır.
Radar + RF/DF + EO-IR + akustik, tek füzyon çekirdeğinde (UART/Ethernet/MOSA).
GPU/NPU üzerinde gerçek zamanlı drone↔kuş↔gürültü ayrımı.
Taşınabilir, düşük güç, prototip ≤ 150.000 TL.
Açık veri/arayüz formatı; yayına ve büyük ölçekli projelere temel.
Her sensör kendi ön-işleme birimiyle veri üretir; veriler ortak zaman damgasıyla (GPS/PTP) senkronize edilerek füzyon çekirdeğine aktarılır. Çekirdek hedef izlerini (track) oluşturur, YZ sınıflandırıcı türü (drone / kuş / diğer) belirler ve sonuçlar operatör arayüzünde (C2 — yalnızca görüntüleme) haritalandırılır.
FMCW/Pulse-Doppler ham veriden menzil-Doppler haritası; mikro-Doppler imzalarıyla pervane dönüşü tespiti ve CFAR tabanlı hedef seçimi. → drone/kuş ayrımı için mikro-Doppler bant genişliği.
400 MHz–6 GHz bandında kontrol/telemetri linklerinin pasif sezimi ve anten dizisiyle geliş açısı (AoA) kestirimi. Herhangi bir yayın/karıştırma yoktur.
Gündüz ve termal kameralardan derin öğrenme tabanlı nesne tespiti (YOLO benzeri) ve PTZ ile görsel doğrulama/takip.
Mikrofon dizisiyle pervane/motor sesinin spektral analizi ve geliş yönü kestirimi; kötü görüş koşullarında tamamlayıcı erken uyarı.
Kalman/IMM tabanlı çoklu-hedef izleme ve sensörler arası karar birleştirme ile yanlış alarm azaltımı.
Radar mikro-Doppler, akustik spektrogram ve görüntü özniteliklerini birleştiren çok-kipli sınıflandırıcı; gömülü/edge platformda gerçek zamanlı çalışma hedefi.
KiCad şeması pinleri, parçaları ve elektriksel ağları içerir. Diğer çizimler mimari taslaktır; seçilmiş sensör modellerine ait bağlantı şeması veya üretim dosyası değildir.
Devre PDF KiCad dosyası KiCad BOM Sipariş listesi Tüm donanım dosyaları
Dijital I²S/PDM mikrofon ile analog mikrofon farklı bağlantı gerektirir. Önce sensör ve işlemci modeli seçilecek; ardından güç, saat, veri ve konnektörleri içeren gerçek şema yayımlanacak.
Bu sekmeler tespit/sınıflandırma yazılım çekirdeğinin donanımsız, sentetik veriyle çalışan referans uygulaması. Her modül bağımsız çalışır ve bir grafik üretir. Aşağıda her modülün çekirdek fonksiyonu ve gerçek çalıştırma çıktısı gösterilmiştir; tüm dosyalar indirilebilir pakettedir. Ayrı gerçek veri alma paketi V4L2, ALSA, kayıtlı SDR IQ, OEM radar CSV ve ONNX görüntü çıkarımı içerir.
def ca_cfar_2d(mag_db, guard=(2, 2), train=(8, 8), pfa=1e-4):
"""Vektörleştirilmiş 2B Hücre-Ortalamalı CFAR (uniform_filter ile O(N)).
Yerel gürültü tabanını kestirip uyarlanır eşik uygular; sabit yanlış alarm
olasılığı (Pfa) hedefler."""
p = 10 ** (mag_db / 10)
gr, gd = guard
tr, td = train
big = (2 * (tr + gr) + 1, 2 * (td + gd) + 1)
gbox = (2 * gr + 1, 2 * gd + 1)
n_big, n_g = big[0] * big[1], gbox[0] * gbox[1]
n_train = n_big - n_g
sum_big = uniform_filter(p, size=big, mode="nearest") * n_big
sum_g = uniform_filter(p, size=gbox, mode="nearest") * n_g
noise = (sum_big - sum_g) / n_train
alpha = n_train * (pfa ** (-1.0 / n_train) - 1.0) # CA-CFAR eşik çarpanı
mask = p > alpha * noise
b = (tr + gr, td + gd) # kenar bandını ele
mask[: b[0], :] = mask[-b[0]:, :] = False
mask[:, : b[1]] = mask[:, -b[1]:] = False
ii, jj = np.where(mask)
return [(int(i), int(j), float(10 * np.log10(p[i, j] / (noise[i, j] + 1e-12))))
for i, j in zip(ii, jj)]
def micro_doppler_bw(cube, range_bin, rel_peak=-22.0, above_floor=12.0):
"""Menzil-sıkıştırılmış veride seçili menzil hücresinin slow-time (Doppler)
spektrumunda İŞGAL EDİLEN bant genişliği. Önce fast-time FFT ile menzil
sıkıştırılır, sonra o menzil hücresinin chirp'ler-arası spektrumu alınır.
Eşik hem tepeye (-22 dB) hem gürültü tabanına (+12 dB) görelidir.
Geniş occBW -> dönen pervane (drone); dar tepe -> sabit gövde (kuş/araç)."""
rc = np.fft.fft(cube * np.hanning(cube.shape[0])[:, None], axis=0) # menzil sıkıştırma
row = rc[range_bin, :] * np.hanning(cube.shape[1])
spec = np.abs(np.fft.fftshift(np.fft.fft(row, n=2048))) ** 2
spec_db = 10 * np.log10(spec / (spec.max() + 1e-12) + 1e-12)
freqs = np.fft.fftshift(np.fft.fftfreq(2048, d=TCHIRP))
thresh = max(rel_peak, float(np.median(spec_db)) + above_floor)
mask = spec_db > thresh
return float(freqs[mask].max() - freqs[mask].min()) if mask.any() else 0.0
FMCW ham IF verisinden 2B FFT ile menzil-Doppler haritası, vektörleştirilmiş CA-CFAR ile tespit ve menzil-sıkıştırılmış slow-time spektrumundan mikro-Doppler bant genişliği (drone ~2700 Hz vs kuş ~165 Hz) çıkarılır.
def steering(theta_deg, n_el, d_lambda=0.5):
"""ULA yönlendirme vektörü (yarım-dalgaboyu aralık varsayılan)."""
m = np.arange(n_el)
return np.exp(-1j * 2 * np.pi * d_lambda * m * np.sin(np.deg2rad(theta_deg)))
def music_spectrum(x, n_src, scan=np.arange(-90, 90.1, 0.5)):
"""MUSIC sözde-spektrumu: gürültü alt-uzayına ortogonallikten AoA tepesi."""
n_el = x.shape[0]
R = (x @ x.conj().T) / x.shape[1] # örnek kovaryansı
w, V = np.linalg.eigh(R)
En = V[:, : n_el - n_src] # gürültü alt-uzayı
ps = []
for a in scan:
sv = steering(a, n_el)
ps.append(1.0 / (np.abs(sv.conj() @ En @ En.conj().T @ sv) + 1e-12))
ps = 10 * np.log10(np.array(ps) / np.max(ps))
return scan, ps
Pasif STFT ile atlamalı link burst'leri sezilir; ULA fazından MUSIC sözde-spektrumuyla geliş açısı (AoA) kestirilir. Yalnızca alıcı — hiçbir yayın yoktur.
def detect_classical(img, min_area=60):
"""Gökyüzüne göre koyu nesneleri blob olarak bulur; şekilden sınıflandırır."""
gray = img.mean(axis=2)
bg = ndimage.uniform_filter(gray, size=61) # yerel gökyüzü arka planı
dark0 = (bg - gray) > 18 # arka plandan koyu sapma (ham)
darkd = ndimage.binary_dilation(dark0, iterations=3) # gövde+rotorları birleştir (gruplama)
lbl, n = ndimage.label(darkd)
dets = []
for i in range(1, n + 1):
comp = lbl == i
ys, xs = np.where(comp)
if len(xs) < min_area:
continue
x0, x1, y0, y1 = xs.min(), xs.max(), ys.min(), ys.max()
w, h = x1 - x0 + 1, y1 - y0 + 1
aspect = w / h
# Doluluk: GRUPLAMA değil, ham (dilatasyon-öncesi) piksellerden -> ince
# strok yapılı kuş düşük doluluk, kompakt drone gövdesi yüksek doluluk verir.
fill = int((dark0 & comp).sum()) / (w * h)
# Şekil kuralları: drone kompakt & ~simetrik; kuş uzamış/seyrek
if aspect > 2.2 or aspect < 0.45 or fill < 0.22:
cls, conf = "kus", 0.6 + 0.3 * (1 - min(fill, 1))
else:
cls, conf = "drone", 0.65 + 0.3 * min(fill / 0.6, 1)
dets.append({"cls": cls, "conf": round(float(min(conf, 0.99)), 2),
"bbox": [int(x0), int(y0), int(x1), int(y1)],
"aspect": round(float(aspect), 2), "fill": round(float(fill), 2)})
return dets
Üretimde YOLO (ultralytics) ağırlıklarıyla çıkarım; bağımlılık yoksa numpy/scipy/PIL ile klasik blob tespiti + şekil özniteliğiyle (en-boy, doluluk) drone↔kuş ayrımı devreye girer.
def features(x):
"""Log-mel bant enerjileri + spektral merkez + harmonik oran + ZCR."""
f = np.abs(np.fft.rfft(x * np.hanning(len(x)), n=_NFFT)) ** 2
# kısa-zaman ortalama için birkaç çerçeve
frames = [np.abs(np.fft.rfft(x[i:i + _NFFT] * np.hanning(_NFFT))) ** 2
for i in range(0, len(x) - _NFFT, _NFFT // 2)]
P = np.mean(frames, axis=0) if frames else f
mel = np.log(_FB @ P + 1e-9)
freqs = np.fft.rfftfreq(_NFFT, 1 / FS)
centroid = (freqs * P).sum() / (P.sum() + 1e-9)
low = P[(freqs < 300)].sum(); tot = P.sum() + 1e-9
harm_ratio = low / tot # drone: alçak harmonik ağırlık
zcr = np.mean(np.abs(np.diff(np.sign(x)))) / 2
return np.concatenate([mel, [centroid / 1000, harm_ratio, zcr]])
def train_softmax(X, y, epochs=400, lr=0.3, l2=1e-3):
mu, sd = X.mean(0), X.std(0) + 1e-9
Xn = (X - mu) / sd
n, d = Xn.shape
K = len(CLASSES)
W = np.zeros((d, K)); b = np.zeros(K)
Y = np.eye(K)[y]
for _ in range(epochs):
p = _softmax(Xn @ W + b)
gW = Xn.T @ (p - Y) / n + l2 * W
gb = (p - Y).mean(0)
W -= lr * gW; b -= lr * gb
return {"W": W, "b": b, "mu": mu, "sd": sd}
Log-mel + harmonik öznitelikler üzerinde saf-NumPy softmax sınıflandırıcı (drone/kuş/gürültü) ve GCC-PHAT ile iki-mikrofon yön kestirimi.
def predict_update(self, z, dt):
n = 2
# 1) Karışım (interaction/mixing)
cbar = self.PI.T @ self.mu
w = (self.PI * self.mu[:, None]) / (cbar[None, :] + 1e-12) # w[i,j]
x0, P0 = [], []
for j in range(n):
xj = sum(w[i, j] * self.x[i] for i in range(n))
Pj = sum(w[i, j] * (self.P[i] + np.outer(self.x[i] - xj, self.x[i] - xj))
for i in range(n))
x0.append(xj); P0.append(Pj)
# 2) Model-koşullu Kalman tahmin + güncelleme
L = np.zeros(n)
for j in range(n):
F = _F(dt)
xp = F @ x0[j]
Pp = F @ P0[j] @ F.T + _Q(dt, self.q[j])
S = H @ Pp @ H.T + self.R
K = Pp @ H.T @ np.linalg.inv(S)
y = z - H @ xp
self.x[j] = xp + K @ y
self.P[j] = (np.eye(4) - K @ H) @ Pp
L[j] = np.exp(-0.5 * y @ np.linalg.inv(S) @ y) / np.sqrt(
np.linalg.det(2 * np.pi * S))
# 3) Model olasılığı güncelle
self.mu = cbar * L
self.mu /= self.mu.sum() + 1e-12
# 4) Birleşik kestirim
x = sum(self.mu[j] * self.x[j] for j in range(n))
P = sum(self.mu[j] * (self.P[j] + np.outer(self.x[j] - x, self.x[j] - x))
for j in range(n))
return x, P
İki modelli IMM (düz + manevra) Kalman filtresi ve GNN ilişkilendirme ile çoklu-hedef izleme; yanlış alarmlar iz doğrulama (3 vuruş) ile elenir.
def fuse_group(group):
"""Bir demetteki sensör kararlarını log-olabilirlik toplayarak birleştirir."""
logp = np.zeros(3)
sensors = set()
for d in group:
w = RELIABILITY.get(d.sensor, 0.5)
logp += w * np.log(_soft(d) + 1e-9)
sensors.add(d.sensor)
p = np.exp(logp - logp.max()); p /= p.sum()
k = int(p.argmax())
# Çok-sensör doğrulama katsayısı: tek kip -> güven cezası
corroboration = min(len(sensors) / 3.0, 1.0)
conf = float(p[k]) * (0.5 + 0.5 * corroboration)
return {
"cls": CLASSES[k].value,
"conf": round(conf, 3),
"prob": {CLASSES[i].value: round(float(p[i]), 3) for i in range(3)},
"sensors": sorted(s.value for s in sensors),
"n_sensor": len(sensors),
"az": round(np.mean([d.azimuth_deg for d in group]), 1),
}
def fuse(dets, promote_conf=0.6):
groups = cluster_by_time_bearing(dets)
out = []
for g in groups:
r = fuse_group(g)
r["promoted"] = r["conf"] >= promote_conf and r["n_sensor"] >= 2
out.append(r)
return outFüzyon çekirdeği ortak zaman damgası + yön kapısıyla demetler, ağırlıklı log-olabilirlikle sınıf birleştirir. Tek kipte görünen (doğrulanmayan) düşük-güvenli hayaletler yükseltilmez — örnekte 4-kip drone ve 3-kip kuş onaylanırken RF-only hayalet (güven 0.45) bastırılır.
Füzyon çekirdeğinin ürettiği izlerin operatöre nasıl sunulduğunu gösteren tarayıcı-içi PPI/plan görünümü. İzler simüle edilmiştir; yalnızca görüntüleme ve karar destek — hiçbir etkisizleştirme eylemi yoktur.
Kırmızı = drone, yeşil = kuş, gri = gürültü. Sınıf ve güven, çok-sensör füzyonundan türetilir.
Hedef tasarımda kipler ortak bir direk/kule üzerinde, ortak zaman ve güç omurgasıyla açık arayüz üzerinden bütünleşecek. IP66/IP67 muhafaza, titreşim yalıtımı ve TSN/PTP ağ seçimi sensör envanteriyle kesinleşecek.
Stabilize direk/pan-tilt, 2-eksen enkoderli gimbal, titreşim yalıtımı, IP66/IP67 muhafaza, taşınabilir tripod/şasi.
Merkezi PDU, ayrı korumalı güç rayları, ters-polarite koruması, yıldız topraklama, RF/dijital geri dönüş ayrımı.
TSN/PTP switch, GPS disiplinli grandmaster, ortak zaman damgalı mesaj şeması (açık/MOSA), edge füzyon.
Gereksinim analizi, mimari tasarım, bileşen seçimi ve tedarik. Çıktı: mimari dokümanı, donanım listesi.
Mekanik/elektriksel entegrasyon, veri protokolleri, ortak zaman damgası. Çıktı: entegre sensör düzeneği.
Füzyon/izleme algoritmaları, veri seti, sınıflandırıcı eğitimi, C2 arayüzü. Çıktı: çalışan yazılım + model.
Laboratuvar + kontrollü saha testleri, performans ölçümü, raporlama. Çıktı: test raporu, yayın taslağı.
Koordinasyon, ilerleme izleme, makale/bildiri hazırlığı. Çıktı: ara/sonuç raporları.
| Risk | Ols./Etki | B Planı |
|---|---|---|
| Donanım tedarik gecikmesi | Orta/Yüksek | Erken sipariş, yerli muadil, modüler alternatif |
| Düşük RCS'de radar yetersizliği | Orta/Orta | Çok-sensör füzyonu (RF/EO-IR/akustik ağırlığı ↑) |
| Veri seti yetersizliği (YZ) | Orta/Orta | Kamu veri setleri + saha kayıtlarıyla artırım |
| Saha testi izin/koşulu | Düşük/Orta | İzinli alan planı, HIL benzetim ile telafi |
| Bütçe üst limiti aşımı | Düşük/Orta | Önceliklendirme; çekirdek kipler önce, akustik opsiyonel |
Tüm bileşenler tespit, doğrulama, işleme ve görüntüleme amaçlıdır; etkisizleştirici (jammer, spoofer, lazer, HPM) bileşen yoktur. Birim maliyetler prototip seviyesinde yaklaşıktır; kesin tekliflerle güncellenecektir.
| # | Bileşen | Özellik | Amacı | Tahmini birim (TL) |
|---|---|---|---|---|
| 1 | FMCW / Pulse-Doppler Radar Modülü | X/Ku-band, menzil-Doppler, mikro-Doppler | Birincil hava hedefi tespiti | 35.000–60.000 |
| 2 | RF Dedektör + DF Anten Dizisi | 400 MHz–6 GHz, pasif sezim + yön bulma | Kontrol/telemetri linki tespiti ve AoA | 20.000–35.000 |
| 3 | EO/IR PTZ Kamera | Gündüz HD + termal, otomatik takip | Görsel doğrulama ve sınıflandırma | 25.000–40.000 |
| 4 | Akustik Mikrofon Dizisi | Çok-mikrofonlu dizi + ön-işleme | Tamamlayıcı pasif tespit (kötü görüş) | 4.000–8.000 |
| 5 | Edge İşlem Birimi (GPU/NPU) | Jetson sınıfı gömülü modül | Gerçek zamanlı YZ sınıflandırma | 15.000–25.000 |
| 6 | Stabilize Gimbal / Pan-Tilt | 2 eksen, enkoderli | Kamera stabilizasyonu ve takip | 8.000–15.000 |
| 7 | Lazer Mesafe Ölçer (LRF) | Aktif optik ölçüm; opsiyonel, model ve koşullar seçilecek | Menzil doğrulaması | 5.000–10.000 |
| 8 | Ağ ve Zaman Senkronizasyonu | Switch + GPS/PTP | Sensörler arası ortak zaman damgası | 3.000–6.000 |
| 9 | C2 Bilgisayar + Ekran | Endüstriyel PC / gömülü sistem | Füzyon ve operatör arayüzü | 15.000–25.000 |
| 10 | Güç Sistemi | Batarya / UPS / güç dağıtım | Saha beslemesi | 5.000–10.000 |
| 11 | Tripod / şasi / kablolama / muhafaza | IP korumalı, taşınabilir | Mekanik entegrasyon | 5.000–10.000 |
Bütçe, 1002-A üst limiti içinde kalacak şekilde çekirdek tespit kiplerine öncelik verir. Radar, bütçe uygunsa eklenir ya da kurum envanterinden sağlanır.
Değerler TL. En büyük kalem (makine-teçhizat çekirdeği) vurgulanmıştır.
| Bütçe kalemi | Açıklama | Tutar (TL) |
|---|---|---|
| Makine-Teçhizat (çekirdek) | RF/DF + EO-IR + akustik + edge + gimbal + C2 + ağ/güç | 105.000 |
| Sarf Malzeme ve Mekanik | Konektör, kablo, muhafaza, baskı devre, 3B baskı | 15.000 |
| Hizmet Alımı | Kalibrasyon, test desteği, yazılım/lisans | 12.000 |
| Seyahat | Kontrollü saha testi ulaşım/konaklama | 8.000 |
| Bursiyer (varsa) | Lisansüstü öğrenci desteği | 10.000 |
| Toplam | 150.000 | |
En az bir ulusal/uluslararası bildiri veya SCI/SCI-E makale; sensör füzyonu ve YZ sınıflandırma için paylaşılabilir yöntem ve değerlendirme metrikleri.
Çalışan laboratuvar/saha tespit prototipi (TRL 4–5); yeniden üretilebilir açık arayüz/veri formatı ve C2 görüntüleme modülü.
Kritik altyapı ve kamu güvenliği için yerli, düşük maliyetli durumsal farkındalık; lisansüstü öğrenci yetiştirme ve kurumsal Ar-Ge kapasitesi.
Bütünlük için, tespit prototipinin olgunlaşmasının ardından değerlendirilebilecek etkisizleştirme katmanı yalnızca kavramsal/mimari düzeyde gösterilir. Bu katman bu projenin kapsamı dışındadır; devre şeması, parametre veya kod içermez ve yetkili savunma sanayii kanalları (SSB çağrıları, ASELSAN/SAGE iş birliği) ile uygun izin/denetim çerçevesinde ayrıca ele alınmalıdır.
Tespit prototipi olgunlaştıktan sonra, daha büyük ölçekli (ör. TÜBİTAK 1001 veya altyapı) bir projeyle menzil/doğruluk artırımı ve operasyonel entegrasyon hedeflenebilir.