MATLAB仿真程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
窗型选择仿真程序:
clear,clc
bw=3e6;% 信号带宽
T=1e-4;%信号脉冲宽度
A=2;%信号幅度
fs=4*bw;
lfft=round(T*fs);%采样点数
lfft=2^nextpow2(lfft);
dt=1/fs;%采样间隔
f0=1e6;
t=(0:lfft-1)*dt;%时域采样点
q=(0:lfft-1)*2*pi/lfft;
s=A*exp(j*2*pi*f0*t+j*pi*bw*t.*t/T);%产生线性调频信号
S=(fft(s));%线性调频信号的傅立叶变换fft
H=conj(S);%匹配滤波器的频率响应
Y=S.*H;%线性调频信号的频域匹配滤波输出
y=fftshift(ifft(Y));%线性调频信号的时域匹配滤波输出
%对chirp信号进行时域加权
h1=(triang(lfft))';%三角窗函数
s1=s.*h1;S1=fft(s1);H1=conj(S1);
Y1=S1.*H1;
y1=fftshift(ifft(Y1));%加三角窗后的线性调频信号的时域匹配滤波输出h2=(hanning(lfft))';%汉宁窗函数
s2=s.*h2;S2=fft(s2);H2=conj(S2);
Y2=S2.*H2;
y2=fftshift(ifft(Y2));%加汉宁窗后的线性调频信号的时域匹配滤波输出h3=(hamming(lfft))';%海明窗函数
s3=s.*h3;S3=fft(s3);H3=conj(S3);
Y3=S3.*H3;
y3=fftshift(ifft(Y3));%加海明窗后的线性调频信号的时域匹配滤波输出
figure;
subplot(3,1,1),
plot(t,real(s)),title('chirp signal');
subplot(3,1,2),
plot(q,abs(S)),title('线性调频信号幅度谱');
subplot(3,1,3),
plot(q,angle(S)),title('线性调频信号相位谱');
figure;
subplot(2,1,1),plot(q,abs(H));title('MF的幅度谱');
subplot(2,1,2),plot(q,angle(H));title('MF的相位谱');
figure;
subplot(3,1,1),
plot(t,real(y)),title('脉压信号');
subplot(3,1,2),plot(q,abs(Y)),title('脉压信号幅度谱');
subplot(3,1,3),plot(q,angle(Y)),title('脉压信号相位谱');
figure;
subplot(2,2,1),
plot(t,20*log10(abs(y)/max(abs(y))));title('未加窗时的时域输出'); subplot(2,2,2),
plot(t,20*log10(abs(y1)/max(abs(y1))));title('加三角窗时的时域输出'); subplot(2,2,3),
plot(t,20*log10(abs(y2)/max(abs(y2)))); title('加汉宁窗时的时域输出'); subplot(2,2,4),
plot(t,20*log10(abs(y3)/max(abs(y3))));title('加海明窗时的时域输出');
叠加3个频移多普勒干扰程序:
BandWidth=10e6; %发射信号带宽
TimeWidth=20e-6; %发射信号时宽
mu=BandWidth/TimeWidth %调频率
Fs=2*BandWidth; %采样频率
Ts=1/Fs;
Ns=fix(Fs*TimeWidth);%计算一个脉冲周期的采样点数400;
N=1024; %FFT点数
t=0:Ts:TimeWidth-Ts;
y=exp(j*pi*mu*t.^2); %产生LFM信号
h=zeros(1,Ns);
for i=1:Ns
h(i)=conj(y(Ns-i+1));
end
fd=6e6;
y1=exp(j*2*pi*(fd*t+0.5*mu*t.^2));%频移干扰信号
fd1=+1e6;
y2=exp(j*2*pi*(fd1*t+0.5*mu*t.^2));%频移干扰信
fd2=+10e6;
y3=exp(j*2*pi*(fd2*t+0.5*mu*t.^2));%频移干扰信
y=y1+exp(j*pi*mu*t.^2)+y2+y3; %产生叠加了干扰的LFM信号
yfft=fft(y,1024);
win = hamming(Ns)';
h_w=h.*win;
hfft_w=fft(h_w,1024);
ycomp = abs(ifft(yfft .*hfft_w)); %脉冲压缩
maxval1 = max(ycomp);
ycomp_w = eps + ycomp ./ maxval1; % 利用ycomp的最大值归一化tt =0:Ts:2*TimeWidth-Ts;
plot (tt,ycomp_w(1:2*Ns),'b')
xlabel ('t - seconds ');
ylabel(' 幅度db')
title('带宽=10MHZ,叠加fd=0MHZ,+1MHZ,+6MHZ,+10MHZ的脉压') grid on