figure(2) subplot(2,1,1) plot(t, modulated) title('DSB调幅信号') xlim([0 0.02]) xlabel('时间') ylabel('幅度') subplot(2,1,2) NFFT = 2^nextpow2(length(filtered)); Y = fft(filtered, NFFT)/length(filtered); f = fs*linspace(0,1,NFFT+1);
时间: 2023-06-14 20:05:55 浏览: 56
subplot(2,1,2) 绘制的是对调幅信号进行滤波后的频谱图像。NFFT = 2^nextpow2(length(filtered)) 是为了对滤波后的信号进行FFT变换时使用的变换点数,nextpow2() 函数得到大于等于length(filtered)的最小2的整数次幂。Y = fft(filtered, NFFT)/length(filtered) 是对滤波后的信号进行FFT变换并归一化,得到频域中的能量值。f = fs*linspace(0,1,NFFT+1) 是生成频率向量,长度为NFFT+1,用于绘制频谱图。最后,subplot(2,1,2) 中使用 plot(f(1:NFFT/2),20*log10(abs(Y(1:NFFT/2)))) 绘制信号的单边频谱。其中,f(1:NFFT/2) 取频率向量的前一半,因为后一半是对称的。20*log10(abs(Y(1:NFFT/2))) 是对能量值取对数,并转换为分贝单位,可以更清晰地显示信号频域特征。
相关问题
matlab plot figure同时弹出figure1和figure2
您可以使用 `figure` 函数创建多个图形窗口,并使用 `subplot` 函数将多个子图绘制在同一个窗口中。以下是一个示例代码,可以同时弹出 Figure 1 和 Figure 2:
```matlab
% 创建 Figure 1
figure(1)
% 绘制图形
plot(x1, y1)
title('Figure 1')
% 创建 Figure 2
figure(2)
% 绘制图形
plot(x2, y2)
title('Figure 2')
```
在上面的代码中,`figure(1)` 和 `figure(2)` 分别创建了 Figure 1 和 Figure 2 的图形窗口。接下来,您可以使用适当的数据和绘图函数(例如 `plot`)在各个图形窗口中绘制图形。
请注意,`x1`、`y1`、`x2` 和 `y2` 是根据您的具体需求定义的数据向量,用于绘制图形。您可以根据自己的数据和需求进行相应的修改。
figure(3) subplot(2,1,1) plot(t, modulating) xlim([0 0.02]) title('原始基带信号') xlabel('时间') ylabel('幅度') subplot(2,1,2) plot(t, demodulated) title('解调后信号') xlabel('时间') ylabel('幅度') xlim([0 0.02])
这段代码是用 MATLAB 绘制信号调制和解调的波形图。subplot 函数用于将绘图窗口分成多个区域,其中第一个参数表示总的行数,第二个参数表示总的列数,第三个参数表示当前绘图的区域编号。plot 函数用于绘制图像,第一个参数表示横轴数据,第二个参数表示纵轴数据。xlim 函数用于设置横轴的范围,title 函数用于设置图像的标题,xlabel 和 ylabel 函数用于设置横轴和纵轴的标签。