การจำลองการรบกวนทางแม่เหล็กไฟฟ้า (EMC/EMI) บนดาดฟ้าเรือรบด้วย MEEP และ Python

บทนำ:
ความเข้ากันได้ทางแม่เหล็กไฟฟ้า (EMC) และการรบกวนทางแม่เหล็กไฟฟ้า (EMI) เป็นประเด็นสำคัญในการออกแบบเรือรบสมัยใหม่ เนื่องจากมีระบบอิเล็กทรอนิกส์จำนวนมากอยู่บนเรือ เช่น เรดาร์ ระบบสื่อสาร ดาวเทียม ระบบควบคุมและนำทาง การออกแบบที่ไม่เหมาะสมอาจทำให้ระบบเหล่านี้รบกวนกันเองได้ ในบทความนี้ เราจะสาธิตการจำลองเมทริกซ์แหล่งรบกวน-อุปกรณ์ไวต่อสัญญาณ (Source-Victim Matrix) ขนาด 10x10 โดยใช้ MEEP ซึ่งเป็นซอฟต์แวร์ FDTD แบบโอเพ่นซอร์ส


วัตถุประสงค์:

  • จำลองดาดฟ้าเรือรบอย่างง่าย
  • วางตำแหน่งอุปกรณ์ส่งสัญญาณรบกวน (แหล่ง) และอุปกรณ์รับสัญญาณ (เหยื่อ)
  • วิเคราะห์ค่าการรบกวนโดยใช้เมทริกซ์
  • ใช้ Python และ MEEP เพื่อวิเคราะห์ความแรงของสนามแม่เหล็กไฟฟ้า

โครงสร้างระบบ:

  • ขนาดดาดฟ้า: 20 เมตร x 20 เมตร (จำลองแบบ 2 มิติ)
  • แหล่งรบกวน 10 ตัว: เช่น เรดาร์, วิทยุ HF, ตัวแปลงพลังงาน, สื่อสารผ่านดาวเทียม, ระบบไฟ, ควบคุมเครื่องยนต์, IFF, ระบบนำทาง, WiFi, ระบบสื่อสาร
  • อุปกรณ์เหยื่อ 10 ตัว: เช่น GPS, วิทยุ VHF, เรดาร์รับสัญญาณ, AIS, หน้าจอนำทาง, UHF, หน่วยควบคุม, เทเลเมตริก, ตัวรับไร้สาย, กล้องวงจรปิด
  • การจัดตำแหน่ง: แหล่งรบกวนอยู่ด้านล่าง อุปกรณ์เหยื่ออยู่ด้านบน

การตั้งค่าการจำลองด้วย Python:
เราจะใช้ MEEP เพื่อปล่อยคลื่นจากตำแหน่งแหล่งรบกวนแต่ละตัว และวัดค่าฟิลด์ที่จุดของอุปกรณ์เหยื่อแต่ละตัว จากนั้นนำไปสร้างเป็นเมทริกซ์

import meep as mp
import numpy as np
import matplotlib.pyplot as plt

fcen = 2.4  # GHz
resolution = 20

# ขนาดพื้นที่
cell = mp.Vector3(20, 20)
sources_pos = [mp.Vector3(-9 + i*2, -8) for i in range(10)]
victims_pos = [mp.Vector3(-9 + i*2, 8) for i in range(10)]

# ชื่ออุปกรณ์
source_names = ["เรดาร์", "HF Radio", "Power Conv", "Satcom", "Lighting",
                 "Engine Ctrl", "IFF", "Navigation", "WiFi", "Comms Bus"]
victim_names = ["GPS", "VHF", "Radar Rx", "AIS", "Nav Display",
                 "UHF", "Control Unit", "Telemetry", "Wireless Rx", "CCTV Rx"]

sv_matrix = np.zeros((10, 10))

# จำลองแต่ละแหล่งรบกวน
for i, src in enumerate(sources_pos):
    sim = mp.Simulation(
        cell_size=cell,
        resolution=resolution,
        boundary_layers=[mp.PML(1.0)],
        sources=[mp.Source(mp.GaussianSource(fcen, fwidth=0.5), component=mp.Ez, center=src)]
    )
    sim.run(until=200)
    for j, vic in enumerate(victims_pos):
        field = sim.get_field_point(mp.Ez, vic)
        sv_matrix[i, j] = 20 * np.log10(abs(field) + 1e-10)

การแสดงผลเมทริกซ์:
หลังจากจำลองเสร็จ เราจะสร้าง heatmap เพื่อแสดงค่าการรบกวน

plt.figure(figsize=(14, 10))
plt.imshow(sv_matrix, cmap="hot", interpolation="nearest")
plt.colorbar(label="Coupling (dB)")
plt.xticks(np.arange(10), victim_names, rotation=45)
plt.yticks(np.arange(10), source_names)
plt.title("เมทริกซ์การรบกวน แหล่ง - เหยื่อ (10x10)")
plt.xlabel("อุปกรณ์เหยื่อ")
plt.ylabel("แหล่งรบกวน")
plt.tight_layout()
plt.show()

ผลลัพธ์และการตีความ:

  • ค่าที่สว่างกว่าหมายถึงการรบกวนแรงกว่า
  • ผู้ใช้งานสามารถระบุคู่ที่มีปัญหา เช่น เรดาร์รบกวน GPS
  • วิศวกรสามารถปรับตำแหน่ง เพิ่มฉนวน หรือติดตั้งฟิลเตอร์เพื่อแก้ไข

สรุป:
MEEP เป็นเครื่องมือจำลอง EMC/EMI ที่ทรงพลังและฟรี เหมาะสำหรับการทดสอบแนวคิดก่อนลงสนามจริง การใช้เมทริกซ์ช่วยให้มองเห็นภาพรวมของการรบกวน ช่วยออกแบบระบบให้ปลอดภัยและเชื่อถือได้

ตอนต่อไป:

  • ส่งออกข้อมูลเป็นไฟล์ CSV
  • เพิ่มวัสดุจริง เช่น แผ่นโลหะหรือฉนวน
  • จำลองหลายรูปแบบผังดาดฟ้าโดยอัตโนมัติ


Get in Touch with us

Chat with Us on LINE

iiitum1984

Speak to Us or Whatsapp

(+66) 83001 0222

Related Posts

Our Products