(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)|')
相关推荐
构建的乐趣2 小时前
Givens rotation matlab实验
matlab·linear algebra
Deep-w8 小时前
【MATLAB】基于 MATLAB/Simulink 的无刷直流电机(BLDC)转速控制模糊 PID 算法
开发语言·算法·matlab
Evand J9 小时前
【MATLAB代码介绍】到达时间(TOA)定位,三维空间,带EKF的轨迹滤波与误差分析
开发语言·matlab
吃好睡好便好12 小时前
用if…elseif…end语句输出成绩等级
开发语言·前端·javascript·数据库·学习·matlab·信息可视化
Deep-w12 小时前
【MATLAB】基于遗传算法的直流电机 PI 控制器参数优化研究
开发语言·算法·matlab
吃好睡好便好1 天前
用if…end…语句计算分段函数
开发语言·人工智能·学习·算法·matlab
Matlab程序猿小助手1 天前
【MATLAB源码-第319期】基于matlab的帝王蝶优化算法(MBO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·算法·matlab
Evand J1 天前
【MATLAB控制例程】(9)多无人机编队协同控制与三维轨迹规划仿真,附下载链接
开发语言·分布式·matlab·无人机·控制
吃好睡好便好1 天前
在Matlab中绘制质点三维运动轨迹图
开发语言·学习·matlab·信息可视化
茗创科技1 天前
脑室周围扩散率(PVeD)专题:一种评估类淋巴系统功能的DTI新方法(附高分文献下载)
深度学习·机器学习·matlab·脑网络