常规、LFM、相位编码、频率编码等雷达调制信号代码(MATLAB)

该博客介绍了雷达信号的几种调制方式,包括常规脉冲信号、LFM、非线性调制NLFM、相位编码和频率编码,并提供了MATLAB代码示例。特别是LFM信号,讨论了如何通过改变采样点数来调整时域图的范围。同时,提到了BPSK、四相编码和不同频编码的实现细节。
摘要由CSDN通过智能技术生成

介绍

有关傅里叶变化介绍的优秀博文:点这里真的超级有惊喜
雷达信号调制种类:

在这里插入图片描述
在这里插入图片描述

常规脉冲信号

参考博文:
博文1
博文2

优秀博文:主要参考
matlab代码:
加高斯白噪声:awgn(x,SNR)

clc
clear all
close all
fs = 300;%采样率
T = 1/fs;
N = 600;
t = (0:N-1)*T; % 时间序列

A_danpin = 10;
f_danpin = 80;
y_danpin = A_danpin*cos(2*pi*f_danpin*t)
%y_danpin_noise = y_danpin + randn(size(t));     %添加噪声
y_danpin_noise = awgn(y_danpin ,2);%添加高斯白噪声
figure(1);
subplot(2,1,1)
%plot(t,y_danpin_noise)
plot(t,y_danpin_noise);
xlabel('t/s')
ylabel('幅度 / V')

n = 2^nextpow2(N);%采样点数,采样点数越大,分辨的频率越精确,N>=L,超出的部分信号补为0
Y = fft(y_danpin_noise,n)/n*2;%除以N乘以2才是真实幅值,N越大,幅值精度越高
f = fs/n*(0:1:n-1); %频率
P = abs(Y);%幅值
subplot(2,1,2)
plot(f(1:n/2),P(1:n/2));%函数fft返回值的数据结构具有对称性,因此我们只取前一半
xlabel('频率(Hz)')
ylabel('幅值 ')
title('幅值频谱')
grid on;

在这里插入图片描述

LFM

优秀博文:点这里有惊喜
主要参考:点这里有惊喜
在这里插入图片描述
在这里插入图片描述

clc
clear all
close all
T = 1;%采样时间
f = 1e5;%采样率
t = 0:1/f:(T-1/f); % 采样点
n = length(t); % 采样点数
% 线性调频信号 s(t)=a(t)cos[2πf0 t+πkt^2]a(t)是包络,f0是调频频率
A_lfm = 10;
f_lfm = 1000;
k_lfm = 800000;
y_lfm = A_lfm*cos(2*pi*f_lfm*t+pi*k_lfm*t.^2);
figure(3)
plot(t(1:500),y_lfm(1:500));
xlabel('t/s');
title('线性调频信号波形');
axis([0 0.005 -A_lfm A_lfm]);

在这里插入图片描述
注:要使得时域图扩大范围,只需要改变采样点数,比如 t (1:500)【采500个点】可以改成t(1:1000)【采1000个点】。

LFM频谱:

clc
clear all
close all
B = 2e8;
T = 1e-6;%采样时间
fs = 4*B;%采样率
K = B/T;
N =  round( T / (1/fs) );%采样点数
t = linspace( 
Matlab中,相位编码脉冲可以通过使用相移键控调制来实现。相移键控调制是一种将离散的符号序列映射到连续相位信号的技术。在二相编码中,每个符号(比特)被映射为两种不同的相位状态。在Matlab中,可以使用sin函数生成正弦波形来表示0相位状态,并使用cos函数生成余弦波形来表示1相位状态。通过组合这些波形,可以生成相应的相位编码脉冲信号。 例如,假设有一个二进制相位编码脉冲码字为'0213030303120',其中0被映射为正弦波形,1被映射为负正弦波形,2被映射为余弦波形,3被映射为负余弦波形。可以使用以下代码Matlab生成相应的相位编码脉冲信号: ```matlab clc clear all close all T = 1; % 采样时间 f = 1e5; % 采样率 t = 0:1/f:(T-1/f); % 采样点 n = length(t); % 采样点数 binary_code = '0213030303120'; % 二进制相位编码 len_code = length(binary_code); % 码字长度 f_bpsk = 1000; % 频率1000Hz,周期1ms T_bpsk = 1/f_bpsk; % 单个码元持续时间 A_bpsk = 10; % 幅值 t_mayuan = 0:1/f:(T_bpsk-1/f); % 一个码元所持续的时间内的采样点时刻 y_mayuan = A_bpsk*sin(2*pi*f_bpsk*t_mayuan); % 一个码元的波形,用于表示0 y1_mayuan = A_bpsk*cos(2*pi*f_bpsk*t_mayuan); % 一个码元的波形,用于表示2 t_bpsk = 0:1/f:(T_bpsk*len_code-1/f); y_bpsk = []; for i=1:len_code tmp = str2num(binary_code(i)); if tmp == 0 y_bpsk = [y_bpsk, y_mayuan]; end if tmp == 1 y_bpsk = [y_bpsk, -y_mayuan]; end if tmp == 2 y_bpsk = [y_bpsk, y1_mayuan]; end if tmp == 3 y_bpsk = [y_bpsk, -y1_mayuan]; end end figure(2) plot(t_bpsk, y_bpsk) grid on xlabel('t/s') title('相位编码脉冲信号') axis([0 1e-2 -2*A_bpsk 2*A_bpsk]) ``` 以上代码生成一个相位编码脉冲信号,并使用plot函数在图形窗口中显示该信号的波形。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [相位编码脉冲压缩信号的理论研究](https://blog.csdn.net/ccsss22/article/details/108761534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [常规LFM相位编码频率编码雷达调制信号代码MATLAB)](https://blog.csdn.net/m0_46735338/article/details/108242074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值