(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)|')
相关推荐
机器学习之心3 小时前
BKA-Transformer-LSTM多变量时间序列预测Matlab实现
matlab·lstm·transformer·多变量时间序列预测
机器学习之心1 天前
MATLAB基于变权理论和灰色云模型的海岛旅游地生态安全评价
安全·matlab·旅游·灰色云模型
tyatyatya1 天前
对比传统方法和深度学习方法在MATLAB视觉检测中的优缺点
深度学习·matlab·视觉检测
MATLAB代码顾问1 天前
MATLAB实现TCN神经网络数值预测
开发语言·matlab
Evand J1 天前
【MATLAB例程】基于噪声协方差自适应的互补滤波器方法vs标准互补滤波,用于融合加速度计和陀螺仪数据,估计角度
开发语言·matlab
ytttr8731 天前
64QAM信号的数字预失真处理(MATLAB实现)
开发语言·matlab
机器学习之心2 天前
MATLAB遗传算法优化RVFL神经网络回归预测(随机函数链接神经网络)
神经网络·matlab·回归
Dlkoiw2 天前
CSMA(aloha)
matlab·aloha·csma·协议演进过程
机器学习之心2 天前
基于双向时序卷积网络(BiTCN)与支持向量机(SVM)混合模型的时间序列预测代码Matlab源码
网络·支持向量机·matlab
MATLAB代码顾问2 天前
MATLAB实现决策树数值预测
开发语言·决策树·matlab