南京理工大学电子信息工程课程设计之雷达信号分析处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档