公路建设市场信用信息系统网站,自己做电影网站需要的成本,企业网站建设产品设计书,企业门户网站开发任务书matlab fft 快速傅里叶变换 双边谱#xff0c;单边谱#xff0c;相位谱 基于matlab2018b及以上版本实现 对信号做fft#xff0c;然后绘制其双边谱#xff0c;单边谱#xff0c;和对应的相位谱 有详细介绍并附带注释#xff0c;保证可以运行 附带一份数据#xff0c;可以…matlab fft 快速傅里叶变换 双边谱单边谱相位谱 基于matlab2018b及以上版本实现 对信号做fft然后绘制其双边谱单边谱和对应的相位谱 有详细介绍并附带注释保证可以运行 附带一份数据可以查看数据格式来调整你的数据最后使用代码运行。先来个实战案例假设采样频率Fs1000Hz采样时间1秒。构造个含50Hz和120Hz的正弦波信号加个随机噪声更有真实感Fs 1000; % 采样率 T 1/Fs; % 采样间隔 L 1000; % 信号长度 t (0:L-1)*T; % 时间轴 S 0.7*sin(2*pi*50*t) sin(2*pi*120*t); % 原始信号 X S 2*randn(size(t)); % 加噪版本先看原始信号长啥样figure(1) plot(Fs*t(1:100),X(1:100)) % 显示前0.1秒 title(原始信号含噪声) xlabel(时间 (ms))双边谱绘制Y fft(X); % 核心就这一句直接调用fft P2 abs(Y/L); % 双边幅度谱计算 P1 P2(1:L/21); % 截取前半段 P1(2:end-1) 2*P1(2:end-1); % 能量守恒修正 f Fs*(0:(L/2))/L; % 频率轴生成 figure(2) plot(f,P1) title(单边幅频特性) xlabel(频率 (Hz)) ylabel(幅度)看到这可能有疑问为啥要截一半还乘2因为FFT结果是对称的负频率部分其实是正频率的镜像。实际工程中更常用单边谱直接把能量集中到正频率部分。相位谱的坑要注意phase angle(Y(1:L/21)); % 取相位角 phase_unwrap unwrap(phase); % 解除相位缠绕 figure(3) subplot(2,1,1) plot(f,phase*180/pi) title(原始相位谱) subplot(2,1,2) plot(f,phase_unwrap*180/pi) title(解缠绕相位谱)这里用unwrap函数解决相位跳变问题实测发现当信号存在噪声时相位谱在非信号频率点会出现随机波动这是正常现象。matlab fft 快速傅里叶变换 双边谱单边谱相位谱 基于matlab2018b及以上版本实现 对信号做fft然后绘制其双边谱单边谱和对应的相位谱 有详细介绍并附带注释保证可以运行 附带一份数据可以查看数据格式来调整你的数据最后使用代码运行。完整代码套餐% 数据生成部分 Fs 1000; T 1/Fs; L 1000; t (0:L-1)*T; S 0.7*sin(2*pi*50*t) sin(2*pi*120*t); X S 2*randn(size(t)); % FFT计算 Y fft(X); P2 abs(Y/L); P1 P2(1:L/21); P1(2:end-1) 2*P1(2:end-1); f Fs*(0:(L/2))/L; % 绘图全家桶 figure subplot(3,1,1) plot(f,P1) title(单边幅频特性) xlabel(Hz) subplot(3,1,2) plot(f,20*log10(P1)) % 转dB单位更直观 title(对数幅频特性) xlabel(Hz) phase angle(Y(1:L/21)); subplot(3,1,3) plot(f,unwrap(phase)*180/pi) title(解缠绕相位谱(度)) xlabel(Hz) % 补充查看你的数据格式时注意 % 如果是导入外部数据确保数据是列向量 % 可通过X your_data(:,1); 选取所需通道数据适配提示当使用自己的数据时确认数据是单列向量调整Fs为实际采样率数据长度L需要是偶数方便截断噪声过大会淹没信号特征可通过加窗改善跑完代码应该能看到在50Hz和120Hz处有明显的谱峰相位谱在这两个点有明确相位值其他位置是噪声相位随机分布。如果发现频谱泄露严重下次可以聊聊加窗技巧。