|
@@ -48,8 +48,8 @@ class SurveillanceRadar:
|
|
|
self.rx_signal = None # 接收到的信号
|
|
|
self.jammed_signal = np.zeros((self.samps_per_packet,), dtype=np.complex64) # 初始化干扰信号缓冲区
|
|
|
self.processed_signal = None # 存储处理后的信号
|
|
|
- self.tx_buffer = queue.Queue(maxsize=100)
|
|
|
- self.rx_buffer = queue.Queue(maxsize=100)
|
|
|
+ self.tx_buffer = queue.Queue(maxsize=10)
|
|
|
+ self.rx_buffer = queue.Queue(maxsize=10)
|
|
|
self.processing_thread = None
|
|
|
|
|
|
def tx_worker(self):
|
|
@@ -96,6 +96,7 @@ class SurveillanceRadar:
|
|
|
buff = np.zeros((self.samps_per_packet,), dtype=np.complex64)
|
|
|
while not self.stop_event.is_set():
|
|
|
num_rx = self.rx_stream.recv(buff, metadata)
|
|
|
+ time.sleep(0.05)
|
|
|
if metadata.error_code != uhd.types.RXMetadataErrorCode.none:
|
|
|
print(f"接收错误: {metadata.error_code}")
|
|
|
continue
|
|
@@ -152,22 +153,22 @@ class SurveillanceRadar:
|
|
|
process_signal = rx_signal
|
|
|
return process_signal.astype(np.complex64)
|
|
|
def anti_jamming_worker(self):
|
|
|
- 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}")
|
|
|
+ # 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):
|