《合成孔径雷达成像算法与实现》Figure3.5

Matlab 复制代码
clc
clear all
close all

%参数设置
TBP = 100;                                              %时间带宽积
T = 10e-6;                                              %脉冲持续时间

%参数计算
B = TBP/T;                                              %信号带宽
K = B/T;                                                %信号调频频率
alpha_os = 8;                                           %过采样率
F = alpha_os*B;                                         %采样率
N = 2*ceil(F*T/2);                                      %采样点数
dt = T/N;                                               %采样时间间隔
df = F/N;                                               %采样频率间隔

%变量设置
t = -T/2:dt:T/2-dt;                                     %时间变量
f = -F/2:df:F/2-df;                                     %频率变量
t_out = linspace(2*t(1),2*t(end),2*length(t)-1);        %循环卷积后的信号长度

%信号表达
st = exp(1j*pi*K*t.^2);                                 %chirp信号复数表达式
ht = conj(fliplr(st));                                  %时域匹配滤波器表达式
s_out = conv(st,ht);                                    %匹配滤波器输出信号表达式
s_out = s_out/max(s_out);                               %归一化

%绘图
figure
plot(t_out*1e+6,real(s_out))
axis([-1 1,-0.4 1.2]),xlabel('时间(\mus)')

1. ht = conj(fliplr(st));

Zc`` = conj(Z) 返回 Z 中每个元素的复共轭。

B = fliplr(A) 返回 A,围绕垂直轴按左右方向翻转其各列。如果 A 是一个行向量,则 fliplr(A) 返回一个相同长度的向量,其元素的顺序颠倒。如果 A 是一个列向量,则fliplr(A) 只返回 A。对于多维数组,fliplr 作用于由第一个和第二个维度构成的平面。

匹配滤波器时域表达式为时间反褶后s(t)的复共轭

2. t_out = linspace(2*t(1),2*t(end),2*length(t)-1);

MATLAB中的conv函数对K+M-1个输出点进行计算,其中K为信号长度,M为滤波器长度,t_out = linspace(2*t(1),2*t(end),2*length(t)-1)为循环卷积后的信号长度

相关推荐
To_OC15 分钟前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
旖-旎1 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
To_OC2 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
delishcomcn3 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹3 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
雪碧聊技术3 小时前
力扣 LCR 091. 粉刷房子 —— 动态规划入门详解
算法·动态规划
CV-Climber6 小时前
检索技术的实际应用
人工智能·算法
hhzz7 小时前
Tiger AI Platform平台中增加人脸识别功能
图像处理·人工智能·算法·计算机视觉·大模型
从零开始的代码生活_7 小时前
C++ 继承详解:访问控制、对象模型、菱形继承与设计取舍
开发语言·c++·后端·学习·算法