matlab中怎么仿雷达回波,Matlab雷达回波信号消噪的仿真和实现
以下是我的回波信号和脉压,mtd,cfar处理过程
我有两个问题,
1.为什么mtd的结果会有两个通道都有信号,怎么能让只有一个通道有信号
2.快门限恒虚警处理结果出不来,我哪里编程错误了,请大家帮帮忙,万分感谢!!
以下是我的程序:
clear all;
close all;
clc;
t=10e-6; %脉冲宽度
B=2e6; %频带宽度
fs=40e6;ts=1/fs; %采样频率
fc=9e6; %载波频率
f0=10e6; %中心频率
ft=0:1/fs:t-1/fs;
N=length(ft);
k=B/fs*2*pi/max(ft); %调制系数
y=modulate(ft,fc,fs,'fm',k);
y_fft_result=fft(y);
figure,subplot(2,1,1),plot(ft,y),xlabel('t(单位:秒)'),
ylabel('y(单位:伏)'),title('线性调频信号y(t)');
subplot(2,1,2),plot((0:fs/N:fs/2-fs/N),abs(y_fft_result(1:N/2))),
xlabel('频率f(单位:Hz)'),title('线性调频信号y(t)的频谱');
%%%%%%%%%%%%%%%%%%%%%%%%正交解调%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=0:N-1;%调频信号时间序列的长度
local_oscillator_i=2*cos(n*f0/fs*2*pi);
local_oscillator_q=2*sin(n*f0/fs*2*pi);
fbb_i=local_oscillator_i.*y;
fbb_q=local_oscillator_q.*y;
window=chebwin(51,40);
[b,a]=fir1(50,2*B/fs,window);
fbb_i=filter(b,a,fbb_i);
fbb_q=filter(b,a,fbb_q);
fbb=fbb_i+j*fbb_q;
figure,subplot(2,1,1),plot(ft,fbb_i),xlabel('t(单位:秒)'),
ylabel('y(单位:伏)'),title('解调后的I路信号');
subplot(2,1,2),plot(ft,fbb_q),xlabel('t(单位:秒)'),
ylabel('y(单位:伏)'),title('解调后的Q路信号');
%%%%%%%%%%%%%%%%%%%产生理想脉压系数%%%%%%%%%%%%%%%%%%%%%
M=4096;D=B*t;
match_filter=ts*fliplr(conj(fbb))*sqrt(D)*2/t;
match_filter_fft_1=fft(match_filter,M);
match_filter_fft=match_filter_fft_1.';
figure,
subplot(2,1,1),plot(real(match_filter_fft)),
title('脉冲压缩系数(实部)');
subplot(2,1,2),plot(imag(match_filter_fft)),
title('脉冲压缩系数(虚部)');
%%%%%%%%%%%%%回波信号%%%%%%%%%%%%%%%
fz=1.6e4;
tz=1/fz;
t_mobj=20e-6;
f_doppler=2000;
N=tz/ts;
echo_mobj_pulse=[zeros(1,t_mobj/ts),y,zeros(1,(tz-t_mobj)/ts-length(y))];
figure,plot(0:ts:tz-ts,echo_mobj_pulse);
s_echo_1=repmat(echo_mobj_pulse,1,16);
figure,plot(0:ts:(16*N-1)*ts,s_echo_1);
n=1:16*N;
s_doppler=cos(n*2*pi*f_doppler/fs);
s_echo_2=s_echo_1.*s_doppler;
%%%%%%%%%%产生有色噪声%%%%%%%%%%
s_noise=0.1*wgn(1,N*16,1);
figure,plot(abs(fft(s_noise)));
window=chebwin(51,40);
[b,a]=fir1(50,2*B/fs,window);
s_noise=filter(b,a,s_noise);
figure,plot(abs(fft(s_noise)));
s_echo=s_echo_2+s_noise;
figure,
plot(0:ts:(16*N-1)*ts,s_echo),xlabel('t(单位:s)'),title('回波信号');
%%%%%%%%%%%%%%%%%%正交调制%%%%%%%%%%%%%%%%
s_echo=reshape(s_echo,2500,16);
n=0:N-1;
local_oscillator_i=2*cos(n*f0/fs*2*pi).';
local_oscillator_q=2*sin(n*f0/fs*2*pi).';
window=chebwin(51,40);
[b,a]=fir1(50,2*B/fs,window);
s_echo_i=zeros(2500,16);
s_echo_q=zeros(2500,16);
for i=1:16
s_echo_i(:,i)=local_oscillator_i.*s_echo(:,i);
s_echo_q(:,i)=local_oscillator_q.*s_echo(:,i);
s_echo_i(:,i)=filter(b,a,s_echo_i(:,i));
s_echo_q(:,i)=filter(b,a,s_echo_q(:,i));
s_echo_mf(:,i)=s_echo_i(:,i)+j*s_echo_q(:,i);
end
figure,plot(0:ts:length(s_echo_mf(:,1))*ts-ts,s_echo_mf(:,1));
s_echo_result=reshape(s_echo_mf,1,40000);
figure,plot(0:ts:length(s_echo_result)*ts-ts,s_echo_result);
figure,
plot((0:fs/length(abs(fft(s_echo_result))):fs-fs/length(abs(fft(s_echo_result)))),abs(fft(s_echo_result)));
%%%%%%%%%%%%%脉冲压缩%%%%%%%%%%%%%%%%%%
for i=1:16
s_echo_fft_result(:,i)=fft(s_echo_mf(:,i),M);
pc_result_fft(:,i)=match_filter_fft.*s_echo_fft_result(:,i);
pc_result(:,i)=ifft(pc_result_fft(:,i),M);
end
figure,plot(0:ts:length(abs(pc_result(:,1)))*ts-ts,abs(pc_result(:,1)));
s_pc_result=reshape(pc_result,1,4096*16);
figure,
subplot(2,1,1),plot(0:ts:length(s_pc_result)*ts-ts,real(s_pc_result)),
xlabel('时间,单位:s'),title('脉冲压缩处理后的结果(实部)');
subplot(2,1,2),plot(0:ts:length(s_pc_result)*ts-ts,imag(s_pc_result)),
xlabel('时间,单位:s'),title('脉冲压缩处理后的结果(虚部)');
figure,plot(0:ts:length(abs(s_pc_result))*ts-ts,abs(s_pc_result));
%%%%%%%%%%%%%%%%%mtd处理%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
s_pc=pc_result;
for i=1:4096
s_temp=s_pc(i,:);
s_mtd(i,:)=fft(s_temp,16);
end
t=0:ts:length(abs(s_mtd(:,1)))*ts-ts;
figure,
subplot(2,4,1),plot(t,abs(s_mtd(:,1))),title('多普勒滤波器组(第1通道)');
subplot(2,4,2),plot(t,abs(s_mtd(:,2))),title('多普勒滤波器组(第2通道)');
subplot(2,4,3),plot(t,abs(s_mtd(:,3))),title('多普勒滤波器组(第3通道)');
subplot(2,4,4),plot(t,abs(s_mtd(:,4))),title('多普勒滤波器组(第4通道)');
subplot(2,4,5),plot(t,abs(s_mtd(:,5))),title('多普勒滤波器组(第5通道)');
subplot(2,4,6),plot(t,abs(s_mtd(:,6))),title('多普勒滤波器组(第6通道)');
subplot(2,4,7),plot(t,abs(s_mtd(:,7))),title('多普勒滤波器组(第7通道)');
subplot(2,4,8),plot(t,abs(s_mtd(:,8))),title('多普勒滤波器组(第8通道)');
figure,
subplot(2,4,1),plot(t,abs(s_mtd(:,9))),title('多普勒滤波器组(第9通道)');
subplot(2,4,2),plot(t,abs(s_mtd(:,10))),title('多普勒滤波器组(第10通道)');
subplot(2,4,3),plot(t,abs(s_mtd(:,11))),title('多普勒滤波器组(第11通道)');
subplot(2,4,4),plot(t,abs(s_mtd(:,12))),title('多普勒滤波器组(第12通道)');
subplot(2,4,5),plot(t,abs(s_mtd(:,13))),title('多普勒滤波器组(第13通道)');
subplot(2,4,6),plot(t,abs(s_mtd(:,14))),title('多普勒滤波器组(第14通道)');
subplot(2,4,7),plot(t,abs(s_mtd(:,15))),title('多普勒滤波器组(第15通道)');
subplot(2,4,8),plot(t,abs(s_mtd(:,16))),title('多普勒滤波器组(第16通道)');
%%%%%%%%%%%%%%%慢门限cfar处理%%%%%%%%%%%%%%%%
figure,
N=tz/ts;
for i=1:16
v=i;
s_mtd_1=abs(s_mtd(:,i));
s_mtd_2=s_mtd_1.';
cfar_result=zeros(1,N);
cfar_result(1,1)=s_mtd_2(1,1);
for i=2:N
cfar_result(i)=s_mtd_2(1,i)/mean(s_mtd_2(1,1:i));
end
subplot(4,4,v),
plot((0:ts:tz-ts),cfar_result),
xlabel('t(单位:s)'),title('cfar处理结果');
end
%%%%%%%%%%%%%%%快门限恒虚警处理%%%%%%%%%%%%%%%%%
figure,
for i=1:16
v=i;
s_mtd_1=abs(s_mtd(:,i));
s_mtd_2=s_mtd_1.';
N=tz/ts;
N=uint32(N);
cfar_result=zeros(1,N);
cfar_result(1,1)=s_mtd_2(1,1)/(sqrt(2)/pi*mean(s_mtd_2(1,2:17)));
for i=2:16
noise_mean=sqrt(2)/pi*(mean(s_mtd_2(1,1:i-1))+mean(s_mtd_2(1,i+1:i+16)))/2;
cfar_result(1,i)=s_mtd_2(1,i)/noise_mean;
end
for i=17:N-17
noise_mean=sqrt(2)/pi*max(mean(s_mtd_2(1,i-16:i-1)),mean(s_mtd_2(1,i+1:i+16)));
cfar_result(1,i)=s_mtd_2(1,i)/noise_mean;
end
for k=N-16:N-1
noise_mean=sqrt(2)/pi*(mean(s_mtd_2(1,k-16:k-1))+mean(s_mtd_2(1,k+1:N)))/2;
cfar_result(1,k)=s_mtd_2(1,k)/noise_mean;
end
cfar_result(1,N)=s_mtd_2(1,N)/(sqrt(2)/pi*mean(s_mtd_2(1,N-16:N-1)));
subplot(4,4,v),
plot(0:ts:tz-ts,cfar_result),xlabel('时间,单位:s');title('采用恒虚警处理结果');
end
matlab中怎么仿雷达回波,Matlab雷达回波信号消噪的仿真和实现相关推荐
- matlab中如何对一组复数频域信号进行快速傅里叶逆变换
matlab中如何对一组复数频域信号进行快速傅里叶逆变换 为何需要对复数频域信号进行快速傅里叶逆变换 快速傅里叶变换(fft)后的数据格式 快速傅里叶逆变换至原信号时域波型 第一步 第二步 第三步 验 ...
- MATLAB 用LMS算法实现语音去噪,在Matlab中实现基于LMS算法语音信号去噪
ComputerKnowledgeand Technology 电脑知识与技术 第10卷第32期 (2014年11月) 本栏目责任编辑:谢媛媛软件设计开发 在Matlab中实现基于LMS算法语音信号去 ...
- matlab中dist的命令,matlab dist函数
dist--欧式距离加权函数(Euclidean distance weight function) 语法: Z = dist(W,P) df = dist('deriv') D = dist(pos ...
- matlab中错误使用fmincon,MATLAB中fmincon 函数问题
MATLAB中fmincon 函数问题 Matlab的fmincon优化问题 请问: 各位高手帮忙看看我的程序又什么问题?显示错误 Error in ==> Fun at 33 [w,fval] ...
- matlab中udt函数,《MATLAB信号处理超级学习手册》——2.5 离散时间信号中的运算...
本节书摘来自异步社区<MATLAB信号处理超级学习手册>一书中的第2章,第2.5节,作者:MATLAB技术联盟 , 史洁玉著,更多章节内容可以访问云栖社区"异步社区"公 ...
- matlab中scope是什么,matlab中scope
MATLAB_simulink中的示波器scope设置_数学_自然科学_专业资料... 精品文档 Matlab Figure 图形保存以及 Simulink 中 Scope 窗口坐标标注(label) ...
- matlab中clock是什么,matlab中的clock
其值为真 Why 简明的答案 Version MATLAB 版本号 时间和日期 Clock 挂钟 Date 日历 Etime 计时函数 Tic 秒表开始计时 Toc 计时函数 Cputime CPU ...
- matlab中ln4怎么表示,matlab里ln怎么表示
matlab中图中颜色和形状表示_数学_自然科学_专业资料.颜色字符串有'c', 'm', 'y', 'r', 'g', 'b', 'w',和'k'.分别表示青,红紫,黄,红,绿,白...... 上下 ...
- matlab中的measure,关于matlab中awgn函数中参数作用的测试
matlab中加性白噪声awgn函数主要格式是awgn(sig,SNR,sigpower) 对于sigpower参数进行了一下测试,其表示的作用应该是作为SNR参考0db的信号功率 以这段代码对参数作 ...
最新文章
- shiro源码分析(四)具体的Realm
- 沃丰报告:物联网的未来
- 分割命令: split
- Interview:算法岗位面试—上海某科技公司算法岗位(偏AI算法,国企)技术面试之BN层的认知、BP的推导、GD优化的几种改进等
- 使用Busybox构造cramfs根文件系统
- kippo mysql_Kippo:一款优秀的SSH蜜罐开源软件.pdf
- 解决JS拖拽出现的问题
- 多视角子空间学习系列之 MCCA (Multi-view CCA) 多视角CCA Horst算法
- 闪迪U盘插入电脑后,系统能识别到插入,但在我的电脑中没有显示的解决方法
- 黄一老师:征信问答这些信用知识你都了解吗?
- 使 div 水平 垂直 居中
- 三国史诗——三国官制(一)
- 我的第一个JS组件-跨浏览器JS调试工具
- android波浪动画简书,Android贝塞尔曲线————波浪效果(大波浪)
- IP地址分类及子网划分
- 数字化的野蛮生长需要驯服
- Bybit USDT永续合约交易测评 | TokenInsight
- 321影音代码(万能播放器)源码
- 研究ffmepg中有感(NDK 与 JNI 的关系)
- 【第108期】技术大牛都在看的10本书,找到了
热门文章
- java毕业设计企业个性化展示平台源码+lw文档+mybatis+系统+mysql数据库+调试
- 炫界 (392) -(持法延迟)_Apex英雄支持NVIDIA Reflex 华硕显卡低延迟利器
- Java中String,StringBuffer都是final类
- 超低频测试信号产生电路软件流程图,新超低频任意信号发生器.pdf
- linux如何转化u盘格式的文件格式,uefi启动u盘安装linux怎么将u盘转换格式
- Led显示屏是怎样散热的?
- 小程序引导关注公众号
- 浅谈windows8.1--IE11 的上手体验
- 又是一波冲击! | 自动驾驶再次被苏醒(提供部分源码)
- RetinaFace最强开源人脸识别算法