function [Type,Jam_data,Jam_pos] = SpectrumSense(rx_format,cfgUI) addpath(genpath('.\JamDetect')); NFFT = 2048; PfH = 0.0001; Pf = 0.001; fs = 20e6; operator = cfgUI.JamDetect; % 干扰检测 y = fft(rx_format(1:NFFT,:)); data_Freuq = y(1:NFFT/2,:); J = Selecdt_Detection(data_Freuq,Pf,PfH,32,operator); Type = JudgeTypeJam(J); % struct jam_data; jam_data.Num_multi = 0; jam_data.f_multi = 0; jam_data.Power_multi = []; jam_data.Num_band = []; jam_data.f_start = []; jam_data.f_end = []; jam_data.f_wide = []; jam_data.Power_band = []; if strcmp(Type,'multi') [jam_data.Num_multi,jam_data.f_multi,jam_data.Power_multi] = Multi_Parameter(data_Freuq.',J,fs,NFFT); elseif strcmp(Type,'mono') [jam_data.f_multi,jam_data.Power_multi] = Mono_Parameter(data_Freuq.',J,fs,NFFT); elseif strcmp(Type,'band') [jam_data.Num_band,jam_data.f_start,jam_data.f_end,jam_data.f_wide,jam_data.Power_band] = Band_Parameter(data_Freuq.',J,fs,NFFT); elseif strcmp(Type,'band_mono') [jam_data.f_mono,jam_data.Power_mono,jam_data.Num_band,jam_data.f_start,jam_data.f_end,jam_data.f_wide,jam_data.Power_band] = Band_Mono_Parameter(data_Freuq.',J,fs,NFFT); elseif strcmp(Type,'band_multi') [jam_data.Num_multi,jam_data.f_multi,jam_data.Power_multi,jam_data.Num_band,jam_data.f_start,jam_data.f_end,jam_data.f_wide,jam_data.Power_band] = Band_Multi_Parameter(data_Freuq.',J,fs,NFFT); else disp('No jam!'); end Jam_data = jam_data.f_multi; dt=1/fs; data_abs = 10*log(abs(data_Freuq(J))); J_freuq=(J-1)/(dt*NFFT)/10^6; % 采样间隔 ssf=(0:NFFT/2-1)/(dt*NFFT); % 频率矢量 data_db=10*log(abs(data_Freuq)); Jam_pos = J_freuq*10^6; % 取对数 %作图 % plot(ssf,data_db); % 做幅度频谱图 % grid on; % hold on; % stem(Jam_pos,data_abs,'m--','filled','MarkerSize',2) % xlabel('frequency'); % ylabel('magnitude'); % hold off; % pause(0.5); % close; rmpath(genpath('.\JamDetect')); end