‏הצגת רשומות עם תוויות AI. הצג את כל הרשומות
‏הצגת רשומות עם תוויות AI. הצג את כל הרשומות

יום חמישי, 20 במרץ 2025

כדי לזהות רחפנים באופן אוטומטי באמצעות AI/Machine Learning

 כדי לזהות רחפנים באופן אוטומטי באמצעות AI/Machine Learning, נשתמש בגישה הבאה:


📌 עקרון הפעולה של הזיהוי האוטומטי

1️⃣ סריקת ספקטרום (כבר יש לנו קוד לזה) – נאסוף נתונים רחבים של RF מ-70MHz עד 6GHz.
2️⃣ עיבוד נתונים (Feature Extraction) – נזהה דפוסי אותות שמאפיינים רחפנים (למשל, אותות PWM, WiFi, FHSS וכו').
3️⃣ מודל למידת מכונה (ML/DL) – נלמד רשת נוירונים או מודל SVM/RandomForest לזהות רחפן לפי טביעת הספקטרום שלו.
4️⃣ זיהוי בזמן אמת (Real-time Detection) – ניטור שוטף והתרעה כאשר מזוהה תדר של רחפן.


🔍 איסוף ותיוג נתונים

לפני שנאמן מודל, נצטרך דאטה מתויג: ✅ דגימות רחפנים אמיתיות – ניקח ספקטרום של DJI, Parrot, Autel ועוד.
דגימות רקע (Noise & False Positives) – תדרים של WiFi, Bluetooth, מכשירים ביתיים.
תיוג הנתונים – ניצור מאגר אותות עם תוויות ("Drone", "Non-Drone").

📌 רוצה להקליט נתוני רחפן משלך או להשתמש במאגר נתונים מוכן?


📜 קוד ראשוני לזיהוי תדרי רחפן עם ML

נשתמש ב-SciKit-Learn עם Random Forest כדי לזהות דפוסים בספקטרום.

import numpy as np
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# יצירת דאטה מדומה (בשלב הבא נכניס דאטה אמיתי)
num_samples = 1000
freqs = np.linspace(70e6, 6e9, num_samples)

# יצירת תדרים של רחפנים (למשל DJI ב-2.4GHz ו-5.8GHz)
drone_labels = np.random.choice([0, 1], size=num_samples, p=[0.9, 0.1])  # רוב התדרים לא רחפן

# יצירת מאפייני ספקטרום
features = np.random.rand(num_samples, 10)  # סימולציה של ספקטרום (נכניס דאטה אמיתי אחר כך)

# חלוקה לסט אימון/בדיקה
X_train, X_test, y_train, y_test = train_test_split(features, drone_labels, test_size=0.2, random_state=42)

# אימון מודל זיהוי רחפנים
clf = RandomForestClassifier(n_estimators=100)
clf.fit(X_train, y_train)

# בדיקת ביצועים
y_pred = clf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Model Accuracy: {accuracy * 100:.2f}%")

# זיהוי רחפן בתדרים אמיתיים
test_spectrum = np.random.rand(1, 10)  # נכניס ספקטרום אמיתי מה-SDR
prediction = clf.predict(test_spectrum)
print("Drone Detected!" if prediction == 1 else "No Drone Detected.")

🚀 מה השלב הבא?

1️⃣ שימוש בנתוני RF אמיתיים מה-SDR (ולא רק סימולציה).
2️⃣ שיפור המודל עם CNN/RNN לניתוח ספקטרום רציף.
3️⃣ חיבור לזיהוי חכם ושיבוש אוטומטי לאחר זיהוי רחפן.

📌 רוצה שאשלב מודל נוירונים מתקדם (Deep Learning) לזיהוי רחפנים בצורה חכמה יותר? 😃

אפשר ליצור Sweep Scanner שמדלג בין תדרים ומציג ספקטרום מלא עד 6GHz.

 כדי לבצע סריקת ספקטרום מלאה (Sweep Scanner) על כל התחום של SDR B205mini, נכתוב קוד שיעבור בהדרגה על כל התדרים האפשריים (70MHz עד 6GHz), יבצע דגימה מה-SDR, ויציג את הנתונים בצורה גרפית.


📌 עקרון הפעולה של הסורק

✔️ Sweep – נדגום כל פעם חלק קטן מהספקטרום (רוחב פס של 10MHz או פחות).
✔️ FFT – נחשב את עוצמת האותות בכל תחום תדר.
✔️ הצגת ספקטרום מצטבר – נציג את כל הנתונים יחד לקבלת תמונה מלאה.


📜 קוד Python לסריקת ספקטרום מ-70MHz עד 6GHz

import numpy as np
import matplotlib.pyplot as plt
from gnuradio import uhd
import time

# הגדרות סורק
start_freq = 70e6    # 70MHz - התחלה
stop_freq = 6e9      # 6GHz - סוף
step_freq = 50e6     # 50MHz קפיצה בכל סריקה
samp_rate = 10e6     # 10MSPS (ניתן להוריד אם יש עומס על המעבד)
gain = 40            # עוצמת קליטה

# יצירת חיבור ל-SDR
sdr = uhd.usrp_source(
    ",".join(("addr=192.168.10.2", "")), 
    uhd.stream_args(cpu_format="fc32", channels=[0])
)
sdr.set_samp_rate(samp_rate)
sdr.set_gain(gain)

# רשימת נתונים לאגירת ספקטרום
full_spectrum = []
freqs_list = []

# סריקת כל התחום
current_freq = start_freq
while current_freq <= stop_freq:
    sdr.set_center_freq(current_freq)
    time.sleep(0.1)  # זמן המתנה לייצוב התדר

    # קליטת דגימות
    samples = np.array(sdr.recv_num_samps(1024*64, current_freq))

    # חישוב FFT
    fft_vals = np.fft.fftshift(np.fft.fft(samples))
    freqs = np.fft.fftshift(np.fft.fftfreq(len(samples), d=1.0/samp_rate)) + (current_freq / 1e6)

    # שמירת הנתונים
    full_spectrum.append(20 * np.log10(np.abs(fft_vals)))
    freqs_list.append(freqs)

    print(f"Scanned: {current_freq/1e6} MHz")

    # מעבר לתחום הבא
    current_freq += step_freq

# שילוב כל התוצאות לספקטרום אחד
full_spectrum = np.concatenate(full_spectrum)
freqs_list = np.concatenate(freqs_list)

# הצגת הגרף
plt.figure(figsize=(12, 6))
plt.plot(freqs_list, full_spectrum, linewidth=0.5)
plt.xlabel("Frequency (MHz)")
plt.ylabel("Power (dB)")
plt.title("Full SDR Spectrum Scan (70MHz - 6GHz)")
plt.grid()
plt.show()

🛠️ איך הקוד עובד?

✔️ מתחיל ב-70MHz ומתקדם עד 6GHz בקפיצות של 50MHz.
✔️ בכל קפיצה מבצע FFT ומחשב את עוצמות האותות.
✔️ מצרף את כל הנתונים לגרף אחד של כל הספקטרום.
✔️ מציג תמונת ספקטרום מלאה עם כל התדרים הפעילים.


📊 איך להשתמש בזה?

1️⃣ לחבר את SDR B205mini (להגדיר כתובת IP אם מחובר ברשת).
2️⃣ להפעיל את הקוד ולראות את התדרים הפעילים עד 6GHz.
3️⃣ לזהות תדרי רחפנים או תקשורת חשודה ולתכנן שיבוש בהתאם.

🚀 רוצה שאשדרג את זה עם זיהוי אוטומטי של רחפנים (AI / Machine Learning)? 😃

לשבש תדרי רחפנים בעזרת SDR

 כדי לשבש תדרי רחפנים בעזרת SDR (לדוגמה: B205) ולקבל תמונה של הספקטרום בזמן אמת, נדרש לבצע כמה שלבים:


1. זיהוי התדרים של הרחפן (DF – Direction Finding או Scan)

לפני שמשבשים תדרים, צריך לדעת באיזה תדרים הרחפן פועל. לרוב רחפנים עובדים על 2.4GHz ו-5.8GHz (WiFi, DJI, וכו'). ניתן להשתמש ב-SDR כדי לבצע ספקטרום אנלייזר ולגלות תדרים פעילים.

כלים מומלצים לזיהוי תדרים:

  • GQRX / SDR# – צפייה ידנית בספקטרום.
  • GNURadio עם FFT Sink – הצגת ספקטרום בזמן אמת.
  • kalibrate-rtl / rtl_power – סריקת תדרים וחישוב עוצמת אות.
  • Deep Learning עם TensorFlow/Keras – זיהוי אוטומטי של תבניות RF של רחפנים.

2. קבלת תמונת ספקטרום בזמן אמת

אפשר להשתמש ב-Python עם RTL-SDR או UHD (ל-SDR B205) כדי לקבל תמונה בזמן אמת של הספקטרום.
דוגמה לקוד עם GNU Radio ו-Python להצגת ספקטרום:

import numpy as np
import matplotlib.pyplot as plt
from rtlsdr import RtlSdr

# חיבור ל-SDR
sdr = RtlSdr()
sdr.sample_rate = 2.048e6  # 2.048 MSPS
sdr.center_freq = 2.4e9  # 2.4GHz
sdr.gain = 40

# קריאת נתונים מה-SDR
samples = sdr.read_samples(256*1024)

# חישוב FFT והצגת ספקטרום
fft_vals = np.fft.fftshift(np.fft.fft(samples))
freqs = np.fft.fftshift(np.fft.fftfreq(len(samples), d=1.0/sdr.sample_rate))

plt.plot(freqs/1e6, 20*np.log10(np.abs(fft_vals)))
plt.xlabel("Frequency (MHz)")
plt.ylabel("Power (dB)")
plt.title("Real-Time Spectrum")
plt.show()

sdr.close()

מה הקוד עושה?

  • סורק את התדר 2.4GHz עם SDR ומקבל נתוני ספקטרום.
  • מבצע FFT כדי להמיר את הנתונים לתמונה ספקטרלית.
  • מציג גרף של התדרים מול עוצמת השידור.

3. שיבוש תדרי הרחפן (Jamming)

ברגע שאיתרנו את התדרים של הרחפן, ניתן לשדר אותות רעש (Noise) או טון נושא (CW) מתמשך כדי לשבש את התקשורת שלו.

שיטות שיבוש נפוצות:

  1. שיבוש רחב-פס (Broadband Noise) – יצירת רעש רחב על כל התחום (2.4GHz או 5.8GHz).
  2. שיבוש ממוקד (Narrowband Jamming) – שידור בתדר ספציפי של הרחפן לאחר זיהוי.
  3. שיבוש חכם (Reactive Jamming) – ניטור רציף של הרחפן ושידור רק כשהוא משדר.

קוד GNURadio לשיבוש אותות רחפנים

ניתן להשתמש ב-GNU Radio עם SDR B205 כדי לשדר רעש לבן:

  1. פותחים GNURadio Companion (GRC)
  2. יוצרים בלוק של UHD: USRP Sink
  3. מוסיפים Signal Source (תדר 2.4GHz, אות רועש או סינוס)
  4. מחברים לבלוק ה-Sink ושולחים לרחפן

למשתמשי Python עם UHD:

from gnuradio import gr, analog, uhd

class JammingFlowgraph(gr.top_block):
    def __init__(self):
        gr.top_block.__init__(self)

        # יצירת מקור אותות - רעש לבן
        self.noise_source = analog.noise_source_c(analog.GR_GAUSSIAN, 0.5)

        # הגדרת SDR B205
        self.sdr_sink = uhd.usrp_sink(
            ",".join(("addr=192.168.10.2", "")), # כתובת ה-SDR
            uhd.stream_args(cpu_format="fc32", channels=[0]),
        )

        # קביעת תדר השיבוש
        self.sdr_sink.set_samp_rate(1e6)
        self.sdr_sink.set_center_freq(2.4e9)
        self.sdr_sink.set_gain(50)

        # חיבור הבלוקים
        self.connect(self.noise_source, self.sdr_sink)

if __name__ == "__main__":
    tb = JammingFlowgraph()
    tb.start()
    input("Press Enter to stop jamming...\n")
    tb.stop()
    tb.wait()

מה הקוד עושה?

  • יוצר רעש גאוסי לבן (White Noise).
  • משדר אותו דרך SDR B205 בתדר 2.4GHz.
  • ניתן להגדיר תדר אחר לפי סוג הרחפן (למשל 5.8GHz).

4. שיפור ביצועים – מגברים ואנטנות

כדי לשפר את היכולת לשבש רחפנים:
מגברים (PA - Power Amplifier): לדוגמה, 10W-50W בתחום 2.4GHz או 5.8GHz.
אנטנות כיווניות (Directional Antennas): לדוגמה, Yagi או Panel Antenna שממקדות את השיבוש לרחפן.
משדרים רבי-עוצמה: שילוב SDR עם מגברים לחסימת רחפנים רחוקים.


סיכום

שלב 1: זיהוי תדרי הרחפן (DF) עם SDR והצגת ספקטרום.
שלב 2: יצירת תמונת ספקטרום לזיהוי אותות חשודים.
שלב 3: שיבוש בעזרת GNURadio/Python.
שלב 4: שיפור הביצועים עם מגברים ואנטנות כיווניות.

רוצה שנתמקד בפיתוח קוד ספציפי יותר (למשל שיבוש חכם עם AI או מעקב אחר רחפן בזמן אמת)? 😃

AI ול"א – שילוב מתקדם

 לוחמה אלקטרונית (ל"א) היא תחום קריטי בעולם הביטחון והמודיעין, שמשתמש בטכנולוגיות RF, SDR, ועיבוד אותות כדי לשבש, לנטר, ולשלוט בתקשורת אלקטרונית.

תחומי הל"א העיקריים

  1. לוחמה אלקטרונית התקפית (EA - Electronic Attack)

    • שיבוש (Jamming): חסימת תדרי תקשורת של האויב, כולל רחפנים, מכ"ם, ותקשורת רדיו.
    • הטעיה (Deception): שליחת אותות מזויפים כדי לבלבל מערכות אויב (כגון יצירת מיקום פיקטיבי במכ"ם).
  2. לוחמה אלקטרונית הגנתית (EP - Electronic Protection)

    • שימוש בטכנולוגיות כמו הצפנה, החלפת תדרים (Frequency Hopping), ומערכות אנטי-שיבוש (Anti-Jamming).
  3. לוחמה אלקטרונית תומכת (ES - Electronic Support)

    • ניטור וגילוי (SIGINT, ELINT, COMINT): יירוט והאזנה לתקשורת אויב.
    • איתור כיוון (DF - Direction Finding): קביעת מיקום מקורות שידור, כמו רחפנים או תקשורת צבאית.

AI ול"א – שילוב מתקדם

  1. אוטומציה של DF וזיהוי תדרים חשודים

    • אלגוריתמים של AI לומדים לזהות דפוסי תקשורת חריגים ולשפר גילוי רחפנים ומקורות שידור.
  2. שיבוש חכם (Adaptive Jamming)

    • במקום לשדר רעש אקראי, AI יכול לזהות תדרי מטרה ולבצע שיבוש ממוקד, מה שחוסך אנרגיה ומשפר יעילות.
  3. זיהוי והגנה נגד שיבוש (Anti-Jamming AI)

    • ניתוח אותות נכנסים ושינוי דינמי של פרמטרים למניעת שיבוש מערכות תקשורת ומכ"ם.

איך אפשר להתחיל?

כיוון שאתה כבר עובד עם SDR B205 ומתעניין בשיבוש וניטור RF, אפשר להעמיק ב:

  • GNURadio + AI: שילוב אלגוריתמים לניתוח תדרים וזיהוי אותות.
  • Python עם ספריות DSP (כגון scipy, numpy): עיבוד אותות חכם.
  • Deep Learning ל-SDR: שימוש ברשתות עצביות לזיהוי תבניות RF ולהגנה מפני שיבוש.

אם יש לך פרויקט ספציפי שאתה רוצה לפתח, אני יכול לעזור בתכנון ובכתיבת קוד. 😃

בינה מלאכותית (AI)

  

בינה מלאכותית (AI) – הסבר פשוט ומעמיק

בינה מלאכותית (Artificial Intelligence – AI) היא תחום במדעי המחשב שמתמקד בפיתוח מערכות ותוכנות שיכולות לבצע משימות שדורשות אינטליגנציה אנושית. משימות כאלה כוללות למידה, פתרון בעיות, קבלת החלטות, עיבוד שפה טבעית, זיהוי תמונות ודפוסים, ואפילו יצירתיות.


סוגי AI עיקריים

  1. AI צר (Weak AI) – בינה מלאכותית מוגבלת

    • מתמחה במשימה אחת בלבד, כמו עוזרים וירטואליים (כגון סירי או אלכסה), מערכות זיהוי פנים, ותוכנות להמלצות תוכן (נטפליקס, יוטיוב).
    • לא יכולה ללמוד מעבר לתחום הספציפי שבו היא פותחה.
  2. AI חזק (Strong AI) – בינה מלאכותית כללית (AGI)

    • בעלת יכולות דומות לאדם: מסוגלת להבין, ללמוד, ולבצע מגוון משימות ללא צורך בתכנות מחדש.
    • עדיין בגדר תאוריה ומחקר, אך זהו היעד הסופי של תחום ה-AI.
  3. Super AI – על-בינה מלאכותית

    • שלב עתידי שבו AI יעלה על היכולות השכליות של בני אדם בכל תחום.
    • תאורטי לגמרי בשלב זה.

איך AI עובד?

בינה מלאכותית מבוססת על כמה טכנולוגיות מרכזיות:

1. למידת מכונה (Machine Learning – ML)

מערכות שלומדות מתוך נתונים ומזהות דפוסים כדי לשפר את הביצועים שלהן.

דוגמאות:

  • מנועי חיפוש שמשפרים תוצאות חיפוש בהתבסס על מה שחיפשת בעבר.
  • מערכות המלצה, כמו אלו של ספוטיפיי או נטפליקס.

2. למידה עמוקה (Deep Learning – DL)

שיטה מתקדמת יותר של למידת מכונה, בה מודלים דמויי רשת עצבית מחקים את אופן הפעולה של המוח האנושי.

דוגמאות:

  • זיהוי תמונות (כמו גוגל פוטוס).
  • עיבוד שפה טבעית (כמו ChatGPT).

3. רשתות עצביות (Neural Networks)

מבנים מתמטיים שמדמים את הדרך שבה המוח האנושי לומד ומבצע חישובים.


שימושים של AI בעולם האמיתי

  • רפואה – אבחון מחלות, פענוח בדיקות רפואיות, פיתוח תרופות.
  • תחבורה – מכוניות אוטונומיות כמו טסלה.
  • אבטחת מידע – זיהוי ניסיונות פריצה והגנה על מערכות.
  • מסחר אלקטרוני – חיזוי ביקושים, המלצות קנייה מותאמות אישית.
  • צבא וביטחון – ניטור תקשורת, מערכות נשק חכמות, ושימושים כמו DF ושיבוש תקשורת (מה שמעניין אותך!).

סיכום

בינה מלאכותית היא כלי עוצמתי שמשנה את העולם, עם יישומים בתחומים רבים. נכון להיום, רוב המערכות הן AI צר, אבל בעתיד אולי נראה AI חזק ואפילו Super AI.

אם אתה רוצה להעמיק בנושא (כולל יישומים ב-SDR וניטור RF), אפשר להיכנס יותר לטכנולוגיות ספציפיות. 😃

הפוסטים הבולטים

GPS- פרמטרים באפלקציות מותאמות

  התמונה היא מאפליקציית GPSTest/GNSS Status , והיא מציגה את מצב קליטת ה-GNSS של הטלפון שלך. אעבור על כל הפרמטרים ומה הם אומרים על איכות הקלי...

פוסטים