《合成孔径雷达成像算法与实现》Figure2.14

news2024/12/23 21:04:28

 

%% 插值核
clc
close all
clear all

N = 40;
x1 = -4:1/N:4-1/N;
hx = sin(pi*x1)./(pi*x1);
if x1 == 0
    hx = 1;
end
figure
plot(x1,hx,'k')
axis([-4 4,-0.4 1.2])
grid on
arrow([-4,0],[4,0],'Color','k','Linewidth',1);
arrow([0,-0.4],[0,1.2],'Color','k','Linewidth',1);

%% 初始样本
x2 = 1:8;
gx = [1,3,2,5,4,-3,2,3.5]/2;
figure 
plot(x2,gx,'ko','MarkerFaceColor','k'),hold on
axis([0 9,-2 4])
grid on
% for i =1:8
%     line([x2(i),x2(i)],[gx(i),0],'Color','k');
% end
a = 4.7;
plot(x1+a,hx,'k'),hold on,plot(x2,sinc(x2-a),'k*')

for i = 1:8
    line([x2(i),x2(i)],[sinc(i-a),0],'Color','k');
end

line([a,a],[sinc(0),0],'Color','k','LineStyle','--')

% 坐标轴
% arrow([0,0],[9,0]);

%% 插值运算
t = 1-a:1:8-a;
gx_a = sinc(t)*gx';

 

%% 绘图
set(figure,'position',[100,100,800,600])
%插值核
subplot(311),plot(x1,hx,'k');
title('(a)插值核'),xlabel('x1'),ylabel('hx')
axis([-4,4,-0.4,1.2])
grid on

%插值运算
subplot(312),plot(x2,gx,'ko','MarkerFaceColor','k'),hold on
title('(b)插值运算'),xlabel('x2'),ylabel('gx')
plot(x1+a,hx,'k'),hold on
plot(x2,sinc(x2-a),'k*'),hold on
for i = 1:8
    line([x2(i),x2(i)],[sinc(x2(i)-a),0],'color','k')
end
for i = 1:8
    line([x2(i),x2(i)],[gx(i),0],'color','k')
end
line([a,a],[1,0],'color','k','linestyle','--')
grid on

%插值后信号
subplot(313),plot(x2,gx,'ko','MarkerFaceColor','k'),hold on
title('(c)插值后信号'),xlabel('x2'),ylabel('gx_f')
axis([0,9,-2,4])
for i = 1:8
    line([x2(i),x2(i)],[gx(i),0],'color','k')
end
for b = 1:1/N:8-1/N
    t = 1-b:1:8-b
    gx_f = sinc(t)*gx';
    plot(b,gx_f,'k.'),hold on
    if b == a
        plot(b,gx_f,'kd'),hold on
        line([a,a],[gx_f,0],'linestyle','--')
    end
end
sgtitle('图2.14 使用Sinc函数插值的图')

 完整代码如下:

%% 插值核
clc
close all
clear all

N = 40;
x1 = -4:1/N:4-1/N;
hx = sin(pi*x1)./(pi*x1);
if x1 == 0
    hx = 1;
end
% figure
% plot(x1,hx,'k')
% axis([-4 4,-0.4 1.2])
% grid on
% arrow([-4,0],[4,0],'Color','k','Linewidth',1);
% arrow([0,-0.4],[0,1.2],'Color','k','Linewidth',1);

%% 初始样本
x2 = 1:8;
gx = [1,3,2,5,4,-3,2,3.5]/2;
% figure 
% plot(x2,gx,'ko','MarkerFaceColor','k'),hold on
% axis([0 9,-2 4])
% grid on
% for i =1:8
%     line([x2(i),x2(i)],[gx(i),0],'Color','k');
% end
a = 4.7;
% plot(x1+a,hx,'k'),hold on,plot(x2,sinc(x2-a),'k*')
% 
% for i = 1:8
%     line([x2(i),x2(i)],[sinc(i-a),0],'Color','k');
% end
% 
% line([a,a],[sinc(0),0],'Color','k','LineStyle','--')

% 坐标轴
% arrow([0,0],[9,0]);

%% 插值运算
t = 1-a:1:8-a;
gx_a = sinc(t)*gx';

%% 绘图
set(figure,'position',[100,100,800,600])
%插值核
subplot(311),plot(x1,hx,'k');
title('(a)插值核'),xlabel('x1'),ylabel('hx')
axis([-4,4,-0.4,1.2])
grid on

