matlab产生单音信号的时域、频域图

clc;
close all;
clear all;
 
fs = 100e3; % 采样频率
fc1=10e3;
fc2=20e3;
L = 2048;    % 显示点数
t = 0:1/fs:(L-1)/fs; %采样点
% 测试信号
y = cos(2*pi*fc1*t)+cos(2*pi*fc2*t)+0.1*randn(size(t));
fy = fft(y,L);
% 作图1
freq=linspace(0,fs,L);
figure(1)
subplot(2,1,1);
plot(t,y);grid on;
xlabel('时间(s)');ylabel('振幅'); title('信号时域图');
subplot(2,1,2);
plot(freq,fy);grid on;    % 这种方式会显示镜像频率
xlabel('频率(Hz)');ylabel('幅度'); title('信号频域图');
% 作图2 只显示正半轴频谱
freq1=linspace(0,fs/2,L/2);
fy=20*log(abs(fy))/log(10);
fy = fy(1:length(freq1)); 
figure(2)
plot(freq1,fy); grid on;% 图中的峰 单位Hz
xlabel('频率(Hz)');ylabel('功率(dbw)'); title('信号频谱图');

当fs=100khz时如下2图
matlab产生单音信号的时域、频域图_第1张图片matlab产生单音信号的时域、频域图_第2张图片当fs=102.4khz时,如下2图
matlab产生单音信号的时域、频域图_第3张图片
matlab产生单音信号的时域、频域图_第4张图片

你可能感兴趣的:(matlab,开发语言,算法)