יום שלישי, 24 בספטמבר 2024

SDR - תכנות

 תכנות SDR (Software Defined Radio) הוא תחום המאפשר שליטה ברכיבי תקשורת באמצעות תוכנה במקום באמצעות חומרה ייעודית. להלן דוגמה פשוטה לשימוש ב-SDR עם Python, תוך שימוש בספרייה כמו `pyrtlsdr`, אשר מאפשרת לתקשר עם מקלטי RTL-SDR פופולריים.


### דרישות מקדימות:

1. התקן מקלט RTL-SDR.

2. התקנת התוכנה: ניתן להתקין את חבילת `pyrtlsdr` עם pip:

   ```bash

   pip install pyrtlsdr

   ```


### דוגמת קוד:

הקוד הבא מבצע קליטת אותות בתדר מסוים ומציג את הספקטרום של האות.


```python

from rtlsdr import RtlSdr

import numpy as np

import matplotlib.pyplot as plt


# יצירת אובייקט של המקלט SDR

sdr = RtlSdr()


# הגדרות המקלט

sdr.sample_rate = 2.048e6  # קצב דגימה

sdr.center_freq = 100e6    # תדר מרכזי 100MHz (תחום רדיו FM)

sdr.gain = 'auto'          # הגברה אוטומטית


# קריאת דגימות

samples = sdr.read_samples(256*1024)


# סגירת המקלט לאחר קריאת הדגימות

sdr.close()


# חישוב ספקטרום האות

power_spectrum = np.abs(np.fft.fftshift(np.fft.fft(samples)))**2


# ציר התדרים

freqs = np.fft.fftshift(np.fft.fftfreq(len(samples), 1/sdr.sample_rate))


# שרטוט הספקטרום

plt.figure(figsize=(10, 6))

plt.plot(freqs / 1e6, 10 * np.log10(power_spectrum))

plt.title('Power Spectrum')

plt.xlabel('Frequency (MHz)')

plt.ylabel('Power (dB)')

plt.show()

```


### הסבר:

- `RtlSdr()` יוצר חיבור למקלט SDR.

- התדר המרכזי מוגדר ל-100MHz, שהוא תחום שידורי FM.

- הקריאה `read_samples()` מקבלת את הדגימות מהמכשיר ומבצעת ניתוח ספקטרלי באמצעות FFT (Fast Fourier Transform).

- התוצאה מוצגת בגרף שמראה את עוצמת השידורים בתדרים שונים.


#### הערות:

1. יש לוודא שהדרייבר הנכון מותקן עבור המקלט RTL-SDR שלך.

2. ייתכן ויהיה צורך להתקין חבילות נוספות כמו `numpy` ו-`matplotlib`.


זו דוגמה פשוטה למתחילים.




עוד דוגמא