%插值运算
subplot(312),plot(x2,gx,'ko','MarkerFaceColor','k'),hold on
title('(b)插值运算'),xlabel('x2'),ylabel('gx')
plot(x1+a,hx,'k'),hold on
plot(x2,sinc(x2-a),'k*'),hold on
for i = 1:8
    line([x2(i),x2(i)],[sinc(x2(i)-a),0],'color','k')
end
for i = 1:8
    line([x2(i),x2(i)],[gx(i),0],'color','k')
end
line([a,a],[1,0],'color','k','linestyle','--')
grid on

%插值后信号
subplot(313),plot(x2,gx,'ko','MarkerFaceColor','k'),hold on
title('(c)插值后信号'),xlabel('x2'),ylabel('gx_f')
axis([0,9,-2,4])
for i = 1:8
    line([x2(i),x2(i)],[gx(i),0],'color','k')
end
for b = 1:1/N:8-1/N
    t = 1-b:1:8-b
    gx_f = sinc(t)*gx';
    plot(b,gx_f,'k.'),hold on
    if b == a
        plot(b,gx_f,'kd'),hold on
        line([a,a],[gx_f,0],'linestyle','--')
    end
end
grid on 
sgtitle('图2.14 使用Sinc函数插值的图')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/789680.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一章 函数的连续与间断与 无穷小量

文章目录 前言一、连续二、间断考点 识别间断点解题思路 三、无穷小量无穷小量的加减运算与比较无穷小的题型与解答 四、曲线的渐近线1、概念2、分类3、例题 前言 一、连续 二、间断 考点 识别间断点 解题思路 三、无穷小量 无穷小量的加减运算与比较 无穷小的题型与解答 四、曲…

高效协作处理缓存清理需求:生产者-消费者模式助力多模块缓存管理

在现代应用系统中,缓存是提高性能和减少数据库负载的重要手段之一。然而,缓存的数据在某些情况下可能会过期或者变得无效,因此需要及时进行清理。在复杂的应用系统中,可能有多个系统、多个模块产生缓存清理需求,而这些…

从实践彻底掌握MySQL的主从复制

目录 一、本次所用结构如图---一主多从级联: 二、IP。 三、配置M1: 四、从库M1S1: 五、从库M2配置: 六、 从库M2S1: 一、本次所用结构如图--- 一主多从级联: 二、IP。这里M1S1和M1S2一样的&#xff0…

怎么学习Java框架和库相关知识? - 易智编译EaseEditing

学习Java框架和库相关知识可以遵循以下步骤: 确定学习方向: Java拥有众多的框架和库,例如Spring、Hibernate、JavaFX、Apache Commons等。首先确定你感兴趣的方向和应用场景,然后选择相应的框架和库进行学习。 官方文档和教程&a…

Linux 学习记录56(ARM篇)

Linux 学习记录56(ARM篇) 本文目录 Linux 学习记录56(ARM篇)一、总线概念1. 总线2. 串行总线3. 并行总线4. 单工/半双工/全双工5. 同步6. 异步 二、串口(UART)1. 串口配置信息2. 串口通信协议(异步串行全双工总线)3. 框图分析4. 使能串口5. GPIO的复用模式6. RCC时钟7. UART寄存…

python的闭包

一、介绍 Python 中的闭包(Closure)是指一个函数对象(称为内部函数)捕获并引用了其所在函数(称为外部函数)中的变量,即使外部函数已经执行完毕,内部函数仍然可以访问和操作外部函数…

当配置Windows系统下的docker配置了阿里云镜像后下载依然很慢时多配几个镜像可以改善问题

前情介绍:在以前的docker版本中只需配阿里云的镜像下载就很快了,但是下载了新版本docker in Windows后,置Windows系统下的docker配置了阿里云镜像后下载依然很慢时,之后多配几个镜像可以改善问题。 问题现象: 1、下载慢…

uniapp h5 竖向的swiper内嵌视频实现抖音短视频垂直切换,丝滑切换视频效果,无限数据加载不卡顿

一、项目背景:实现仿抖音短视频全屏视频播放、点赞、评论、上下切换视频、视频播放暂停、分页加载、上拉加载下一页、下拉加载上一页等功能。。。 二、前言:博主一开始一直想实现类似抖音进入页面自动播放当前视频,上下滑动切换之后播放当前…

