Python实现《合成孔径雷达成像——算法与实现》图3.2

用Python实现《合成孔径雷达成像——算法与实现》图3.2
在这里插入图片描述

import matplotlib.pyplot as plt
import numpy as np
import math
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False    #用来正常显示负号
#信号持续时间T=7.24us,信号带宽B=5.8MHz,将过采样率设为5是为了更清晰地观测信号波形
T = 7.24e-6                 # 信号持续时间
#B = 5.8e6                   # 信号带宽
B = 99.43e6;                # 信号带宽
K = B/T                     # 调频率
ratio = 1.25                   # 过采样率
Fs = ratio*B                # 采样频率
dt = 1/Fs                   # 采样间隔
N = math.ceil(T/dt)              # 采样点数
st = np.exp(1j*math.pi*K*np.multiply(t, t))      #生成信号
Sf = np.fft.fftshift(np.fft.fft(np.fft.fftshift(st)))  # FFT
tt = np.linspace(-0.5,0.5,N)
## 画图
plt.figure(1)
plt.subplot(2,2,1)
plt.title('(a)频谱实部')
plt.plot(tt,np.real(Sf))
plt.xlabel('频率(归一化后)')
plt.ylabel('幅度')

plt.subplot(2,2,2)
plt.title('(c)频谱幅度')
plt.plot(tt,np.abs(Sf))
plt.xlabel('频率(归一化后)')
plt.ylabel('弧度')

plt.subplot(2,2,3)
plt.title('(b)频谱虚部')
plt.plot(tt,np.imag(Sf))
plt.xlabel('频率(归一化后)')
plt.ylabel('幅度')

plt.subplot(2,2,4)
plt.title('(d)频谱相位')
plt.plot(tt,np.unwrap(np.angle(Sf)))#一般在计算一个系统相频特性时,就要用到反正切函数提取相位,计算机中反正切函数规定:在一、二象限中的角度为0 ~ π,三、四象限的角度为0 ~ -π
#但实际得到的结果会发生相位跳变,跳变幅度为2π,这就叫做相位的卷绕unwrap的作用就是解卷绕,使相位在π处不发生跳变,从而反映出真实的相位变化
plt.xlabel('频率(归一化后)')
plt.ylabel('相位(弧度)')

plt.show()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值