python fft 归一化_基本的FFT归一化问题

这篇博客探讨了在MATLAB中对信号进行FFT处理时的归一化问题,尤其是如何将频谱转换为dBm单位。作者通过示例代码展示了如何计算FFT幅度谱,并提出疑问关于FFT幅度在不同索引处的正确归一化方式,特别是奈奎斯特频率的处理。文章还包含了对FFT谱的绘制以及与读者的互动讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在使用Matlab对信号进行FFT处理,并且我陷入了规范化。具体而言,如何将频谱归一化为dBm单位。我知道0.316228是正确的标准化因子,但我的问题与如何正确标准化仓相关。基本的FFT归一化问题

我创建了以下程序来提出我的问题。只需将其剪切并粘贴到Matlab中,它就会自动运行。在线查看问题。

特别是,我很困惑如何正常化垃圾箱。例如,如果FFT的索引为1:end,其中end是偶数,那么当我计算FFT幅度谱时,对于索引2,我应该乘以(2/N):(end/2)?同样,奈奎斯特频率处(位于索引结尾/ 2 + 1)的分区是否被归一化为(1/N)?我知道有很多方法可以根据个人兴趣进行标准化。假设我使用的信号(下面的St)是从ADC捕获的电压。

任何反馈,非常感谢。提前致谢!

%% 1. Create an Example Signal

N = 2^21 ; % N = number of points in time-domain signal (St)

St = 1 + rand(N,1,'single'); % St = example broadband signal (e.g. random noise)

% take FFT

Sf = fft(St, N);

Sf_mag = (2/N)*abs(Sf(1: N/2 + 1));

Sf_dBm = 20*log10(Sf_mag/0.316228); % 0.316338 is peak voltage of 1 mW into 50 Ohms

% Q: Are Sf_mag and Sf_dBm normalized

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值