【问题标题】:Implementing the Z-transform definition of the NDFT algorithm in Matlab在 Matlab 中实现 NDFT 算法的 Z 变换定义
【发布时间】:2015-06-17 16:22:50
【问题描述】:

我想在 MatLab 中实现以下 z 变换方程来计算一维非均匀离散傅里叶变换 (NDFT):

来源:https://books.google.com.au/books?id=givsYJZyf0gC&pg=PA326&lpg=PA326&dq=the+nonuniform+discrete+fourier+transform+and+its+applications+in+signal+processing&source=bl&ots=AJcDJ0xP0v&sig=fP15yTf-yzWSNlkC20F7K4GuCmY&hl=en&sa=X&ved=0CE8Q6AEwCWoVChMI1IyO4eWVxgIVz3m8Ch2vvgBl#v=onepage&q=the%20nonuniform%20discrete%20fourier%20transform%20and%20its%20applications%20in%20signal%20processing&f=false

X(z) 是 x[n] 的 z 变换,其中 x[n] 是水平一维向量,其中包含我的不均匀间隔样本。

z 变换定义为从 n= 0 到 n = 无穷大的总和。

这个定义是从 n = 0 到 n = N-1。

我试过实现ztrans,但这不是n = 0 to n = infinity的定义吗?

谁能指出我在 Matlab 中实现这个的正确方向?

【问题讨论】:

    标签: matlab frequency-analysis


    【解决方案1】:

    使用您提供的定义,这是确保您正确执行矩阵代数的问题。

    function X = NDFT(x, z)
        [n, Z] = meshgrid(0:length(x)-1, z);
        D = Z.^n;
        X = D*x;
    end
    

    【讨论】:

    • 有道理,但我如何考虑 D 是具有不同索引的 Z 变换矩阵?我需要在某处添加命令 ztrans 吗?
    • 如果z是一个标量D是一个向量,如果z是一个向量D是一个矩阵。
    • 我知道 - 我在问 z 变换 - z 是 z 变换 - 我如何在 matlab 中考虑到这一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 1970-01-01
    • 2015-09-23
    • 2017-09-23
    • 2012-01-31
    相关资源
    最近更新 更多