php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 510|回复: 0

MATLAB实现阻塞干扰仿真

[复制链接]

3138

主题

3148

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7946
贡献
0
注册时间
2021-4-14
最后登录
2024-11-21
在线时间
763 小时
QQ
发表于 2022-8-20 17:50:25 | 显示全部楼层 |阅读模式
[mw_shl_code=applescript,true]% 支持弹幕干扰机建模
% 这barrageJammer宽带干扰器的对象模型。的产量barrageJammer是一个复杂的高斯白噪声序列。阻塞干扰器的可修改属性是:
%
% ERP—有效辐射功率,单位为瓦特
%
% SamplesPerFrameSource—每帧样本数的来源
%
% SamplesPerFrame—每帧的样本数
%
% SeedSource—随机数生成器的种子源
%
% Seed—随机数生成器的种子
%
% 复数高斯白噪声序列的实部和虚部各自具有等于1/2有效辐射功率(瓦特)的方差。用瓦特表示有效辐射功率P。阻塞干扰器输出为:
%


% 模型阻塞干扰器输出
% 本例研究了阻塞干扰器输出的统计特性,以及它们与有效辐射功率的关系(企业资源规划)。使用5000瓦的有效辐射功率创建一个阻塞干扰器。以每帧500个样本生成输出。然后呼叫step函数生成一帧复杂数据。使用histogram功能,显示弹幕干扰器输出值的分布。这BarrageJammer系统对象使用随机数生成器。在这个例子中,为了说明的目的,随机数发生器种子是固定的,并且可以被移除。

rng default
jammer = phased.BarrageJammer('ERP',5000,...
    'SamplesPerFrame',500);
% jammer = barrageJammer('ERP',5000,...
%     'SamplesPerFrame',500);
y = jammer();
subplot(2,1,1)
histogram(real(y))
title('Histogram of Real Part')
subplot(2,1,2)
histogram(imag(y))
title('Histogram of Imaginary Part')
xlabel('Watts')


mean(real(y))
mean(imag(y))
std(real(y))
std(imag(y))


% 阻塞式干扰机对目标回波的建模效应
% 这个例子演示了如何模拟弹幕干扰对目标回波的影响。首先,创建所需的对象。你需要一个阵列,一个发射器,一个辐射器,一个目标,一个干扰器,一个收集器,一个接收器。此外,您需要定义两条传播路径:一条是从阵列到目标并返回,另一条是从干扰机到阵列。

antenna = phased.ULA(4);
Fs = 1e6;
fc = 1e9;
rng('default')
waveform = phased.RectangularWaveform('PulseWidth',100e-6,...
    'PRF',1e3,'NumPulses',5,'SampleRate',Fs);
transmitter = phased.Transmitter('PeakPower',1e4,'Gain',20,...
    'InUseOutputPort',true);
radiator = phased.Radiator('Sensor',antenna,'OperatingFrequency',fc);
jammer = barrageJammer('ERP',1000,...
    'SamplesPerFrame',waveform.NumPulses*waveform.SampleRate/waveform.PRF);
target = phased.RadarTarget('Model','Nonfluctuating',...
    'MeanRCS',1,'OperatingFrequency',fc);
targetchannel = phased.FreeSpace('TwoWayPropagation',true,...
    'SampleRate',Fs,'OperatingFrequency', fc);
jammerchannel = phased.FreeSpace('TwoWayPropagation',false,...
    'SampleRate',Fs,'OperatingFrequency', fc);
collector = phased.Collector('Sensor',antenna,...
    'OperatingFrequency',fc);
amplifier = phased.ReceiverPreamp('EnableInputPort',true);


% 假设阵列、目标和干扰机是静止的。该阵列位于全局原点,(0,0,0)。目标位于(1000,500,0),干扰器位于(2000,2000,100)。确定从阵列到目标和干扰机的方向。
targetloc = [1000 ; 500; 0];
jammerloc = [2000; 2000; 100];
[~,tgtang] = rangeangle(targetloc);
[~,jamang] = rangeangle(jammerloc);


% 最后,向目标发射矩形脉冲波形,从目标反射回来,在阵列处收集回波。同时,干扰机向阵列发射干扰信号。干扰信号和回声在接收机处混合在一起。生成波形
wav = waveform();
% Transmit waveform
[wav,txstatus] = transmitter(wav);
% Radiate pulse toward the target
wav = radiator(wav,tgtang);
% Propagate pulse toward the target
wav = targetchannel(wav,[0;0;0],targetloc,[0;0;0],[0;0;0]);
% Reflect it off the target
wav = target(wav);
% Collect the echo
wav = collector(wav,tgtang);



% % 产生干扰信号

jamsig = jammer();
% Propagate the jamming signal to the array
jamsig = jammerchannel(jamsig,jammerloc,[0;0;0],[0;0;0],[0;0;0]);
% Collect the jamming signal
jamsig = collector(jamsig,jamang);

% Receive target echo alone and target echo + jamming signal
pulsewave = amplifier(wav,~txstatus);
pulsewave_jamsig = amplifier(wav + jamsig,~txstatus);


% 绘制结果,并将其与有干扰和无干扰的接收波形进行比较。
subplot(2,1,1)
t = unigrid(0,1/Fs,size(pulsewave,1)*1/Fs,'[)');
plot(t*1000,abs(pulsewave(:,1)))
title('Magnitudes of Pulse Waveform Without Jamming--Element 1')
ylabel('Magnitude')
subplot(2,1,2)
plot(t*1000,abs(pulsewave_jamsig(:,1)))
title('Magnitudes of Pulse Waveform with Jamming--Element 1')
xlabel('millisec')
ylabel('Magnitude')


[/mw_shl_code]

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-11-22 01:17 , Processed in 0.773989 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表