移远通信推出新一代高算力智能模组SG885G-WF,为工业和消费级IoT应用带来全新性能标杆

2023年7月24日,全球领先的物联网整体解决方案供应商移远通信宣布,正式推出其新一代旗舰级安卓智能模组SG885G-WF。该智能模组具有高达48 TOPS 的AI综合算力、强大性能及丰富的多媒体功能,非常适用于需要高处理能力和多媒体功能的工业和消费者…

T113-S3-RTL8822CU模块驱动移植

目录 前言 一、驱动源码获取 二、源码编译 三、驱动模块加载测试 前言 在嵌入式系统开发中,移植外部硬件设备的驱动是一个常见的任务。本文将分享如何在全志平台上成功移植RTL8822CU无线模块的驱动,以实现无线网络功能。 提示:以下是本篇文…

(四)RabbitMQ高级特性(消费端限流、利用限流实现不公平分发、消息存活时间、优先级队列

Lison <dreamlison163.com>, v1.0.0, 2023.06.23 RabbitMQ高级特性&#xff08;消费端限流、利用限流实现不公平分发、消息存活时间、优先级队列 文章目录 RabbitMQ高级特性&#xff08;消费端限流、利用限流实现不公平分发、消息存活时间、优先级队列消费端限流利用限流…

(一)认识InfluxDB

以下内容来自 尚硅谷&#xff0c;写这一系列的文章&#xff0c;主要是为了方便后续自己的查看&#xff0c;不用带着个PDF找来找去的&#xff0c;太麻烦&#xff01; 第 1 章 认识InfluxDB 1.1 InfluxDB的使用场景 InfluxDB是一种时序数据库&#xff0c;时序数据库通常被用在监…

MySQL笔记——表的修改查询相关的命令操作

系列文章目录 MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库&#xff0c;对MySQL数据库的简单操作&#xff0c;MySQL的外接应用程序使用说明 文章目录 系列文章目录 一 表的修改操作 1.1 修改表的名字 1.2 添加一列score 1.3 修改列名称 1.4 修改新增列的…

containerd

Containerd是一个开源的容器运行时&#xff08;Container Runtime&#xff09;&#xff0c;它是Kubernetes和Docker等容器平台的基础组件之一。它旨在提供容器的生命周期管理和基本的运行时功能&#xff0c;使得容器的创建、启动、停止、删除等操作变得简单且高效。 Container…

Apipost使用教程

Apipost是一款集API调试、生成文档、Mock、测试于一体的协同工具。单个工具可以同时满足接口测试、生成/分享文档、Mock、流程测试等功能&#xff0c;还有超实用的多人多角色间实时协作的功能。将前端、后端、测试三种角色串联起来&#xff0c;从而实现工作流程无缝衔接、提高研…

C#中简单Winform程序编译(待验证)

1、文件架构 2、MainWindow.xaml <Window x:Class"WpfApp1.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.…

vue中的异步请求Axios(个人学习笔记五)

目录 友情提醒第一章、传统的jQuery方式获取数据1.1&#xff09;后端controller层代码1.2&#xff09;传统的jQuery获取数据1.3&#xff09;使用vue对象和jQuery获取异步数据 第二章、使用Axios获取数据2.1&#xff09;axios简介2.2&#xff09;axios两种使用方式2.3&#xff0…

WEB:easyphp

背景知识 php弱类型比较 MD5碰撞 题目 进行代码审计 <?php highlight_file(__FILE__); $key1 0;//值赋值 $key2 0;$a $_GET[a];//get方法获取值 $b $_GET[b];if(isset($a) && intval($a) > 6000000 && strlen($a) < 3){ //a的值需要大于 60000…

Seaborn中怎样绘制双变量分布图?

两个变量的二元分布可视化也很有用。在 Seaborn中最简单的方法是使用 jointplot()函数&#xff0c;该函数可以创建一个多面板图形&#xff0c;比如散点图、二维直方图、核密度估计等&#xff0c;以显示两个变量之间的双变量关系及每个变量在单坐标轴上的单变量分布。 jointplo…

Linux--Block group

Block Group&#xff1a;ext2文件系统会根据分区的大小划分为数个Block Group。而每个Block Group都有着相 同的结构组成。政府管理各区的例子 超级块&#xff08;Super Block&#xff09;&#xff1a;存放文件系统本身的结构信息。记录的信息主要有&#xff1a;bolck 和 inod…