news 2026/4/15 16:20:54

matlab傅里叶变换FFT,自编的fft对不足位进行补0, 频谱图和相位图去下,已对幅值进行修正

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
matlab傅里叶变换FFT,自编的fft对不足位进行补0, 频谱图和相位图去下,已对幅值进行修正

matlab傅里叶变换FFT,自编的fft对不足位进行补0, 频谱图和相位图去下,已对幅值进行修正。

傅里叶变换这玩意儿,搞信号处理的肯定绕不开。Matlab里自带的fft函数用起来挺方便,但有些细节不自己折腾一遍还真容易踩坑。今天咱们聊聊怎么手动给信号补零、画频谱相位图,还有幅值修正那点事儿。

先来个简单的例子:假设咱有个混了50Hz和120Hz的正弦信号,采样率1000Hz,取1秒的数据。但故意只采0.7秒,制造个非整周期采样:

Fs = 1000; % 采样率 T = 1/Fs; % 采样间隔 L = 700; % 原信号长度 t = (0:L-1)*T; % 时间轴 x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); % 合成信号

直接做FFT的话,700点不够爽利。咱手动补零到2048点:

N = 2048; % 目标长度 x_padded = [x, zeros(1, N-L)]; % 尾部补零

这操作相当于给信号"注水",虽然没增加真实信息,但能让频谱图看起来更顺滑。接着上FFT:

Y = fft(x_padded); P2 = abs(Y/N); % 双边谱 P1 = P2(1:N/2+1); % 单边谱 P1(2:end-1) = 2*P1(2:end-1); % 幅值修正 f = Fs*(0:(N/2))/N; % 频率轴

这里有个关键点:幅值得除以总点数N,再对除直流分量外的频率×2。因为能量被分摊到正负频率了,不修正的话幅值会差一半。

画个频谱图看看效果:

figure plot(f, P1) title('单边幅度谱') xlabel('频率 (Hz)') ylabel('|P1(f)|') xlim([0 200])

这时候能看到50Hz和120Hz的峰,但因为原信号长度不足,频谱泄露明显,峰周围会有"拖尾"。补零虽然让频率轴更细密,但泄露问题依然存在,这就是非整周期采样的代价。

相位图也别落下:

phase = angle(Y(1:N/2+1)); % 取前半段相位 phase = unwrap(phase); % 解除相位缠绕 figure plot(f, phase*180/pi) title('相位谱') xlabel('Hz') ylabel('角度 (°)')

这里用了unwrap函数把跳变的相位展开,不然直接画出来的图像被限制在[-π, π]之间,全是锯齿状的跳变。

最后说个实用技巧:如果想快速验证补零效果,可以对比原信号和补零信号的频谱差异:

% 原始信号FFT Y_orig = fft(x); P2_orig = abs(Y_orig/L); P1_orig = P2_orig(1:L/2+1); P1_orig(2:end-1) = 2*P1_orig(2:end-1); f_orig = Fs*(0:(L/2))/L; % 同坐标系叠加显示 figure plot(f_orig, P1_orig, 'r--') hold on plot(f, P1, 'b') legend('原始FFT','补零FFT') xlim([40 130])

会发现补零后的频谱曲线更光滑,但频率分辨率其实没变——尖峰宽度由采样时长决定,补零只是插值让曲线更美观而已。这就像给低像素图片做插值放大,细节并不会真的增加,但看起来没那么锯齿了。

玩FFT就像玩摄影,参数调节就是调光圈快门。补零相当于后期加柔光滤镜,能让结果更顺眼,但千万别指望它能解决采样不规范的硬伤。真遇到频谱泄露严重时,还是老老实实用窗函数更靠谱。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 11:03:11

重构工作流:平台型产品经理如何用 AI 极速生成设计与原型?

🚀 引言:从“画图匠”到“逻辑架构师” 作为一名平台型产品经理(Platform PM),我们的核心价值往往在于底层逻辑梳理、数据结构定义、API 规范以及后台管理系统的复杂交互,而非单纯的 C 端视觉特效。 传统的…

作者头像 李华
网站建设 2026/4/16 11:09:50

AI智能实体侦测服务核心优势解析|高精度+高亮显示

AI智能实体侦测服务核心优势解析|高精度高亮显示 1. 背景与需求:非结构化文本中的信息抽取挑战 在当今信息爆炸的时代,大量关键数据以非结构化文本的形式存在——新闻报道、社交媒体内容、企业文档、客服对话等。这些文本中蕴含着丰富的人名…

作者头像 李华
网站建设 2026/4/16 10:39:09

单相逆变器的效率仿真

核心效率模型与损耗分析 逆变器总效率 η P_out / P_in 100%,其中损耗主要包括: 开关损耗:与开关频率、器件特性相关导通损耗:与器件通态电阻、电流有效值相关死区损耗:由上下管互补导通间的死区时间引起滤波电感损耗…

作者头像 李华
网站建设 2026/4/16 12:58:34

10分钟部署AI分类器:云端镜像免调试,成本直降90%

10分钟部署AI分类器:云端镜像免调试,成本直降90% 引言:实验室的紧急分类任务怎么破? 当你正在实验室赶论文,突然接到导师临时安排的5000张植物叶片图像分类任务,而学校GPU服务器排队需要2周,预…

作者头像 李华
网站建设 2026/4/16 12:44:55

零代码玩转AI分类:预训练模型开箱即用

零代码玩转AI分类:预训练模型开箱即用 引言 想象一下,你每天收到数百条用户反馈,需要手动分类整理:哪些是产品建议?哪些是投诉?哪些是使用问题?传统方式不仅耗时耗力,还容易出错。…

作者头像 李华