Matlab验证DFT频域循环移位性质时出现的异常现象

     按照DFT的频域循环移位定理:

DFT[x(n)]=X(k), 0\leq n\leq N-1

DFT[x(n)e^{-\frac{j2\pi }{N}nl}]=X((k+l))_{N}R_{N}(k).

简言之:如果时域序列x(n)乘以幂e^{-j\frac{2\pi nl}{N}}之后再进行DFT,产生的频谱可由x(n)的频谱X(k)向左移l位得到。

   我的时域序列是exp(-j2\pi \cdot 5\times 10^{12}\cdot t^{2}),理论上讲以下方程是成立的

exp(-j2\pi \cdot 5\times 10^{12}\cdot t^{2})exp(j2\pi f_{b}t)=exp[j2\pi(f_{b}t-5\times 10^{12}\cdot t^{2} ]).                       (1)

方程左右的频谱也应该是相同的,都应该是exp(-j2\pi \cdot 5\times 10^{12}\cdot t^{2})的频谱向右循环移动Nf_{b}/F_{s}位(这里是2位)。幅度谱没有问题,问题出在相位谱上。exp(-j2\pi \cdot 5\times 10^{12}\cdot t^{2})的相位谱如图1所示;图2是按定理循环移位所得,也是(1)式左侧表达式DFT得到的相位谱;图3式(1)式右侧表达式DFT得到的相位谱。

  

 图1exp(-j2\pi \cdot 5\times 10^{12}\cdot t^{2})的相位谱;图2 按循环移位定理及(1)式左侧得到;图3 按式(1)右侧做fft得到的相位谱

仔细观察发现,图2的确就是图1向右循环移动2位得到的相位谱,但图3不是,虽然理论上应该是。

    以下是exp[j2\pi(f_{b}t-5\times 10^{12}\cdot t^{2} ])的DFT变换结果:

0.00000000000000 + 9.02033068770107e-15i 

-3.88600963453778e-15 - 1.00669067771629e-14i

0.500000000000008 - 0.500000000000002i

3.49589172382626e-15 + 7.12713547857271e-15i

0.00000000000000 + 7.50250909636901e-16i

-3.49589172382626e-15 + 7.12713547857271e-15i

0.499999999999992 + 0.499999999999998i

3.88600963453778e-15 - 1.00669067771629e-14i

以下是exp(-j2\pi \cdot 5\times 10^{12}\cdot t^{2})exp(j2\pi f_{b}t)的DFT变换结果:

0.00000000000000 + 1.30448891519673e-14i

-8.60734618960848e-15 - 6.96770739151075e-15i

0.500000000000006 - 0.500000000000006i

4.88078180419393e-15 + 6.02633753724580e-15i

0.00000000000000 + 1.05556224140882e-15i

-4.88078180419393e-15 + 6.02633753724580e-15i

0.499999999999994 + 0.499999999999994i 

8.60734618960848e-15 - 6.96770739151075e-15i

以第2条频谱线值为例,一个是

-3.88600963453778e-15 - 1.00669067771629e-14i,

一个是

-8.60734618960848e-15 - 6.96770739151075e-15i,

虽然都可以近似成 -0.0000 - 0.0000i,幅值为0,幅角也为0。但计算过程的不同导致了计算幅角所需的 虚部/实部差别是明显的:一个是-111°,另一个是-141°。所以,相频特性会不同。

    通过利用频域的循环移位定理,我可以验证出在m文件的代码中写成 

exp(-1j*2*pi*5e12*t.^2) .* exp(1j*2*pi*fb*t)

能得到理想的运算结果。而写成

exp(1j*2*pi*(fb*t - 5e12*t.^2))

则会出现意想不到的结果。尽管从理论上来看,二者是相等的,如上式(1)所示。 

    我不知道matlab在计算的时候是如何进行舍入的,就这个案例来看,似乎是:

程序表达式越接近理论表达式,计算结果越理想。

另外,就是在跟相位打交道的问题中,即使是很小的数值也不可忽视,因为相位跟虚部实部比值有关,即使是无穷小量的比值也可能对应一个可观的角度。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值