עבור רכיבי רדיו SDR (Software Defined Radio), ניתן להשתמש בספריית Python בשם [**PySDR**](https://pysdr.org/), או בספריות כמו [**RTL-SDR**](https://github.com/roger-/pyrtlsdr) המתאימה לרכיבים פופולריים, לדוגמה RTL-SDR. כך ניתן לקלוט, לעבד ולהציג נתוני רדיו מהמכשיר.


הנה דוגמה בסיסית לשימוש ב-`pyrtlsdr`:


```python

# ייבוא הספרייה המתאימה

from rtlsdr import RtlSdr

import numpy as np

import matplotlib.pyplot as plt


# הגדרת רכיב ה-SDR

sdr = RtlSdr()


# קביעת תדרים והגדרות אחרות

sdr.sample_rate = 2.4e6    # קצב דגימה

sdr.center_freq = 100e6    # תדר מרכזי (לדוגמה, 100MHz)

sdr.gain = 'auto'          # רווח (אפשר לשים גם ערך קבוע)


# קריאת דגימות מהרדיו

samples = sdr.read_samples(256*1024)  # קריאה של מספר דגימות


# גרף ספקטרום

plt.figure(figsize=(10, 6))

plt.psd(samples, NFFT=1024, Fs=sdr.sample_rate / 1e6, Fc=sdr.center_freq / 1e6)

plt.xlabel('תדר (MHz)')

plt.ylabel('עוצמה (dB)')

plt.title('Spektrum Analysis')

plt.show()


# ניקוי ושחרור המשאב

sdr.close()

```


### הסבר על הקוד:

1. **יבוא ספריות** - הספריות `rtlsdr` לניהול מכשיר ה-SDR ו-`numpy` ו-`matplotlib` לעיבוד והצגת המידע.

2. **הגדרת רכיב ה-SDR** - הגדרת רכיב ה-SDR עם קצב דגימה, תדר מרכזי ורווח.

3. **קריאת דגימות** - קריאת נתונים מה-SDR למטרת ניתוח.

4. **הצגת ספקטרום** - הצגת ספקטרום תדר באמצעות `matplotlib`.

5. **סגירה** - שחרור רכיב ה-SDR לאחר השימוש.


### דרישות

- להתקנת `pyrtlsdr`: ניתן להריץ `pip install pyrtlsdr`.

יום שני, 23 בספטמבר 2024

תכנון ובניית אנטנה בתחום ה 900MHZ

 

בניית אנטנה כוונית (Directional Antenna) לתדרי 900 מגה-הרץ (MHz) היא פרויקט מאתגר, אך ניתן לביצוע עם הכלים והחומרים המתאימים. אנטנות כווניות משמשות למיקוד השידור והקליטה בכיוון מסוים, מה שמשפר את העוצמה והדיוק של האות באותו כיוון.

 

### חומרים וכלים נדרשים:

1. **מוט מתכת**: ישמש כחלק המרכזי של האנטנה (המאחז).

2. **אלמנטים**: רפלקטור (Reflector), דיפול (Dipole), ואלמנטים נוספים כמו Directors.

3. **כבל קואקסיאלי (Coaxial cable)**: לחיבור האנטנה למקלט או למשדר.

4. **מחבר RF (כמו N-Type או BNC)**: לחיבור הכבל למכשיר.

5. **מוט או תורן**: להרכבת האנטנה בכיוון הרצוי.

 

### שלבים לבנייה:

 

#### 1. תכנון אנטנה

על מנת לתכנן אנטנה כוונית לתדר 900 מגה-הרץ, חשוב לדעת שהאורך הגל בתדר זה הוא כ-33.3 ס"מ. אורכי האלמנטים באנטנה יהיו נגזרים ישירות מאורך הגל הזה.

 

#### 2. דיפול רבע-גל (Quarter-Wave Dipole)

כדי לבנות דיפול כבסיס לאנטנה, עליך להשתמש בחוט מתכת שאורכו רבע מהאורך הגל (900MHz):

- אורך של כל זרוע: 8.3 ס"מ (33.3 ס"מ חלקי 4).

- הדיפול הוא החלק שמחובר לכבל הקואקסיאלי והוא צריך להיות ממוקם במרכז האנטנה.

 

#### 3. הוספת אלמנטים כווניים (Directors)

- כדי להפוך את האנטנה לכוונית, יש להוסיף מספר אלמנטים (Directors) בקו ישר מול הדיפול.

