|
@@ -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):
|
|
|
"""启动雷达"""
|