点频信号时频仿真
线性调频信号时频仿真
非线性调频信号时频仿真
相位编码信号时频仿真
clear all
close all
clc%% 初始参数设置
fs=600e6;%采样率600MHz
fc=20e6;%中心频率20MHz
t=1e-6;%脉宽1us
B=20e6;%线性调频信号带宽10MHz%% 刻度
tt=0:1/fs:t-1/fs;%时间刻度
ff=0:1/t:fs-1/t;%频率刻度%% 点频信号
y1=cos(2*pi*fc.*tt);
y1_fft=fft(y1);
figure
subplot(2,1,1)
plot(tt.*1e6,y1./max(abs(y1)),'k');
xlabel('时域(us)')
ylabel('归一化幅度')
title('点频信号时域')
subplot(2,1,2)
plot((ff-fs/2)./1e6,fftshift(abs(y1_fft)./max(abs(y1_fft))),'k');
xlabel('频域(MHz)')
ylabel('归一化幅度')
title('点频信号频域')%% 线性调频信号
u=B/(2*t);%% 调频斜率
y2=cos(2*pi*((fc-B/2).*tt+u*tt.^2));
y2_fft=fft(y2);
figure
subplot(2,1,1)
plot(tt.*1e6,y2./max(abs(y2)),'k');
xlabel('时域(us)')
ylabel('归一化幅度')
title('线性调频信号时域')
subplot(2,1,2)
plot((ff-fs/2)./1e6,fftshift(abs(y2_fft)./max(abs(y2_fft))),'k');
xlabel('频域(MHz)')
ylabel('归一化幅度')
title('线性调频信号频域')%% 非线性调频(逗留相位法)
int_num = 8;%插值数
N = t*fs;
t1 = tt-t/2;
f1= ff-fs/2;
ts=1/fs;
% 计算窗函数
wa = hamming(N);
wa_interp = interp(wa,int_num);
f1_interp = interp(f1,int_num);
t1_interp = interp(t1,int_num);% 计算群延时函数 Tg(f)
K = t/sum(wa_interp);
for i = 1:length(wa_interp)
Tg(i) = K*sum(wa_interp(1:i))-t/2;
end
interp_coe = 4;
t2_interp = interp(t1_interp,interp_coe);
%计算调频函数f(t)
fq1 = interp1(Tg,f1_interp,t2_interp);
fq = fq1(2:interp_coe:end);
% 计算相位
for i = 1:length(fq)
phase_w(i) = 2*pi*sum(fq(1:i))*ts/int_num;
end% 调制信号
y3 = exp(1i*phase_w(1:end));
y3_fft=fft(y3);
Num_y3 = length(y3);figure
subplot(2,1,1);
plot(t1_interp.*1e6,real(y3),'k');
xlabel('时域(us)')
ylabel('归一化幅度')
title('非线性调频信号时域')fbin2 = int_num*fs/Num_y3;
ff = 0:fbin2:fs*int_num-fbin2;subplot(2,1,2);
plot((ff-fs*int_num/2)./1e6,fftshift(abs(y3_fft)./max(abs(y3_fft))),'k');
xlabel('频域(MHz)')
ylabel('归一化幅度')
title('非线性调频信号频域')%% 相位编码信号
tau=0.1e-6;
Q=[0,1,1,0,0,1,1,1,0,1];%编码序列
Q_len=length(Q);
ttl=0:1/fs:tau-1/fs;
y4=[];
for k=1:Q_len;
y0=cos(2*pi*fc.*ttl+Q(k)*pi);%相位调制后的信号
y4=[y4,y0];
end
y4_fft=fft(y4);
tts=0:1/fs:tau*Q_len-1/fs;
ffs=0:1/(tau*Q_len):fs-1/(tau*Q_len);
figure
subplot(2,1,1)
plot(tt.*1e6,y4./max(abs(y4)),'k');
xlabel('时域(us)')
ylabel('归一化幅度')
title('相位编码信号时域')
subplot(2,1,2)
plot((ffs-fs/2)./1e6,fftshift(abs(y4_fft)./max(abs(y4_fft))),'k');
xlabel('频域(MHz)')
ylabel('归一化幅度')
title('相位编码信号频域')