- אורך כל אלמנט צריך להיות קטן במעט מאורך הגל (בערך 95% מאורכו, כלומר כ-7.9 ס"מ), ומיקום כל אלמנט צריך להיות במרחק של רבע-גל אחד מהאלמנט שלפניו.

 

#### 4. רפלקטור (Reflector)

- רפלקטור הוא אלמנט הממוקם מאחורי הדיפול (בכיוון ההפוך מהקליטה).

- אורכו צריך להיות גדול במעט מאורך הגל (בערך 105%, כלומר כ-8.7 ס"מ).

- המרחק שלו מהדיפול צריך להיות גם כן רבע-גל (כ-8.3 ס"מ).

 

#### 5. חיבור הכבל

- יש לחבר את הכבל הקואקסיאלי לדיפול במרכזו: החוט המרכזי של הכבל לחצי האחד של הדיפול, והחוט החיצוני (הגיד הארוך) לחצי השני.

- חשוב להשתמש במחבר RF מתאים בקצה השני של הכבל לחיבור למקלט או למשדר.

 

#### 6. כיוון והתקנה

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

- אנטנות כווניות דורשות כיוון מדויק למקום שאליו רוצים לשדר או לקלוט את האות.

 

### סיכום

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

 

SDR

תכנות SDR (Software Defined Radio) הוא תהליך שבו משתמשים בתוכנה כדי לשלוט על תדרים, עיבוד אותות ופעולות רדיו, במקום רכיבי חומרה ייעודיים כמו באנטנות מסורתיות. SDR מאפשר גמישות גבוהה, כי אפשר לשנות את אופן הפעולה של המערכת על ידי שינוי התוכנה, מבלי לשנות את החומרה הפיזית. 


### מה זה SDR?

**SDR (רדיו מוגדר תוכנה)** הוא טכנולוגיה שמאפשרת לשדר ולקלוט אותות רדיו באמצעות מחשב ותחנות רדיו דיגיטליות. המערכת משתמשת בכרטיסי קול, מקליטי USB, או התקני חומרה ייעודיים (כמו RTL-SDR) כדי לתקשר על פני מגוון רחב של תדרים.


#### עקרון הפעולה:

1. **תפיסת אות אנלוגי**: האותות נלכדים על ידי מקלט חומרה (אנטנה).

2. **המרת אותות לאותות דיגיטליים**: האותות האנלוגיים עוברים דרך ממיר ADC (Analog to Digital Converter) הממיר אותם למידע דיגיטלי.

3. **עיבוד האותות בתוכנה**: המידע הדיגיטלי מעובד באמצעות תוכנות ייעודיות במחשב.

4. **שידור או פענוח האותות**: לאחר עיבוד האותות בתוכנה, ניתן לשדר אותם מחדש או לפענח אותם לאותות מובנים כמו אודיו, וידאו או נתונים.


### שימושים פופולריים ב-SDR

- קליטה ופענוח של שידורי רדיו FM/AM.

- ניתוח אותות טלוויזיה דיגיטליים.

- ניתוח תדרים בתחום החובבני (Ham Radio).

- פענוח GPS.

- תקשורת טלפוניה סלולרית.

- בדיקת רשתות אלחוטיות ומחקר תדרים.


### כיצד להתחיל עם SDR

#### שלבים עיקריים:


1. **רכישת חומרת SDR**:

   - אחד מהכלים הפופולריים ביותר להתחלת עבודה הוא ה-**RTL-SDR**. מדובר במכשיר פשוט וזול המתחבר ל-USB ומאפשר לקלוט שידורי רדיו על טווח רחב של תדרים (כ-24 MHz עד 1.75 GHz).


2. **התקנת תוכנה**:

   - ישנן מספר תוכנות פופולריות לעבודה עם SDR:

     - **Gqrx** (לינוקס ו-Mac): ממשק משתמש גרפי שמאפשר קליטה ופענוח של שידורי רדיו.

     - **SDR# (SDR Sharp)** (Windows): תוכנה קלה לשימוש, עם ממשק גרפי נוח, שמאפשרת קבלת שידורי רדיו וניתוח אותות.

     - **GNU Radio**: מסגרת קוד פתוח לעיבוד אותות דיגיטליים שמאפשרת בנייה של אפליקציות SDR מורכבות עם הרבה גמישות.


3. **תצורה ראשונית**:

   - לאחר התקנת התוכנה וחיבור מכשיר ה-SDR, יש להגדיר את התדר הרצוי ואת פרמטרי הקליטה.

   - ניתן גם להוסיף אנטנות שונות לפי סוג השידור שאתם מעוניינים לקלוט (FM, GPS, DVB-T ועוד).


4. **כתיבת קוד ב-SDR**:

   - בעבודה עם **GNU Radio**, ניתן לכתוב בלוקים של עיבוד אותות מותאמים אישית בשפות כמו **Python** או **C++**.

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


5. **כלים לפיתוח**:

   - **GNU Radio Companion (GRC)**: ממשק גרפי שניתן לבנות בו בלוקים בצורה ויזואלית כדי להגדיר עיבוד אותות. מצוין למתחילים שרוצים לכתוב תכניות SDR מבלי לצלול ישר לתכנות נמוך.

   - **Matlab & Simulink**: כלים המאפשרים פיתוח וניתוח מערכות SDR עם תמיכה בחומרה ותוכנה של SDR.


### סיכום

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

How cell signal strength is actually measured - מדידת עוצמת קליטה בטלפונים ניידים

 אותות קליטה בטלפון נייד - עוצמות


How cell signal strength is actually measured

The signal your phone receives from a cell tower is measured in decibel-milliwatts (dBm), a unit of electrical power in milliwatts (mW) expressed on a decibel (dB) scale. 1 mW is equal to 1⁄1000th of a watt (W).

There are the three things you need to know about decibel-milliwatts:

  1. 1 milliwatt (1 mW) is equal to 0 decibel-milliwatts (0 dBm). Since cell phones often receive less than 1 milliwatt of signal strength from a cell tower—sometimes as low as 0.00000000001 mW or less—cell signal strength is less than 0 dBm and therefore measured in negative numbers.
    The closer you get to 0 dBm, the stronger the signal; for example, −70 dBm is stronger than −90 dBm, −95 dBm is stronger than −105 dBm, and so forth.
  2. The decibel-milliwatt scale is logarithmic, meaning that every 10 dBm is a tenfold change in milliwatts:
    Power (dBm)
    Power (mW)
    −50 dBm
    0.00001 mW
    −60 dBm
    0.000001 mW
    −70 dBm
    0.0000001 mW
    −80 dBm
    0.00000001 mW
    −90 dBm
    0.000000001 mW
    −100 dBm
    0.0000000001 mW
    −110 dBm
    0.00000000001 mW
    −120 dBm
    0.000000000001 mW
    Therefore, −80 dBm is 10 times the signal strength of −90 dBm, 100 times that of −100 dBm, and 1,000 times that of −110 dBm.
  3. Any change in signal strength—gain or loss—is indicated in decibels (dB). If your outside cell signal strength is −110 dBm, and you use a cell phone signal booster in your car that provides 50 dB of gain, you’ll receive −60 dBm of signal* (−110 dBm + 50 dB = −60 dBm).

* Minus any signal loss from coax cables and the physical distance between your phone and the booster’s inside antenna.


What’s considered “good” cell signal?

4G and 5G cellular signal strength are measured using RSRP (Reference Signal Received Power). Excellent signal strength on the RSRP scale is anything stronger than about −85 dBm; poor signal strength is anything less than about −115 dBm:

RSRP (dBm)
Signal strength
−80 dBm
Excellent
−90 dBm
Very good
−100 dBm
Good
−110 dBm
Fair
−120 dBm
Poor
−130 dBm
None

If you’re receiving less than −120 dBm RSRP, you’ll probably have difficulty making phone calls, sending or receiving text messages, or using internet data.

Another factor to keep in mind is the quality of your cellular connection—how much usable signal you are receiving vs. the amount of interference or noise (unwanted disturbances of the signal). There are ways to measure cellular signal quality—see our Knowledge Base article for more about that—but the important thing to know is that you can have strong cellular signal and still have slow data and dropped calls because your signal quality is poor.

How do I measure my cell phone signal strength?

Finding the signal strength received by your phone depends on the manufacturer, the phone model, and which cellular network you’re using.

Android instructions

If you have an Android smartphone, look in the phone’s settings under Signal Strength.

Exactly where this is found varies between phone models, but it’s usually somewhere in the phone’s settings; possible locations include:

  • Settings > About Phone > SIM Status > Signal Strength
  • Settings > About Phone > Status > Signal Strength
  • Settings > About Phone > Status > Sim Card Status > Signal Strength
  • Settings > System > About Phone > Status > Sim Status > Signal Strength

Here are some examples from Android phones in our office. (Notice that the RSRP readings in dBm are all nearly identical, but the number of bars varies.)

SDR B205 דרך Raspberry Pi 5

  מצוין, הנה פתרון שמתאים בדיוק לצרכים שלך: ✅ ארכיטקטורת שליטה מרחוק ב-SDR B205 דרך Raspberry Pi 5 🧱 רכיבים עיקריים Raspberry Pi 5 – משמש ...