(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)|')
相关推荐
lingchen19067 小时前
MATLAB的数值计算(三)曲线拟合与插值
开发语言·matlab
星马梦缘11 小时前
Matlab机器人工具箱使用5 轨迹规划
matlab·机器人·轨迹规划·空间插值
机器学习之心15 小时前
MATLAB基于GM(灰色模型)与LSTM(长短期记忆网络)的组合预测方法
matlab·lstm
星马梦缘20 小时前
Matlab机器人工具箱7 搬运动画展示
matlab·机器人·仿真·逆解
chao18984420 小时前
基于MATLAB的线性判别分析(LDA)人脸识别实现
开发语言·matlab
机器学习之心1 天前
基于CNN的航空发动机剩余寿命预测 (MATLAB实现)
人工智能·matlab·cnn
战术摸鱼大师1 天前
电机控制(四)-级联PID控制器与参数整定(MATLAB&Simulink)
算法·matlab·运动控制·电机控制
星马梦缘1 天前
Matlab机器人工具箱使用2 DH建模与加载模型
人工智能·matlab·机器人·仿真·dh参数法·改进dh参数法
RickyWasYoung2 天前
【代码】matlab-遗传算法工具箱
开发语言·matlab
星马梦缘2 天前
Matlab机器人工具箱使用1 简单的描述类函数
matlab·矩阵·机器人·位姿·欧拉角·rpy角