(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)|')
相关推荐
2zcode1 小时前
基于MATLAB的5G物理层文本传输系统仿真与性能分析
开发语言·5g·matlab
feifeigo1231 小时前
基于布谷鸟算法的配电网分布式电源选址定容 MATLAB 实现
开发语言·算法·matlab
rit84324992 小时前
基于MATLAB平台的指纹识别系统实现
开发语言·matlab
机器学习之心4 小时前
多工况车速数据集训练BiLSTM-Attention用于车速预测,输出未来多个时间步车速,MATLAB代码
matlab·attention·bilstm·车速预测
jghhh016 小时前
燃料电池电源 Matlab 仿真方案
开发语言·matlab
wearegogog1237 小时前
用于脑电信号(EEG)分类的 SVM 分类器 Matlab 实现
支持向量机·matlab·分类
zhangfeng11339 小时前
openclaw skills 小龙虾技能 通讯仿真 matlab skill Simulink Agentic Toolkit,通过kimi找到,mcp通讯
开发语言·matlab·openclaw·通讯仿真
chao18984415 小时前
基于 SPEA2 的多目标优化算法 MATLAB 实现
开发语言·算法·matlab
yongui478341 天前
基于 GA 优化的 BP 神经网络算法分析与 MATLAB 实现
神经网络·算法·matlab
rit84324991 天前
基于 MATLAB 的坐标变换程序
开发语言·matlab