【雷达通信】K分布雷达杂波建模与仿真【含Matlab源码 2665期】

在这里插入图片描述

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【雷达通信】基于matlab K分布雷达杂波建模与仿真【含Matlab源码 2665期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab信号处理(初级版)

备注:
点击上面蓝色字体付费专栏Matlab信号处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab信号处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、部分源代码

%%%%K分布杂波的产生过程
clc;
clear all;
close all
%%
% K分布参数
K_Distribute_v = 2; % 形状参数,另外一个参数在程序仿真中确定
Simulate_Data_Length=20000; %雷达回波帧数,一帧表示一个重复周期
Nfft = 256; % 在程序中使用的FFT变换点数
%% 生成高斯白噪声
% xi = randn(1, Simulate_Data_Length);
% xq = randn(1, Simulate_Data_Length);
W1_k = randn(1, Simulate_Data_Length) + j * randn(1, Simulate_Data_Length);

%% 产生滤波器系数H1(k)
F_Index = [-0.5 : 1/Nfft : 0.5-1/Nfft]; % 归一化频率
Delta_F1 = 0.01; % 滤波器1对应的归一化频率方差
Fd1 = 0.3; % 滤波器1对应的归一化多普勒中心频率
Hk1_Abs = exp(-(F_Index-Fd1).2/(4*(Delta_F12))); % 所需的滤波器1的幅频特性
Delta_F2 = 0.0001; % 滤波器2对应的归一化频率方差
Hk2_Abs = exp(-F_Index.2./(4*(Delta_F22))); % 所需的滤波器的幅频特性

% 求解对应的时域滤波器系数
% 因为前面设置的频率是-0.5到0.5,与FFT不符合,这里进行旋转,便于后续FFT计算
Hk_Abs = ifftshift(Hk1_Abs);
[Hk1] = Get_Hk_From_Hk_Abs(Hk_Abs);
Hk_Abs = ifftshift(Hk2_Abs);
[Hk2] = Get_Hk_From_Hk_Abs(Hk_Abs);
hk1 = ifft(Hk1);
hk2 = ifft(Hk2);
%% 生成复高斯谱杂波
% 第一种方式滤波器
% [b,a]=butter(5,0.01);%窄带滤波器
% Y_k=filter(b,a,W1_k);
% 第二种方式滤波器
Tmp = length(hk1);
Y_k = conv(hk1, W1_k);
Y_k = Y_k(Tmp : end);
% 根据产生杂波的平均功率求解参数,即确定了K分布的另一个参数
K_Distribute_Alpha = sqrt(var(Y_k) / (2*K_Distribute_v));

W2_k=randn(1,Simulate_Data_Length);
% 第一种方式滤波器
% [b,a]=butter(5,0.01);%窄带滤波器
% Z_k=filter(b,a,W2_k);
% 第二种方式滤波器
Tmp = length(hk2);
Z_k = conv(hk2, W2_k);
Z_k = Z_k(Tmp : end);

%% 通过解非线性方程,由Z(k)推求S(k)
%下面的程序解非线性方程
S_k = zeros(1, length(Z_k));

% 对Z(k)进行ZMNL变换,得到所需的功率调制变量S(k)
% 建立ZMNL变换对应的查找表
S_2_Table = (0 : 0.01 : 200);
Incomplete_Gamma_Result_Table = zeros(1, length(S_2_Table));
E_y2 = var(Y_k);
K_Distribute_Alpha_2 = K_Distribute_Alpha ^2;
for w1 = 1 : 1 : length(S_2_Table)
tmp = E_y2 * S_2_Table(w1) / (K_Distribute_Alpha_2 * pi);
Incomplete_Gamma_Result_Table(w1) = gammainc(K_Distribute_v, tmp);
end;
% 进行非线性方程的求解,由Z(k)推导S
Result_Tmp = 1/2 + 1/2 * erf(Z_k/sqrt(2));
S_2_Result = zeros(1, length(Z_k));
for w1 = 1 : 1 : length(Z_k)
tmp = Result_Tmp(w1);
tmp1 = abs(Incomplete_Gamma_Result_Table - tmp);
[Value, Index] = min(tmp1);
S_2_Result(w1) = S_2_Table(Index);
end;
S_k = sqrt(S_2_Result);

%% 最终合成所需的结果
X_k=Y_k.*S_k;
figure, subplot(2,1,1),plot(real(X_k));
title(‘K分布杂波时域波形–实部’);
subplot(2,1,2),plot(imag(X_k));
title(‘K分布杂波时域波形–虚部’);

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]李树锋.基于完全互补序列的MIMO雷达与5G MIMO通信[M].清华大学出版社.2021
[2]何友,关键.雷达目标检测与恒虚警处理(第二版)[M].清华大学出版社.2011

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值