Matlab信号处理:FFT频谱分辨率详解
创作时间:
作者:
@小白创作中心
Matlab信号处理:FFT频谱分辨率详解
引用
CSDN
1.
https://blog.csdn.net/qq_38967414/article/details/133071302
在信号处理领域,FFT(快速傅里叶变换)是分析信号频谱特性的常用工具。本文将通过具体示例,介绍FFT频谱分辨率的概念及其影响因素,帮助读者理解如何通过调整采样参数来优化频谱分析效果。
频谱分辨率
频谱分辨率是衡量FFT分析中能够区分的最小频率间隔的能力。其计算公式为:
$$
\text{频谱分辨率} = \frac{f_s}{N}
$$
其中:
- (f_s) 为采样频率
- (N) 为采样点数
为了更好地理解频谱分辨率的影响,我们通过两个示例进行说明。假设我们有三个正弦信号,频率分别为 (f_1 = 1\text{Hz}),(f_2 = 10\text{Hz}),(f_3 = 40\text{Hz})。
示例1:采样时长1秒
当采样频率 (f_s = 1000\text{Hz}),采样时长为1秒时,采样点数为1000,采样间隔为0.001秒。代入公式计算得到频谱分辨率为1Hz。
下面是相应的Matlab代码实现:
fs = 1000;
t = 0:1/fs:1-1/fs; % 采样时长1s,采样间隔0.001s,采样点数1000
f1 = 1; f2 = 10; f3 = 40;
y = sin(2*pi*f1*t) + sin(2*pi*f2*t) + sin(2*pi*f3*t);
y_fft = fft(y);
len = length(y_fft);
P1 = abs(y_fft/len);
P2 = P1(1:len/2+1);
P2(2:end-1) = 2*P2(2:end-1);
f = fs*(0:len/2)/len;
stem(f,P2);
从FFT频域图可以看出,1Hz、10Hz和40Hz的信号都能够被清晰分辨。
示例2:采样时长0.05秒
当采样时长缩短为0.05秒时,采样点数变为50。此时,频谱分辨率为20Hz。
下面是相应的Matlab代码实现:
fs = 1000;
t = 0:1/fs:0.05-1/fs; % 采样时长0.05s,采样间隔0.001s,采样点数50
f1 = 1; f2 = 10; f3 = 40;
y = sin(2*pi*f1*t) + sin(2*pi*f2*t) + sin(2*pi*f3*t);
y_fft = fft(y);
len = length(y_fft);
P1 = abs(y_fft/len);
P2 = P1(1:len/2+1);
P2(2:end-1) = 2*P2(2:end-1);
f = fs*(0:len/2)/len;
stem(f,P2);
从FFT频域图可以看出,此时1Hz和10Hz的信号都无法被分辨,且出现了频谱泄露现象。这是因为对非周期信号进行截取时,总会引起频谱泄露。只有当截取的信号段为原信号周期的整数倍时,才不会产生频谱泄露。
热门推荐
猎头行业的发展前景怎么样?
滚仓是什么意思?3分钟了解股市滚动操作技巧
从新手到高手:PPT制作技巧全攻略
TES战败启示录:协作与策略的双重缺失
多领域推进 全方位守护——以"教联体"模式建设健康学校的探索与实践
如何分析股票股东结构?这种分析对投资决策有何帮助?
九九乘法表是哪个朝代发明的?了解九九乘法表的历史
汽车链:从聚链成群到网状生态
华大基因科普:什么是基因测序技术
野猪又肇事!陕西一地野猪进村造成2人受伤
中式合院设计精髓,思路与布局的全方位讲解
代码筑梦路:程序员职业生涯的十年蓝图与进阶指南
心力衰竭与心肌梗死有哪些不同?专家揭秘这4点,让你早发现,早治疗
诗词中的宁夏——文昌阁
植物精油防控瓜菜土传病害机制及在生产中应用
连花清瘟胶囊与布洛芬能一起吃吗
属虎的和属鸡的合不合?性格相似如何相处
职场人的 4 大“健康危机”,你中了几个?
解密5种汽车悬架系统:轻松一图看懂
四大才子是谁
上海交响乐团建团145周年 续写乐团与城市的故事
美国投资银行:全球金融巨头的崛起与发展
如何办理离职手续?未签合同能否申请劳动仲裁?
在您的花园中维护健康的蓝莓树的完整指南
爱吃蛋挞要收藏,蛋挞皮和馅在家也能做,成品蛋挞酥香嫩滑!
乳胶漆环保性能与选购指南
夏姓起源与发展:大禹治水至现代的家族文化
运放的工作原理、参数意义、应用电路场景,以及如何选型
婚姻幸福的秘诀:不是忍,也不是作,而是这些方面
不动产权证办不下来的原因及解决方法