修改以下代码,plot向量长度不同% 读取输出文件数据 filename = 'D:\output_file.txt'; data = importdata(filename); Tp = 10e-6; B = 10e6; mu = B/Tp; % 采样率和时间轴 Fs = 400e6; Ts = 1/Fs; T_sample =Tp; N_sample = ceil(T_sample/Ts); t = (0:numel(data)-1) * Ts; Sig_ref = exp(1i*pi*mu*(t).^2); N_fft2 = length(data)+N_sample; PC_Sig_jam = fftshift( ifft(fft(data,N_fft2).*(conj(fft(Sig_ref,N_fft2)))) ); % 绘制脉冲压缩后的波形 figure; plot(t, PC_Sig_jam); xlabel('Time (s)'); ylabel('Amplitude'); title('Pulse Compression'); % 显示结果 disp('时域波形:'); disp(data); disp('脉冲压缩后的波形:'); disp(PC_Sig_jamd_data);
时间: 2024-01-13 11:03:11 浏览: 135
matlab_file.rar_HFSS_data txt_hfss-matlab_hfss数据用matlab_matlab—
5星 · 资源好评率100%
可以将原始数据和压缩后的数据都进行插值,使它们的长度相同,然后再进行绘图。
修改后的代码如下:
```matlab
% 读取输出文件数据
filename = 'D:\output_file.txt';
data = importdata(filename);
Tp = 10e-6;
B = 10e6;
mu = B/Tp;
% 采样率和时间轴
Fs = 400e6;
Ts = 1/Fs;
T_sample =Tp;
N_sample = ceil(T_sample/Ts);
t = (0:numel(data)-1) * Ts;
Sig_ref = exp(1i*pi*mu*(t).^2);
N_fft2 = length(data)+N_sample;
PC_Sig_jam = fftshift( ifft(fft(data,N_fft2).*(conj(fft(Sig_ref,N_fft2)))) );
% 插值
x = linspace(t(1), t(end), length(PC_Sig_jam));
y1 = interp1(t, data, x, 'linear');
y2 = interp1(t, PC_Sig_jam, x, 'linear');
% 绘制脉冲压缩后的波形
figure;
plot(x, y2);
xlabel('Time (s)');
ylabel('Amplitude');
title('Pulse Compression');
% 显示结果
disp('时域波形:');
disp(y1);
disp('脉冲压缩后的波形:');
disp(y2);
```
这样就可以避免向量长度不同的问题。
阅读全文