南京理工大学电子信息工程课程设计之雷达信号分析处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录一——MATLAB信号处理程序
%% 1、准备工作 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 开始
clc;
clear;
close all;
clear vars;
%% 雷达波形参数定义及说明
f1=1e3; % 最低频率
f2=11e3; % 最高频率
B=f2-f1; % 信号带宽
T=1e-2; % 信号扫频时宽(10ms)
c=3e8; % 电磁波空间传播速度
f0=(f1+f2)/2; % 雷达工作频率(中心频率)(3kHz)
fs=1e5; % 采样率(100kHz)
N_signal_T=round(fs*T); % 单周期信号的数据点数
number_of_signal_period=400; % 脉冲信号的周期个数
duty_ratio=0.5; % 信号占空比
T_signal=T/duty_ratio; % 脉冲信号周期
%% 导入AD数据时频分析
[FileName,PathName] = uigetfile('C:\Users\XYB\Desktop\课程设计之雷达信号分析处理\AD数据\USB (3).dat','Select the USB.dat file');
f = fullfile(PathName,filesep,FileName);
fid = fopen(f,'r');
data = fscanf(fid,'%x');
fclose(fid);
data = data(1:2:end)*256 + data(2:2:end); %将16进制转换为10进制
datsgn = data./1000; %单位换算(mV->V)
%转化为有符号数(去直流)
datsgn=datsgn-mean(datsgn);
%时域波形
figure;
plot([0:1/fs:(length(datsgn)-1)/fs],datsgn);
xlabel('时间/s')
ylabel('振幅/V')
title('LFMCW时域波形')
%频谱图
N=1024;
datfft = (2/N)*fftshift(fft(datsgn(1:N)));
nordat = abs(datfft)/max(abs(datfft)); %对信号做FFT并归一化
figure;
plot([-length(datfft)/2:(length(datfft)/2-
1)].*(fs/N),20*log10(abs(nordat)));
xlabel('频率/Hz')
ylabel('幅度/dB')
title('LFMCW频谱图')
%% 调频斜率曲线
Hf=20*log10(abs(nordat));
FHL=zeros(1,2);
j=1;
for i=round(length(Hf)/2):length(Hf)
if(abs(Hf(i)+6.6)<0.2)
FHL(j)=i;
j=j+1;
end
end
figure;
time_scan=(0:1/fs:T-1/fs);%扫描时间轴
B_interval=(fs/N)*(FHL(2)-FHL(1))/length((0:1/fs:T-1/fs));%频率间隔
B_test=[0:B_interval:(fs/N)*(FHL(2)-FHL(1))-B_interval]+(FHL(1)-
(length(datfft)/2))*(fs/N);
k_B=(fs/N)*(FHL(2)-FHL(1))/T/1000;
error_B=abs(k_B*1000-(B/T))/(B/T)*100;%调频斜率测量误差
plot(time_scan,B_test);
xlabel('扫频周期/s')
ylabel('频率范围/Hz')
title({['L F M C W 扫频曲线'];['调频斜率:',num2str(k_B,'%.0f'),'KHz/s
',' 测量误差:',num2str(error_B,'%.0f'),'%']});
%% 信号变换与生成(转换为脉冲信号)
if(N_signal_T>1024)
N_signal_T=1024;
end
signal_1T=datsgn(1:N_signal_T,1); %单周期的LFM信号
signal_half_duty_ratio_1T=[signal_1T',zeros(N_signal_T/duty_ratio-
N_signal_T,1)'];%单周期LFM脉冲信号(50%占空比)
signal_NT=repmat(signal_half_duty_ratio_1T,1,number_of_signal_period); %周期延拓后的LFM脉冲信号(20个周期)
figure;
plot([0:1/fs:(length(signal_NT)-1)/fs],signal_NT);
axis([0 (length(signal_NT)/80-1)/fs -2 2]);
xlabel('时间/s')
ylabel('振幅/V')
title('LFM脉冲信号时域波形')
%% 加入噪声
noise=1*randn(1,length(signal_NT))';%高斯白噪声(没有滤波)/均值为0方差为
1