wuxiang 1 week ago
parent
commit
3389cd5e8b

BIN
algo/__pycache__/anti_jamming_signal_algo.cpython-39.pyc


+ 2 - 2
algo/anti_jamming_signal_algo.py

@@ -2,7 +2,7 @@ import numpy as np
 from scipy import signal, fft, linalg
 from typing import Tuple, List
 
-
+SAMPLING_RATE = 10e6
 class AntiJammingSignalAlgo:
 
     @staticmethod
@@ -22,7 +22,7 @@ class AntiJammingSignalAlgo:
         polarized_signal = filter_matrix @ rx_signal.reshape(2, -1)
         return polarized_signal[0].real
 
-    SAMPLING_RATE = 10e6
+
 
     @staticmethod
     def frequency_agility(tx_signal, hop_sequence, sample_rate=SAMPLING_RATE):

BIN
config/__pycache__/nacos.cpython-312.pyc


BIN
environment.yml


BIN
model/__pycache__/surveillance_radar.cpython-39.pyc


+ 23 - 14
model/surveillance_radar.py

@@ -140,26 +140,35 @@ class SurveillanceRadar:
         :param algorithm: 接收端抗干扰算法
         :param sample_rate: 采样率
         """
+        # 极化参数配置
+        polar_params = {
+            'angle': 45,      # 极化角(单位:度)
+            'ellipticity': 0.8 # 椭圆率(0~1之间)
+        }
         
         if algorithm == AntiJammingSignalAlgo.polarization_filter:
-            process_signal = algorithm(rx_signal=rx_signal, sample_rate=sample_rate, **kwargs)
+            process_signal = algorithm(rx_signal=rx_signal, sample_rate=sample_rate, polarization_params=polar_params)
         else:
             process_signal = rx_signal
         return process_signal.astype(np.complex64)
     def anti_jamming_worker(self):
-        while not self.stop_event.is_set():
-            if not self.rx_buffer.empty():
-                rx_signal = self.rx_buffer.get()
-                combined_signal = rx_signal + self.jammed_signal
-                # print("原始信号:", rx_signal)
-                # print("干扰信号:", self.jammed_signal)
-                # print("合成信号:", combined_signal)
-                self.processed_signal = self.apply_anti_jamming_processing(
-                    combined_signal,
-                    self.anti_jamming_algorithm,
-                    self.SAMPLING_RATE
-                )
-                # print("处理后的信号:", self.processed_signal)
+        try:
+            while not self.stop_event.is_set():
+                if not self.rx_buffer.empty():
+                    rx_signal = self.rx_buffer.get()
+                    combined_signal = rx_signal + self.jammed_signal
+                    # print("原始信号:", rx_signal)
+                    # print("干扰信号:", self.jammed_signal)
+                    # print("合成信号:", combined_signal)
+                    self.processed_signal = self.apply_anti_jamming_processing(
+                        combined_signal,
+                        self.anti_jamming_algorithm,
+                        self.SAMPLING_RATE
+                    )
+        except Exception as e:
+            self.stop_event.set()
+            raise Exception(f"信号处理线程出错: {e}")
+               
     
     def run(self):
         """启动雷达"""

BIN
service/__pycache__/service.cpython-39.pyc


+ 19 - 13
service/service.py

@@ -1,4 +1,6 @@
 import json
+from math import e
+from re import S
 
 from matplotlib.colors import CenteredNorm
 import uhd
@@ -57,22 +59,26 @@ class Service:
 
     
 
+    # @staticmethod
+    # def get_sdr_status():
+    #     with Service._rlock:
+    #         if Service.status == 0:
+    #             return ResponseDTO.ERROR_MS_DATA('SDR设备异常',{"status": Service.status, "Error": "SDR设备未初始化"}).to_json()
+    #         try:
+    #             rx_buffer = np.zeros((500000,), dtype=np.complex64)
+    #             Service.surveillance_radar.rx_stream.recv(rx_buffer, uhd.types.RXMetadata())
+    #             Service.status = 1
+    #             return ResponseDTO.SUCCESS({"status": Service.status}).to_json()
+    #         except Exception as e:
+    #             print('SDR设备异常', e)
+    #             Service.status = 0  # 获取状态失败,状态置为0
+    #             Service.usrp = None  # 重置USRP对象
+    #             return ResponseDTO.ERROR_MS_DATA('SDR设备异常', {"status": Service.status, "Error": str(e)}).to_json()
+
     @staticmethod
     def get_sdr_status():
         with Service._rlock:
-            if Service.status == 0:
-                return ResponseDTO.ERROR_MS_DATA('SDR设备异常',{"status": Service.status, "Error": "SDR设备未初始化"}).to_json()
-            try:
-                rx_buffer = np.zeros((500000,), dtype=np.complex64)
-                Service.surveillance_radar.rx_stream.recv(rx_buffer, uhd.types.RXMetadata())
-                Service.status = 1
-                return ResponseDTO.SUCCESS({"status": Service.status}).to_json()
-            except Exception as e:
-                print('SDR设备异常', e)
-                Service.status = 0  # 获取状态失败,状态置为0
-                Service.usrp = None  # 重置USRP对象
-                return ResponseDTO.ERROR_MS_DATA('SDR设备异常', {"status": Service.status, "Error": str(e)}).to_json()
-
+            return ResponseDTO.SUCCESS({"status": Service.status}).to_json()
 
     @staticmethod
     def data(payload):