代码复现如下:
clc
close all
clear all
% LFM信号 实信号 s(t) = cos(2*pi*(f0.*t + 0.5*K*t.^2))
% LFM信号 复信号 s(t) = exp(1i*2*pi*(f0.*t + 0.5*K*t.^2))
%参数设置
T=1;
B=300;
K=B/T;
set(figure,'position',[100,100,900,1000]);
for i=1:5
f0=-150+(i-1)*100;
%原始信号
dt=1/2000;
t1=0:dt:T-dt;
%信号幅度修正
At=t1+2;
At=At/max(At);
j=sqrt(-1);
st=exp(1j*2*pi*(f0.*t1+0.5*K*t1.^2)).*At;
%傅里叶变换
N1=2^20;
df=1/dt;
f1=-df/2:df/N1:df/2-df/N1;
Sf=fft(st,N1);
Sf=fftshift(abs(Sf)/max(abs(Sf)));
%采样信号
Fs=400;
dt1=1/Fs;
t2=0:dt1:T-dt1;
Bt=t2+2;
Bt=Bt/max(Bt);
st1=exp(1j*2*pi*(f0.*t2+0.5*K*t2.^2)).*Bt;
N2=2^20;
f2=-Fs/2:Fs/N2:Fs/2-Fs/N2;
Sf1=fft(st1,N2);
Sf1=fftshift(abs(Sf1)/max(abs(Sf1)));
%绘图
subplot(5,3,[3*(i-1)+1,3*(i-1)+2]);plot(f1,Sf,'b')
xlabel('频率'),ylabel('幅度')
axis([-200 600,0 1])
grid on
subplot(5,3,3*i);plot(f2,Sf1,'b')
xlabel('频率'),ylabel('幅度')
axis([-200 200,0 1])
grid on
end
sgtitle('图2.9 采样引起的频谱平移(复信号)')
1.set(figure,'position',[100,100,900,1000]);
100,100是起始坐标,900,1000是宽和高
2.f0=-150+(i-1)*100;
中心频率为0Hz,每次以100Hz增加,带宽为300Hz,所以-150=0-300/2