(MATLAB)应用实例13-时域信号的频谱分析

采用傅里叶变换来计算存在噪声的适于信号频谱。

假设数据采样频率为1000Hz,一个信号包含两个正弦波,频率50Hz、120Hz,振幅0.7、1,噪声为零平均值的随机噪声,采用FFT方法分析其频谱。

Matlab 复制代码
 clear
 Fs = 1000;                     % 采样频率
 T = 1/Fs;                      % 采样时间
 L = 1000;                      % 信号长度
 t = (0:L-1)*T;                 % 时间向量
 x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); 
 y = x + 2*randn(size(t));      % 加噪声正弦信号

 figure
 plot(Fs*t(1:50),y(1:50))       %绘制添加了随机噪声的信号波
 title('零平均值噪声信号');
 xlabel('time (milliseconds)')

 NFFT = 2^nextpow2(L);          %传递fft的信号长度
 Y = fft(y,NFFT)/L;             %对信号进行快速傅里叶变换,将时域信号转化为频谱
 f = Fs/2*linspace(0,1,NFFT/2); %FFT变换后的频率

 figure
 plot(f,2*abs(Y(1:NFFT/2))) 
 title('y(t)单边振幅频谱')
 xlabel('Frequency (Hz)')
 ylabel('|Y(f)|')
相关推荐
Matlab程序设计与单片机8 分钟前
【变压器故障诊断分类与预测(三比值法)】基于标准GRNN神经网络
matlab·grnn神经网络·变压器故障诊断与分类·三比值法
jllllyuz16 分钟前
实际气体状态方程:Peng-Robinson(P-R)方程计算指南
开发语言·matlab
Gofarlic_OMS22 分钟前
LS-DYNA许可证全局状态及集群计算资源使用可视化监控大屏
运维·开发语言·算法·matlab·自动化
fengfuyao98527 分钟前
基于局部均值分解(LMD)的MATLAB信号分解程序实现
算法·matlab·均值算法
bubiyoushang8882 小时前
基于遗传算法的LQR控制器最优设计算法
开发语言·算法·matlab
hoiii1872 小时前
MATLAB中LSSVM工具包及简单例程详解
开发语言·matlab
fie88894 小时前
基于Matlab实现的指纹识别系统流程
opencv·计算机视觉·matlab
思茂信息17 小时前
基于CST 3D Combined功能的以太网口RE仿真
开发语言·javascript·单片机·嵌入式硬件·matlab·3d
slandarer1 天前
MATLAB | 绘图复刻(二十五)| 环形柱状图+核密度面积图
matlab·科研绘图
孤独的追光者1 天前
MATLAB导出滤波器参数至ADSP中使用
算法·matlab