MATLAB,错误使用plot矢量长度必须相同.请帮忙修改程序?

用matlab造一个带有500ms延迟的波形信号,信号长度2s,其中信号脉宽10ms,带宽8-14kHz的上调频信号,采样率200kHz,信噪比10dbclc;
close all;
clear all;
%%
fs=2e6;
T=1e-2;
t=0:0.001:2;
SNR=10;
f0=8e3;
k=600;
y=exp(1i*(2*pi*f0*2 pi*k*t*2));
pause(0.5);
subplot(211)
plot(t,real(y));
title('lfm信号时域波形');
xlabel('时间');
ylabel('幅度');
subplot(212);
N=200;
Y=fft(y);
f=fs*(0:N/2-1)/N;
plot(f,abs(Y));
title('lfm信号频谱');
xlabel('频率/Hz');
ylabel('幅度');

题主的问题出在f和Y的数据长度不一致。

可以通过修改t和N值,就可以正常出图。即下列两处

T=1e-2;

N=400;  增加

t=linspace(0,2,N/2);%t=0:0.001:2;

。。。

subplot(212);

%N=200;

修改后运行,可以得到如下结果



温馨提示:答案为网友推荐,仅供参考
相似回答