首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从FFT中提取两个余弦函数的相位差

从FFT中提取两个余弦函数的相位差
EN

Stack Overflow用户
提问于 2015-04-18 11:25:10
回答 1查看 223关注 0票数 0

我想从FFT中提取两个余弦函数之间的相位差。余弦函数为: x1(n)=cos(2*pifi_n)和x2(N)=cos(2*pi_fi(N))。根据DFT特性,我们有:

代码语言:javascript
运行
复制
DFT(x1(n))= X1(f);
DFT(x2(n))= exp( (-j*2*pi*m*fi)/N )X1(f)

因此,DFT(x1(n))和DFT(x2(n))之间的相位差等于(-2*pi_m_fi)/N。我的代码如下

代码语言:javascript
运行
复制
 clc
clear all
Fs = 250;                    % Sampling frequency
T = 1/Fs;                     % Sample time
iniPhase=pi/6;
fin=120;
t=0:(1/Fs):2;
xu = cos(2*pi*fin*(t)) ;
xd = cos(2*pi*fin*(t)+iniPhase) ;
NFFT=length(xu);
NFFT=256;

Xu = fftshift(xu);
FFTXu = 2*fft(Xu,NFFT);
SpecXu=2*abs(FFTXu(1:NFFT/2+1));

Xd = fftshift(xd) ;
FFTXd = 2*fft(Xd,NFFT);
SpecXd=2*abs(FFTXd(1:NFFT/2+1));


[tt ind]=max(SpecXd(1:NFFT/2+1));

Phased=(angle( FFTXd));
Phaseu=(angle( FFTXu));
theta=(Phased(ind))-(Phaseu(ind));
EN

回答 1

Stack Overflow用户

发布于 2015-04-19 01:51:58

从傅里叶变换的位移性质出发,给出了x1(n)和x2(n)的光谱。

代码语言:javascript
运行
复制
DFT(x1(n))= X1(f);
DFT(x2(n))= exp( (-j*2*pi*m*fi)/N )X1(f);

那么,很明显,相位因子可以从

代码语言:javascript
运行
复制
DFT(x2)/DFT(x1), 

但不是

代码语言:javascript
运行
复制
angle(DFT(x2) - DFT(x1)).
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29716650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档