欢迎来到本博客❤️❤️
博主优势:博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
本文目录如下:
目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码实现
本文的目标是为那些学习雷达和多普勒频移的人创建一个实用工具,以便开始理解输入参数如何影响波形。该项目的重点是生成雷达接收到的经过多普勒频移的脉冲雷达信号的原始数据,同时还开发了处理接收信号的技术演示。
该项目中实现的主要数字信号处理概念是采样。雷达信号的生成、修改和解释都是通过对整个信号进行采样来确定的。此外,为了保持适当的缩放而不超过MatLab的最大数组大小,还实现了下采样。
在接收信号的分析中,实现了Matlab的快速傅里叶变换(fft)和逆快速傅里叶变换。为了最小化信噪比,开发了匹配滤波器。匹配滤波器还使用了快速傅里叶变换和逆快速傅里叶变换。
雷达使用无线电波来探测物体或目标的距离和速度。本项目研究的雷达由两个组件组成,发射器和接收器。发射器发射无线电波或雷达信号,接收器捕获从目标反射回来的雷达信号。通过反射,雷达可以通过接收到的信号的时间延迟和频率变化来确定目标的距离。时间延迟可以通过公式 tD = 2c/R 来确定,其中c是自由空间中的光速。
详细讲解见第4部分。
部分代码:
end
%PRF= 8e3%test value
%CARRIER SIGNAL
t = 0:1/(20*f):2e-9;
fc = sin(wc*t);
a = min([length(fc) length(t)]);
% figure(1)
% plot(t(1:a),fc(1:a));
% title('Carrier Signal');
% xlabel('time');
% ylabel('amplitude');
%PULSES
ts = 0:1/f:(1/f)*(5e6);
A = 1/PRF;
on = (pulse_width)/A;
off = 1 - on;
Tr = [on*A,off*A];
pulse = double(mod(ts,sum(Tr))
%re-time scale carrier signal and pulses
fc = interp(fc,64);
fc = [fc fc fc fc fc fc fc];
t = 0:1/(10*f):7e-5;
pulse = downsample(pulse,5);
% figure(3)
% a = min([length(t) length(pulse)]);
% plot(t(1:a),pulse(1:a))
% hold on;
% a = min([length(t) length(fc)]);
% plot(t(1:a),fc(1:a));
% title('Scaled and Truncated');
% xlabel('time');
% ylabel('amplitude');
%GENERATE TRANSMITTED SIGNAL
a = min([length(t) length(pulse) length(fc)]);
fo = fc(1:a).*pulse(1:a);
% figure(4);
a = min([length(t) length(fo)]);
% plot(t(1:a),fo(1:a))
% title('Transmitted signal');
% xlabel('time');
% ylabel('amplitude');
% Doppler shift
lamda = c/f;
fd = (-2*V)/lamda;
wd = 2*pi*fd;
tp = 0:abs(1/(3*(f+fd))):(on)*A;
shift = sin((wc+wd)*tp);
% figure(5);
% plot(tp,shift);
% title('Doppler Shifted Pulse');
% xlabel('time');
% ylabel('amplitude');
%Add non-pulsed portion (basically a bunch of zeros)
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。