| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | 
							- import numpy as np
 
- from scipy.signal import find_peaks
 
- # ==================== 干扰雷达类 ====================
 
- class JammerRadar:
 
-     def __init__(self, usrp, rx, tx):
 
-         self.usrp = usrp
 
-         self.rx = rx
 
-         self.tx = tx
 
-     def generate_jamming_signal(self, rx_signal: np.ndarray, algorithm: callable, bandwidth: float, sample_rate: float) -> np.ndarray:
 
-         """
 
-         生成干扰信号
 
-         :param rx_signal: 接收的侦查信号
 
-         :param algorithm: 干扰算法
 
-         :param bandwidth: 信号带宽 (Hz)
 
-         :param sample_rate: 采样率 (Hz)
 
-         """
 
-         # 基于接收信号生成干扰
 
-         jamming_signal = algorithm(
 
-             rx_signal=rx_signal,
 
-             bandwidth=bandwidth,
 
-             sample_rate=sample_rate
 
-         )
 
-         return jamming_signal.astype(np.complex64)
 
-     #封装一个发送信号的函数
 
-     def send_signal(self, tx_signal, duration, center_freq, sample_rate, gain):
 
-         # 发送信号
 
-         self.usrp.send_waveform(tx_signal, duration, center_freq, sample_rate, self.tx, gain)
 
-         print('干扰雷达已发送信号')
 
-     # 封装一个接收信号的函数
 
-     def recv_signal(self, num_samples, sample_rate, center_freq):
 
-         rx_signal = self.usrp.recv_num_samps(num_samples, center_freq,sample_rate,self.rx)
 
-         print('干扰雷达已接收信号')
 
-         return rx_signal
 
 
  |