本发明处理与标量定值函数、变量、数量、
算法和系统相对的矩 阵定值函数、变量、数量、算法和系统。为了描述这些函数、变量、 数量、算法和系统,在本公开中采用下列符号:
●标量函数和变量用小写字母(比如x,y,a)表示。
●字母k,n,m,r,p,q,K,N,M用来表示整数变量。
●标量的向量用小写粗体字母(比如x,a)表示。
●标量的矩阵用大写粗体Times Roman字体(比如X,A)表示。
●矩阵的矩阵用大写粗体Euclid字体(比如W,H)表示。
●给定大小的单位矩阵用I表示。即:
●具有元素的对
角矩阵
用diagonal{λ1,λ2,…,λn}表示
●全零的矩阵或向量用0表示。
●符号(.)⊥用来表示矩阵或向量的复共轭转置。
●符号j用来表示虚数
●|x|表示向量x的范数。
●(p-m)mod M表示将(p-m)除以M后只保留余数。
为了弄清本发明的值和作用,重要的是要理解涉及标量变量的算 法的 矩阵形式与涉及矩阵变量的 矩阵定值(matrix-valued)算法之间 的差别。例如,考虑两个已知标量{y1,y2}与两个未知标量{x1,x2}之间的 如下关系:
上面的标量定值公式的矩阵形式可以写成:
或
可以看到,所有这些矩阵和向量都是标量定值量。相反,考虑两 个已知矩阵{Y1,Y2}与两个未知矩阵{X1,X2}之间的类似关系:
上面的矩阵定值公式可以缩写成:
或
现在,注意到,公式6中的所有矩阵和向量都是矩阵定值对象。 尽管公式3中的A和B是标量的矩阵,然而公式6中的A和B是矩阵的矩 阵。换言之,公式3的基本数学单位是标量实体,而公式6的基本数学 单位是矩阵实体。矩阵的向量(以下称为超向量)和矩阵的矩阵(以 下称为超矩阵)都可以作为标量的矩阵来处理是正确的。然而,随着 这些向量和矩阵的维数增大到数千,过去好几世纪利用标量
框架所研 究的计算方法和算法都无法收敛,因此将产生不能接受的解。
另一方面,矩阵定值框架尤其便于表示具有数千个矩阵定值输入 和输出的高阶系统。这对求得精确的数解非常有效。再者,矩阵定值 框架也是介绍原始概念以及研究新的分析和设计技术的唯一平台。必 须指出,矩阵定值方法和算法比基于标量的框架的方法和算法更全面。 实际上,虽然矩阵定值方法和算法可以简化为其标量定值方法和算法, 但反过来却不行。也就是说,标量框架的解决方法和算法不能直接轻 易地扩展到矩阵定值问题的领域。例如,在标量域中,除法的概念已 经很成熟。然而,在向量或矩阵域中,却未定义两个向量或两个矩阵 的除法。取而代之,必须采用矩阵求逆(matrix inverse)的概念。源 于标量观点的这几种问题说明了为什么本发明所公开的新概念和解决 方案到目前为止仍难以捉摸的原因。
在
现有技术中,串行信息以标量定值信号的形式进行处理。在这 种系统中,单个的时间变量函数(离散或连续)足以描述数据流的特 定特征怎样随时间变化。分析和解决
信号处理问题的最普及方法是利 用标量定值傅里叶变换的特性。傅里叶变换是频域中表示信号的主要 工具。为了说明标量定值傅里叶变换的意思并强调现有技术的单个变 量性质,考虑离散时间信号的一组N个样本{x(n),n=0,1,2,...,N-1}。现 在,由下列表达式来定义x(n)的常规离散傅里叶变换(DFT)
其中,符号j表示虚数 注意,N个实数据值(时域)变换为N个复 DFT值(频域)。同样,假定一组N个离散
频率样本{f(k), k=0,1,2,...,N-1},那么,由下式给出f(k)的常规离散傅里叶逆变换 (IDFT)
由于有共同的项。因此,通常通过引入如下符号来简化上述定义:
注意,w是标量定值量,实际上它被称为旋转因子。于是,公式 (7)和(8)用旋转因子表示可以写成
和
公式7所定义的DFT样本可以用矩阵-向量形式表示为:
或
f=Fx (13)
其中,x是N个输入样本的向量,f是DFT变换样本的向量,而F 是N×N傅里叶矩阵。同样,IDFT关系式也可以矩阵-向量形式表示为:
x=F-1f (14)
其中,F-1是傅里叶矩阵的逆。DFT在
数字信号处理算法的分析、 合成和实现中所担当的重要任务是本领域技术人员所众所周知的。例 如参见:
[1]V.K.Madisetti和D.B.Williams编写的“The Digital Signal Processing Handbook”,于1998年与IEEE Press共同出版的CRC手册: ISBN 0-8493-8572-5;和
[2]E.C.Ifeachor和B.W.Jervis编写的“Digital Signal Processing, A Practical Approach”,Prentice Hall,2002年第2版:ISBN 0201-59619-9,这些出版物在此作为参考。
如果维的概念被扩展到包括空间,那么一维中的DFT的许多概念 和特性可以扩展到多维信号。例如。为了测量图像的频率内容,可以 利用下式进行二维DFT分析:
通过注意到指数项可以因式分解(factor)成两项,因此可以将 这一公式转换为两个一维DFT的序列。然而,必须强调,即使处理二 维数据,但公式15的变换关系仍然是用其输入x(n1,n2)和输出f(k1,k2)样 本表示的标量定值算法。这一标量定值表达式同样可用于高阶维数(比 如在三维视频处理中)。
DFT概念的另一种概括是非均匀离散傅里叶变换(NDFT)方法。 NDFT可以通过以非均匀分布频率点进行抽样来获得。然而,对于大 量的数据样本,NDFT将导致很糟的计算结果。NDFT的详细情况请参 见:
[3] S.Bagchi & S.K.Mitra,“Non-Uniform Discrete Fourier Transform and its Signal Processing Applications”,Kluwer Academic Publishers,Norwell MA,1998,该出版物在此作为参考。
在现有技术中,众所周知,需要大量的乘和加来计算DFT。例如, 如果N=1024,那么必须要进行约一百万次复乘和一百万次复加。实际 上,利用快速傅里叶变换(FFT)算法来求DFT值,这需要大约 (Nlog2N)/2量级上的乘法。这与强行方法所需的N2次乘法是一个很大的 减少量。FFT算法有各种不同的形式。现有技术的FFT技术的详尽处 理可以参见下列出版物:
[4] E.O.Brigham,“The Fast Fourier Transform and Its Applications”,Prentice Hall,Englewood Cliffs,NJ,1988;和
[5] W.W.Smith & J.M.Smith,“Handbook of Real-Time Fast Fourier Transforms”,IEEE Press,Piscataway,NJ,1995,这些出 版物在此作为参考。
关于所关心的涉及现有技术的标量定值DFT和IDFT方法以及相 关的FFT技术的
专利,请参见:
1971年11月2日授权给W.M.Gentleman的美国专利号3,617,720, 名称为“Fast Fourier Transform Using Hierarchical Store”;
1976年6月22日授权给J.N.Constant的美国专利号3,965,342,名 称为“Digital FFT Processor Using Random Access Memory”;
1991年3月12日授权给D.W.Tufts的美国专利号4,999,799,名称为 “Signal Processing Apparatus for Generating a Fourier Transform”;
2002年3月12日授权给T.Andre的美国专利号6,356,926,名称为 “Device and Method for Calculating FFT”;和
2002年8月6日授权给A.Orling的美国专利号6,430,587,名称为 “Method and Apparatus for FFT Computation”。
上述所有专利在此作为参考。
图1是现有技术FFT实现的图解表示,其中输入列10中有四个数 据值x[0]-x[3],而输出列15中有四个数据值f[0]-f[3]。这种特定的实现 方法称为时间
抽取(decimation-in-time)FFT方法。图2表示称为蝶形 系统的
时间抽取运算的循环组。可以看到,典型的现有技术FFT实现 方式由一系列标量定值蝶形系统构成。在图2所示的例子中,蝶形系统 在输入列20中有两个标量值x[0]和x[1],在输出列25中有两个标量值f[0] 和f[1]。因此,该系统称为基2(radix-2)FFT算法。
标量定值DFT表达式(见公式7)定义了时域输入样本如何与频 域信息相关。长度为N的有限时长信号的N-点标量定值DFT等于信号 在如下频率点上的傅里叶变换:
显然,标量定值DFT在
频谱中只能计算与可用样本点一样多的 点。换言之,离散时间信号的N-点标量定值DFT相当于在N个等距离 频域点上傅里叶变换的均匀抽样。鉴于这一事实,当标量定值DFT达 到该频率间隔时,它将展现严格的结构。因此,需要一种能灵活
指定 频域参数的新DFT/FFT方法。
毫无例外地,现有技术的DFT以及相关FFT技术基于对标量定值 信号和变量进行运算的标量定值变换算法。然而,大多数实际动态系 统(比如通信和控制系统)涉及多输入和多输出(MIMO)。例如, 考虑无线MIMO通信系统中的多发射和多接收天线元。这些系统通过 具有数千维量级的向量和矩阵变量来建立模型。为了分析和合成 MIMO系统,需要一种能对向量和矩阵定值信号、函数和变量进行运 算的矩阵定值DFT/FFT算法。
本发明克服了标量定值DFT/FFT技术的上述难点和限制,并通过 提供矩阵定值框架提供了一种原始的综合性解决方案。这种新的平台 带来了一些矩阵定值时域到频域变换方法和算法,从而得到一类新型 的矩阵定值设备和装置。结合
附图和所作描述,可以看到本发明的其 他目的和优点。
在下列描述中,为了解释,陈述了具体细节,以便详细理解本发 明。然而,必须强调,本发明可以无需这些具体细节进行实施。在某 些实例中,为了不至于难以理解本发明,以功能
框图形式描述了一些 算法和装置。
1矩阵定值离散傅里叶变换方法
本发明的公开从矩阵定值离散傅里叶变换方法(以下用矩阵DFT 表示)开始。首先,考虑离散时间信号的一组N个样本{x(n), n=0,1,2,...,N-1},其中N为预定整数。这组样本可以表示为输入数据的 向量x:
定义下列子向量,每个子向量都有两个元素,
下面,可以按照子向量的M个样本将原始数据
序列表示如下:
其中,M=N/2。如果N可以被整数d除,那么还可以采用一组长度为d 的子向量。例如,如果d=3,那么子向量将是:
一旦整个数据向量表示为子向量的向量,那么,它可以用两种可 能的方式之一解释为表示实际情况:
1.输入数据向量x对应于来自在N个实例收集的单个源/传感 器的样本。
2.输入数据向量x对应于来自在M个实例收集的多个源/传感 器的样本。
结果,输入数据向量的子向量{xm,m=0,1,2,...,M-1}将称为矩阵 DFT方法的向量定值样本或向量点。此外,长度为M的向量定值离散 序列将称为M-向量点序列。
在下文中,除非另有说明,假定向量定值输入数据序列的长度M 为2的幂,即M=2α,其中α为整数。如果情况不是这样,那么,通过利 用零填充过程,可以补充零定值样本来增加数据点的总数,使得M为2 的幂。显然,通过数学归纳,本发明中所公开的算法可以容易地概括 为这样一种情况:数据序列中的向量点数为任意给定整数r的幂;即 M=rα。结果,整数r将称为矩阵DFT方法的基数。
下面,考虑一种输入向量x,其向量点数M为r的幂且M=N/d,其 中d为每个向量点的长度。于是,向量定值样本{xm,m=0,1,2,...,M-1} 的矩阵定值离散傅里叶变换(以下用矩阵DFT表示)表示如下:
其中,实矩阵Φ为d×d维正定对称矩阵。注意,公式21将M个实或复向 量点(时域中)变换为M个复向量定值样本(频域中)。
同样,考虑一组M个频域向量定值样本{fp,p=0,1,2,...,M-1}。于是, 矩阵定值离散傅里叶逆变换(以下用矩阵IDFT表示)为:
上述表达式根据给定的一组频域向量定值样本来确定时域向量 定值序列。公式21的正变换称为“分析”表达式,因为它从向量点{xm, m=0,1,2,...,M-1}中提取了频谱信息;而公式22的逆变换称为“合成” 表达式,因为它从其频谱信息重新构建了时域信号。
因为可以共用下列矩阵指数函数,因此可以简化矩阵DFT和矩阵 IDFT算法:
其中,矩阵W为d×d维复平方矩阵。以下,矩阵W将称为旋转因子矩阵。 于是,公式(21)和(22)可以按旋转因子矩阵写成:
和
可以看到,向量定值序列{fp,p=0,1,2,...,M-1}还可以被认为是按 围绕单位圆的均匀间隔点进行的{xm,m=0,1,2,...,M-1}的矩阵定值z变 换的求值。后面经常要用于矩阵DFT和矩阵IDFT对的简化符号如下:
fp=mDFT(xm) (26)
和
xm=mIDFT(fp) (27)
公式24中的矩阵DFT样本可以用矩阵-向量形式表示为:
其中,符号I表示d×d维单位矩阵。上述公式可以缩写成:
f=Wx (29)
其中,W为矩阵DFT算法的dM×dM傅里叶变换矩阵。注意,W是超矩 阵,也就是说,它是矩阵的矩阵。按同样的方式,矩阵IDFT关系可以 用矩阵-向量形式表示为x=W-1f。
容易看到关于W的几个事实。第一个明显的结果是超矩阵W是对 称的。第二,它具有正交矩阵定值列。因此,W的逆可以从如下所述 的其复共轭转置直接求出。
其中,符号⊥用于表示复共轭转置运算。因此,不需要利用耗时的矩 阵逆算法来确定W的逆。
矩阵DFT的有效性:下面将确立矩阵离散傅里叶变换是有效的; 也就是说,给定M个离散向量点{xm,m=0,1,2,...,M-1},正变换得到M 个离散向量点{fp,p=0,1,2,...,M-1}。如果,在逆变换中替换这M个向量, 那么得到原始M个向量。为了表明矩阵DFT的有效性,首先将分析公 式替换成合成公式。
注意,分析公式中的累加变量m已变为k,以免与合成公式中的m 混淆。下面,颠倒累加次序:
回想一下,旋转因子矩阵是具有正定矩阵定值自变量的指数函 数。下面,通过应用复指数函数的正交特性的离散形式,可以看到:
因此,公式32变成:
从而证明了矩阵DFT的有效性。
矩阵DFT的对角形式:旋转因子矩阵中的指数函数的矩阵定值自 变量Φ是矩阵DFT算法中最重要的元素。由于Φ是正定对称实矩阵, 因此,其特征值全是实数的且是正的,而其
特征向量是线性独立的。 因此,Φ可以用与对角矩阵类似的矩阵进行简化,即使它具有重复的 特征值。简而言之,可以写成Φ=TΛΦT-1,其中ΛΦ是Φ的特征值的对角 矩阵:
相似性变换矩阵T用Φ的特征值来构建。鉴于Φ的这一频谱分解, 矩阵DFT表达式可以写成:
在引入如下两个新的向量变量后,
zm=T-1xm and hp=T-1fp (37)
矩阵DFT呈现其对角形式:
重要的是要注意,Φ的特征值和数据点总数的选择必须协同进 行,以便得到正确的矩阵DFT结果。计算机仿真表明,特征值和数据 点总数的某些组合可能无法得到正确的矩阵DFT结果。为了弄得更清 楚,考虑一种2×2维的情况:
当0≤p≤M-1和0≤m≤M-1时,第一特征值与重复0,1,2,...直至M-1倍 的频率分量有关。另一方面,第二特征值与第一特征值相比将频率优 势值提高为3的因子。因此,第二特征值控制重复0,3,6,...直至3(M-1) 倍的频率分量。可以看到,Φ的特征值表示施加多大的相对权重给向 量样本的每个元素。因此,矩阵Φ可以称为矩阵DFT算法的频率加权 矩阵。
重要的是可以看到,旋转因子矩阵W或其频率加权矩阵Φ的维不 是物理空间维。这里所用的术语“维”是一个抽象数学概念。矩阵DFT 的领域中的空间维的概念将在下面讨论。
空间维和矩阵DFT:基本矩阵DFT方法可以扩展到二维和更高维 的空间变换。考虑一个二维向量定值空间数据序列{xm1,m2,0≤m1<M1, 0≤m2<M2},其中,M1为
水平周期,而M2为垂直周期。在这种情况下, 空间矩阵DFT由下式给出:
其中,Φ1和Φ2为水平和垂直频率加权矩阵。如果Φ1和Φ2是两个可换算 矩阵,那么,还可以利用矩阵和的指数是矩阵指数的积这一特性,进 一步简化二维空间矩阵DFT。在该特例中,二维空间矩阵DFT可以表 示为一系列如下所述的一维空间矩阵DFT:
显然,上述推导可以容易地扩展到涉及更高维向量定值空间数据 序列的多维矩阵DFT。
矩阵DFT的线性:线性意味着,两个向量定值信号的和的矩阵 DFT的输出与两个单独
输入信号的矩阵DFT输出的求和完全相同。这 一特性表示如下:
矩阵DFT的周期性:下面,可以看到,矩阵DFT具有以M为周期 的周期性。如果矩阵DFT的第p个向量点与第(p+M)个向量点相等,则 可以确立这一重要特性。因此,从下式开始:
由于:
因此,公式43变成:
fp+M=fp这一事实表明,矩阵DFT具有以M为周期的周期性。
利用矩阵DFT进行功率计算:如果通过矩阵DFT将向量定值序列 {xm,m=0,1,2,...,M-1}变换为其频率分量,那么可以容易地计算与该向 量定值序列有关的功率。首先,考虑频域向量f与其复共轭转置的乘:
f⊥f=x⊥W⊥Wx=M(x⊥W-1Wx)=M(x⊥x) (46)
或
于是,上述公式表明,矩阵DFT向量点的幅值的和除以M等于向 量定值离散信号的功率。
2矩阵定值快速傅里叶变换方法和处理器
容易看到,需要大量矩阵和向量定值乘和加来计算矩阵DFT。对 于4-向量点矩阵DFT,分析表达式由下式给出:
由于
这可以扩展为:
上述公式右边包括4项。每项包括一个矩阵指数项(始终为复数) 与另一个向量项(可以是实数或复数)的乘。将每个乘积项相加在一 起。因此,要计算四个复矩阵-向量乘和三个复向量加。一般而言, M-向量点矩阵DFT将有M个复矩阵-向量乘和M-1个复向量加。此外, 共有0≤p≤3个谐波分量。因此,4-向量点矩阵DFT需要42=16个复矩阵- 向量乘和4×3=12个复向量加。一般而言,对于M-向量点矩阵DFT,这 些总数分别为M2和M(M-1)。由于矩阵和向量定值计算的量及相应的计 算时间与M2近似成比例,显然,对于大的M值,用强行方法确定矩阵 DFT所需的算术运算量会非常大。为此,减少矩阵-向量乘和加的次数 的计算算法具有很大的实用价值。注意到,根据矩阵DFT算法所需的 矩阵-向量代数学来考虑计算负荷量。然而,回想一下,矩阵DFT中的 每个数据点都是一个长度为d的向量,因此,在评估矩阵DFT的实际负 荷量时必须考虑每个向量点的长度。
由于旋转因子矩阵具有如下特性,因此可以提高矩阵DFT的效 率:
1.对称性特性:Wp(M-m)=(Wpm)⊥
2.周期性特性:Wpm=Wp(M+m)=W(p+M)m
此外,还可利用如下事实:对于整数乘积pm的某些值,矩阵正 弦和余弦函数具有矩阵值I或0,从而不需要进行乘法运算。然而,象 这样的特殊运算仍然不能消除与M2近似成比例的矩阵和向量定值计 算的量。幸好,旋转因子矩阵的特殊特性使得可以大大减小计算负荷, 如下所述。
时间抽取矩阵FFT处理器的描述:本节描述基本的分而克之 (divide-and-conquer)算法,这种算法可以引出矩阵定值时间抽取快 速傅里叶变换处理器(以下用矩阵FFT表示)。这种算法首先出现在 M为2的幂时的情况下。这样的算法将称为基2矩阵算法。在M为3的幂 时的情况下还可以得出类似的算法(即基3矩阵算法)。通过数学归纳, 当M为任意整数的幂时,所公开的算法可以被一般化为处理器。从如 下矩阵DFT分析表达式开始:
首先,注意到这一累加可以划分为两组向量定值输入数据序列 {xm,m=0,1,2,...,M-1}:(1)偶数指数点上的第一求和,和(2)奇数指数点 上的第二求和。这一运算得到:
或
在这点上,运用两个简单的代数处理,就可明显看出矩阵DFT求 和的递归特性。
1.考虑公式52中的两个求和,并使指数(2q)中的因子2与 的分 母中的M相关联。
2.将第二求和中的指数划分成两个指数的积。这一运算将提取 与指数q无关的一个公因子。
在完成这些代数处理后,公式52可以写成:
可以看到,每个累加都是长度为 的矩阵DFT。因此,利用简化 符号,矩阵DFT可以写成:
上述公式从两个(但长度较短)的矩阵DFT重新构建了fp。矩阵 DFT计算中所涉及的递归算法可以归纳如下:组合和计算两个较小的 矩阵DFT,然后将奇数指数向量点的矩阵DFT结果乘以指数矩阵 当采用这种递归结构时,将两个 -向量点矩阵DFT分解成四 个 -向量点矩阵DFT,然后再将四个 -向量点矩阵DFT分解成八个 -向量点矩阵DFT。由于假定M为2的幂,因此,这一分解一直进行 到它最终达到矩阵DFT长度等于2的阶段为止。矩阵定值计算总共将会 有η个阶段,其中η=log2M。当矩阵DFT长度为2时(即2-向量点矩阵 DFT)时,计算负荷简化为如下算法:
f0=x0+x1
f1=x0+e-f(πΦ)x1 (55)
其矩阵DFT算法基于将输入向量序列分解成逐步变小的子序列 的设备将称为时间抽取矩阵FFT处理器。
重要的是要记住这样的事实:矩阵FFT算法不是矩阵DFT的近 似。相反,所有矩阵FFT算法数学上等同于矩阵DFT。换言之,不是 以精确性为代价换取计算上的节省。
矩阵FFT算法完全可以用软件来实现、用硬件来实现或用软硬件 两者来实现。矩阵FFT和矩阵IFFT算法的典型软件实现方式可以采用 本
说明书末尾的附录中介绍的计算机源代码文件形式。如
计算机程序 清单附录中所述,矩阵FFT和矩阵IFFT算法的上述软件实现方式在此 作为参考,它们包括如下文件: 文件名 大小 创建日期 Test_Mat_FFT2 M_FFT2 M_IFFT2 Matrix_Np_FFT2 Matrix_Np_FFT2 526字节 370字节 355字节 1.35千字节 1.45千字节 2004年10月6日 2004年10月6日 2004年10月6日 2004年10月6日 2004年10月6日
表1
这些文件使用MATLAB编程语言来实现矩阵FFT和矩阵IFFT时 间抽取算法。本领域技术人员可以懂得,尽管这种实现方式利用 MATLAB编程语言进行了描述,然而,在不影响实现方式的功能性的 前提下还可以利用其他编程语言。应当理解,这些文件旨在说明矩阵 FFT和矩阵IFFT算法怎样工作。这些文件没有根据速度和编程结构进 行优化。
下列实施方式的用途在于举例说明可以应用本发明的可能形式。
第一举例实施方式:本实施方式描述了在向量定值样本的个数为 2的幂的情况下如何实现有效的时间抽取矩阵FFT处理器。为了进行示 范,将变换的频率加权矩阵选为如下所示的对角矩阵:
考虑到2-向量点矩阵DFT的应用,即M=2。假定,下列向量点定 义了输入数据序列。
在这种情况下,旋转因子矩阵为
因此,2-向量点矩 阵DFT算法变成:
f0=x0+x1
f1=x0-x1 (58)
注意,2-向量点矩阵FFT处理器需要两个向量加。但是,不涉及 向量乘。图3的信号流程图举例说明了用于计算2-向量点时间抽取矩阵 FFT的过程。鉴于流程图的形状,这一过程称为矩阵蝶形计算。在图3 所示的例子中,矩阵蝶形处理器在输入列30中有两个向量点[x0]和[x1], 在输出列35中有两个向量点[f0]和[f1]。
第二举例实施方式:下面描述4-向量点时间抽取矩阵FFT处理器。 假定输入数据向量如下:
显然,可以利用两个2-向量点矩阵FFT来计算4-向量点矩阵DFT。 参照矩阵蝶形处理器,第一阶段产生如下矩阵FFT结果:
g0=x0+x2
g1=x0-x2 (60)
和
h0=x1+x3
h1=x1-x3 (61)
在这种情况下,第二阶段的旋转因子矩阵为:
因此,典型4-向量点矩阵FFT的元素为:
f0=g0+h0
f1=g1+W1h1
f3=g0-h0
f4=g1-W1h1 (63)
再一次看到,该算法需要两个向量加,而不需要向量乘。4-向量 点时间抽取矩阵FFT处理器的信号流程图如图4中所示。在图4所示的 例子中,矩阵FFT处理器在输入列40中有四个向量点[x0]、[x1]、[x2] 和[x3]。中间列45有表示中间向量结果的[g0]、[g1]、[h0]和[h1]。在输 出列50中有四个向量点[f0]、[f1]、[f2]和[f3]。
第三举例实施方式:下面利用下列输入数据向量描述8-向量点时 间抽取矩阵FFT处理器:
可以利用两个4-向量点矩阵FFT的再结合来得到8-向量点矩阵 FFT。参照典型4-向量点矩阵FFT的结果,假定第二阶段输出为 {a0,a1,a2,a3}和{b0,b1,b2,b3}。于是,8-向量点矩阵FFT的第三阶段产生:
f0=a0+W0b0
f1=a1+W1b1
f2=a2+W2b2
f3=a3+W3b3
f4=a0-W0b0
f5=a1-W1b1
f6=a2-W2b2
f7=a3-W3b3 (65)
其中,旋转因子矩阵由下式给出:
W0=I
图5举例说明了8-向量点时间抽取矩阵FFT处理器的信号流程图。 在图5所示的例子中,矩阵FFT处理器在输入列60中有八个向量点 [x0]-[x7]。列65表示第一阶段,它使用四个单独的2-向量点矩阵FFT处 理器。再者,列70表示第二阶段,它使用两个单独的4-向量点矩阵FFT 处理器。最后,第三阶段75产生输出列80中的八个向量点[f0]-[f7]。由 于每个阶段有 个矩阵蝶形,并且总共有η=log2M个阶段,因此,矩 阵定值乘的总数为
第四举例实施方式:本例中,使用不同的频率加权矩阵。此时, 所选频率矩阵具有不同的特征值:
注意,第一举例实施方式的算法结果在此仍可适用。但是,旋转 因子矩阵的定义有所变化。对于2-向量点矩阵FFT,旋转因子矩阵为
类似地,4-向量点矩阵FFT的第二阶段的旋转因子矩阵 为:
在8-向量点矩阵FFT处理器的情况下,旋转因子矩阵为:
W0=I
基3时间抽取矩阵FFT处理器的描述:本节描述在M为3的幂时的 情况下时间抽取矩阵FFT处理器(即基3矩阵算法)。再次考虑标准矩 阵DFT表达式,即:
可以看到,在这种情况下,这一累加可以划分为三组:(1)指数为 {0,3,6,9,12...}的点的组上的第一求和,(2)指数为{1,4,7,10,13...}的点的 组上的第二求和,和(3)指数为{2,5,8,11,14...}的点的组上的第三求和。
这一运算得到:
在按累加形式中,矩阵DFT变为:
下面,执行代数处理,以提取矩阵DFT累加的递归特性。在完成 这些代数处理后,公式72可以写成:
注意,每个累加都是长度为 的矩阵DFT。因此,利用简化符号, 矩阵DFT累加可以写成:
上述公式表明,可以从三个(但长度较短)的矩阵DFT得到频域 信息fp。当采用这种递归结构时,将三个 -向量点矩阵DFT分解成九 个 -向量点矩阵DFT,然后再将九个 -向量点矩阵DFT分解成二十 七个 -向量点矩阵DFT。由于M为3的幂,因此,这一分解一直进行 到它最终达到矩阵DFT长度等于3的阶段为止。因此,需要η个阶段的 矩阵定值计算,其中η=log3M。3-向量点矩阵FFT处理器执行如下算法:
f0=x0+x1+x2
上述这组公式表示3-向量点矩阵蝶形计算。
频率抽取矩阵FFT处理器的描述:这种可以引出频率抽取矩阵 FFT处理器的算法与较早前所公开的时间抽取矩阵FFT处理器的情况 类似。这两种处理器都需要计算同样多的复矩阵乘。为了继续进行频 率抽取矩阵FFT处理器的描述,回想一下标准矩阵DFT公式:
设M为2的幂,此时 为整数。因此,数据序列中由 所分开的 向量样本可被分组为将累加分成两半。
或
上述表达式可以简化,因为 可随0≤p≤M-1取特定矩阵值。这 可以从下式看出:
例如,如果频率加权矩阵由下式给出:
那么,
首先,考虑p为偶数值,设:
并设:
此时,偶数编号的矩阵DFT系数的累加变成:
可以看到,上述表达式的右边为 -向量点矩阵DFT,因为:
并且还因为:新输入数据序列为
简而言之,如果输 入序列由ym确定,那么,对于p为偶数值,可以以因子2减少矩阵DFT 输入。因此,断定 -向量点矩阵DFT可适用于变换ym所确定的输入序 列。
接下来考虑奇数编号的矩阵DFT系数的累加。设:
并引入:
此时,矩阵DFT累加可以写成:
其中,zm=Wmvm。显然,上式右边为新输入数据序列
的 -向量点矩阵DFT。
第五举例实施方式:本实施方式描述了在M=8时频率抽取矩阵 FFT处理器的实现方式。设频率加权矩阵为:
首先,从如下输入样本向量开始:
接着,如图6中所示,将下列每对输入列90相加:(x0和x4),(x1 和x5),(x2和x6),最后是(x3和x7)。这一运算将以因子2减少项 数,使得可以应用4-向量点矩阵FFT处理器93。以类似的方式,减去 这些输入对并乘以旋转因子矩阵W0,W1,W2,W3。因此,可以使用第 二个4-向量点矩阵FFT处理器95。此时,需要为4-向量点矩阵FFT确定 参数W2。当M=8时,公式85变为:
8-向量点频率抽取矩阵FFT处理器的过程可以容易地针对4-向量 点频率抽取矩阵FFT处理器进行重复。所得到处理器的信号流程图可 以从图6中看到。
本领域技术人员应当理解,在不背离其本质特征的思想的前提 下,可以用其他方式方法得到本文所公开的矩阵FFT算法。例如,可 以使用Kronecker或者张量积扩展和各种矩阵因式分解方法来得到具 有混合或分开基数的矩阵FFT算法。
3矩阵定值离散余弦变换方法
离散余弦变换因为其上好的
能量紧凑性能而常常用于音乐、图 像、
视频编码和解码(CODEC)应用中。本节利用矩阵DFT公开了一 种矩阵定值离散余弦变换方法(以下用矩阵DCT表示)。考虑一种长 度为M的向量序列{xm,m=0,1,2,...,M-1}。首先,输入数据序列通过零 定值向量填充被扩展到长度2M:
然后,根据如下公式由公式92构成长度为2M的新序列:
ym= xm+ x(2M-1-m) 0≤m≤M-1 (93)
并按下式计算其2M-点矩阵DFT:
于是,{xm,m=0,1,2,...,M-1}的M-点矩阵DCT由下式给出:
回想一下,复矩阵指数函数具有矩阵余弦和正弦分量。因此,矩 阵DCT系数可以用简化形式表示为:
注意,实向量序列的矩阵DCT系数是实数。另一方面,实向量序 列的矩阵DFT系数始终是复数。
为了得出M-点系数序列{cp,p=0,1,2,...,M-1}的矩阵定值逆DCT, 首先,根据下式构成2M-点矩阵DFT:
并按下式计算其2M-点矩阵IDFT:
于是,其M-点矩阵IDCT由下式给出:
利用复指数函数的矩阵余弦分量,可以更明确地将矩阵IDCT关 系写成:
其中,矩阵系数Ak由下式给出:
鉴于上述公开,容易看出可以用类似方式描述矩阵定值离散正弦 变换(矩阵DST)。还应注意,由于矩阵DCT是一种具有全实数矩阵 系数优势的矩阵DFT,因此可以使用快速矩阵DCT处理器,从而可以 大大减轻计算复杂度和负荷。
4附加矩阵定值变换方法
矩阵定值变换的方法还可以扩展到包括其他众所周知的变换。例 如,考虑下列矩阵定值形式的离散Hartley变换:
矩阵定值离散Hartley逆变换由下式给出:
显然,利用适当的核函数可以设计各种其他矩阵定值变换。因此, 本领域技术人员可以容易地描述其他矩阵定值信号处理变换,比如: 矩阵定值Laplace变换,矩阵定值z变换,矩阵定值Hilbert变换,矩阵 定值Radon变换,矩阵定值Gabor变换,矩阵定值Karhunen-Loeve变 换,和矩阵定值Walsh-Hadamard变换。
5快速矩阵DFT和快速矩阵IDFT的附加实施方式
本节的目的在于,描述某些纳入快速矩阵DFT和快速矩阵IDFT 技术的典型应用。这些附加实施方式及衍生实施方式是说明性的而非 包容性的。
循环矩阵卷积:矩阵DFT的方法可以用来计算与离散时间MIMO 系统有关的循环卷积。考虑用{xm,m=0,1,2,...,M-1}表示的有限长离散 序列,其中每个样本xm为d×1维的向量点。现在,假定根据下式形成 另一等长度的离散序列{yp,p=0,1,2,...,M-1}:
每个输出向量样本yp由对矩阵序列{Cp,p=0,1,2,...,M-1}进行时间 反转并将其循环向右移位来产生。所得到的运算将称为循环矩阵卷积。 注意,累加 模-M中的每个样本积的指数的和等于循环矩阵卷积所计算 的输出的指数。M-向量点循环矩阵卷积还可以用矩阵形式描述成:
值得注意,矩阵序列{Cp,p=0,1,2,...,M-1}的元素具有特殊结构排 列。具体地说,每个矩阵行是通过将上一行循环向右移位而溢出元素 被移至第一
位置来得到。公式105可以缩写成:
y=Cx (106)
其中,C为dM×dM维的块循环矩阵。注意,公式106的循环矩阵C 是超矩阵,而x和y是超向量。循环矩阵具有一些重要特性。关于循环 矩阵的特性的合成处理,请参见:
[6]P.H.Davis,John Wiley和Sons,“Circulant Matrices”,New York,1979,ISBN 0-471-05771-1,该出版物在此作为参考。
从数字信号处理观点来看,块循环矩阵的最重要特性在于,它允 许如下式给出的频谱分解:
C=W⊥ΛcW (107)
其中,W为矩阵DFT算法的快速傅里叶变换矩阵(参见公式29)。矩 阵Λc是块对角矩阵,它包括表征循环矩阵卷积特征的矩阵序列{Cp, p=0,1,2,...,M-1}的矩阵DFT结果。设这些矩阵DFT结果用{Λp, p=0,1,2,...,M-1}表示。于是,超矩阵Λc由下式给出:
C的频谱对角线化天然有利于有效计算循环矩阵卷积。因为,在 对角化后,矩阵卷积公式可以写成:
y=W⊥ΛcWx (109)
或
y=W⊥Λcz (110)
其中,z=Wx是x的矩阵DFT。通过将对角矩阵乘以z可以进一步处理该 信号:
v=Λcz (111)
于是得到:
y=W⊥v (112)
因此,可以看到,通过矩阵IDFT可以轻易确定用y所表示的输出 信号。如果矩阵DFT和矩阵IDFT运算利用本发明的快速矩阵定值算法 之一进行计算,那么结果是一种有效的循环矩阵卷积算法。上述逐步 展开可以归纳如下:
mDFT{y}=diagonal[mDFT{Cp}]mDFT{x} (113)
也就是说,矩阵和向量定值序列的循环矩阵卷积的矩阵DFT等于 单独矩阵DFT的对角矩阵与向量的乘。注意,这种新算法与现有技术 的算法有很大不同。首先,回想一下,现有技术的循环卷积专
门处理 两个 标量序列。现有技术表明,两个标量序列的循环卷积的常规DFT 是两个单独DFT之积。例如,请参见下列参考文献:
[7] B.Poraz,John Wiley和Sons,“A Course in Digital Signal Processing”,New York,1997,ISBN 0-471-14961-6,该出版物在此作 为参考。
线性矩阵卷积和相关:可以看到,M-点矩阵和向量序列的循环矩 阵卷积形成了另一个M-点向量序列。另一方面,M1-点矩阵序列与M2- 点向量序列的线性矩阵卷积将形成一个(M1+M2-1)-点向量序列。然而, 长度分别为M1和M2的矩阵和向量定值序列的循环矩阵卷积,通过对这 两个序列进行零填充使得它们都包含有(M1+M2-1)个向量点,可以使其 等于这两个序列的线性矩阵卷积。此外,在计算线性矩阵相关时,正 象线性矩阵卷积计算所用情况那样,也可以利用循环矩阵卷积。
矩阵和向量定值序列的矩阵DFT可用来计算其线性矩阵卷积和 相关的上述公开是一种用于处理涉及MIMO系统的信号的重要新算 法。
矩阵OFDM和矩阵DMT:本节针对无线和有线通信系统描述了 本发明的优选实施方式。由于移动台附近各种物体的多散射结果造成 了严重的多路径传播,因此无线通信系统的设计是一项具有很大挑战 性的任务。随着移动单元在多路径区域的移动,这种散射形成了接收 信号中的快速随机幅度和
相位变化。作为结果而产生的信号包络的短 期统计可以用瑞利分布来近似。
在使用单载波的常规串行数据系统中,码元依次发送,因此允许 每个数据码元的频谱占用整个可用带宽。然而,由于瑞利信道的突发 特性,若干邻近码元可以在衰落期间彻底丢失。
并行系统克服了串行系统所遭遇的许多问题。在并行系统中,宽 带信道被发送到一组子信道中,使得,在任何时刻都同时发送许多数 据元。因此,单个数据元的频谱通常只占用小部分可用带宽。
现有技术中,并行无线通信通过实施正交频分复用(OFDM)来 实现。有线通信系统采用类似的并行方法(在现有技术中称为数字多 音(DMT))。这里,结合基于OFDM的系统来描述该现有技术。不 过,应当理解,类似的讨论同样适合基于DMT的系统。
诸如OFDM的并行系统的主要缺点是与串行系统相比复杂性增 大了。利用快速傅里叶变换产生正交波形,可以大大减小OFDM系统 的复杂性。这种方法首先在如下论文中进行了描述:
[8]S.B.Weinstein和P.M.Elbert,“Data Transmission by Frequency Division Multiplexing Using the Discrete Fourier Transform”,IEEE Transactions on Communication Technology,1971, Vol.COM-19,No.5,pp.628-634,该论文在此作为参考。
在已知OFDM的典型实施方式中,用户数据首先从串行转换成并 行形式,然后,在发射机中由标量定值IFFT装置进行处理,而在接收 机中由标量定值FFT装置进行处理。关于所关心的涉及现有技术的 OFDM和DMT技术的专利,请参见:
1998年3月24日授权给N.Takahashi等人的美国专利号5,732,068, 名称为“Signal Transmitting Apparatus and Signal Receiving Apparatus Using Orthogonal Frequency Division Multiplexing”;
1998年8月4日授权给D.J.Marchok等人的美国专利号5,790,514, 名称为“Multi-Point OFDM/DMT Digital Communication System Including Remote Service Unit with Improved Receiver Architecture”;
1998年10月6日授权给M.Saito和T.Ikeda的美国专利号5,818,813, 名称为“Orthogonal Frequency Division Multiplexing Transmission System and Transmitter Receiver Adapted to the Same”;
1999年9月21日授权给T.Saeki的美国专利号5,956,318,名称为 “Orthogonal Frequency Division Multiplexing”;
1999年10月26日授权给Ye Li和N.R.Sullenberger的美国专利号 5,973,642,名称为“Adaptive Antenna Arrays for Orthogonal Frequency Division Multiplexing System with Co-Channel Interference”;
2000年7月11日授权给M.Wahlqvist等人的美国专利号6,088,398, 名称为“Orthogonal Frequency Division Multiplex Systems”;
2000年11月21日授权给Steve Ma等人的美国专利号6,151,295,名 称为“OFDM Receiving System”;
2001年1月16日授权给R.D.J.van Nee的美国专利号6,175,550,名 称为“Orthogonal Frequency Division Multiplexing System with Dynamically Scalable Operating Parameters and Method Thereof”;
2001年10月16日授权给A.Miyashita等人的美国专利号6,304,611, 名称为“OFDM Modulator and OFDM Modulation method for Digital Modulated Wave Having Guard Interval”;和
2002年6月11日授权给A.Ginesi等人的美国专利号6,404,806,名称 为“Method and Apparatus for Time-Domain Equalization in FDM-based Discrete Multi-Tone Modems”,所有这些专利在此作为参 考。
图7示出了一例已知OFDM通信系统的组成。回顾现有技术专利, 可以看到:所有OFDM通信系统在发射机中一律使用标量定值IFFT装 置154,而在接收机中一律使用标量定值FFT装置164。
另一方面,可以通过引用本发明的矩阵FFT技术,利用矩阵定值 正交频分复用(以下称为矩阵OFDM)来建立通信系统。与现有技术 的标量定值OFDM系统相比,矩阵OFDM通信系统在发射机中使用矩 阵定值IFFT装置,而在接收机中使用矩阵定值FFT装置。注意,矩阵 OFDM也是一种并行方法。
矩阵OFDM的创新之处在于,可以利用本发明的快速矩阵DFT和 矩阵IDFT算法来计算与MIMO通信系统有关的离散
时间线性矩阵卷 积。回想一下,在实际情况下,
频率选择性衰落MIMO通信信道具有 其冲激响应矩阵H(t)(本质上局限于有限间隔[0,Th]),这等同于表示: 对所有t≥Th,H(t)=0。这里,假定H(t)相应于发送滤波器、传输信道和 接收滤波器的联合效果。频率选择性衰落MIMO信道的矩阵定值FIR 模型如图8中所示。现在,设以1/Ts的速率抽样的信道的基带等效冲激 响应矩阵用矩阵序列{Hk,k=0,1,2,...,K}210表示。根据众所周知的抽样 理论,将抽样率选择为大于所关心最高频率分量的两倍。再者,假定 {sm,m=0,1,2,...,M-1}表示所发送码元向量s(t)200的离散时间序列。此 外,设{nm,m=0,1,2,...,M-1}表示加性信道噪声向量n(t)220的离散时间 序列。当传播到接收机时,长度为M的所发送码元向量序列由于MIMO 通信信道的存在而经受了线性矩阵卷积。这一卷积的结果是长度为 M+K的向量码元序列。最后,设{rp,p=0,1,2,...,M+K-1}表示接收码元 向量r(t)230的离散时间序列。注意,与信道输入序列相比信道输出序 列扩展了K个样本是由于该信道所形成的码元间干扰(ISI)。
为了消除ISI的影响,可以添加循环扩展向量定值保护间隔。也 就是说,每个码元向量序列都在前面加上序列本身的周期扩展。换言 之,在所发送向量序列的起始处重复该码元序列的最后K个向量样本 的副本。这用符号来表示可表示为{s-k=sM-k,k=0,1,2,...,K}。这一插入 可称为向量定值循环前缀。鉴于该向量定值循环前缀,该通信系统的 矩阵定值描述采取如下形式:
同样,上述表达式可以缩写成:
r=Hs+n (115)
显然,信道超矩阵H被认为是块循环矩阵。于是,向量定值循环 前缀不仅可作为防止ISI的保护间隔,而且可作为将具有信道时间响应 的线性矩阵卷积转换成循环矩阵卷积的工具。因此,信道矩阵可以用 由H=W⊥ΛhW给出的形式进行对角化。通过观察即有的信道矩阵,引 进一个新的超向量:
a=W⊥s (116)
注意,a是所发送码元的频域表示。a的每个元素都可以被认为是 多维QAM信号
星座图中的复定值向量点。在接收端,接收基带波形是 被匹配滤波并以1/Ts的速率进行抽样。给定信道输出向量r和噪声向量 为n,那么,其相应的频域表示分别为b=Wr和c=Wn。因此,公式115 变成:
b=Λha+c (117)
在去除保护间隔中的那些向量定值样本后,信道输入-输出关系 可以重新写成:
bp=Λpap+cp p=0,1,2,...,M-1 (118)
在具有加性噪声的频率选择性衰落MIMO信道的情况下,上述表 达式表明,矩阵OFDM接收机由一组并行操作的独立矩阵处理器构成。 如果信道冲激响应是完全知道的,那么矩阵OFDM接收机将根据下式 给出的最大似然(ML)统计作出其决定:
实际上,真实的信道冲激响应是不知道的。因此,矩阵OFDM接 收机必须通过经由导频码元利用信道状态的估计来实现。
下面,将描述一例矩阵OFDM通信系统的发射机方的结构。参照 图9,来自多个源的输入数据被编码成比特并用预定调制技术(比如 QPSK、8PSK、16QAM或64QAM)进行调制。这些操作归到编码器 和调制器装置300之中。接着,串-并向量转换器310读入已调码元并将 其值保持在并行向量行上,从而将多个串行数据流分化为并行向量定 值数据流。然后,将并行向量定值样本的块输入到矩阵IFFT处理器320 中。接着,利用向量循环前缀添加器330在来自矩阵FFT处理器的结果 中插入向量定值保护间隔。然后,利用矩阵定值发送滤波器340滤除不 需要的频率失真。通过利用并行向量-串行转换器350将滤波器的输出 转换回到多个串行数据流。通过利用带有多个天线的发射设备360,将 得到的多个串行数据流先转换到模拟域,再上变频到适当的RF载频, 最后发射到信道中。
下面,将描述一例矩阵OFDM通信系统的接收机方的结构。参照 图10,在接收机设备400中利用多个天线,将到来的RF信号先下变频 到基带波形,再从模拟转换到数字域。接着,串-并向量转换器410读 入这些数字信号并将其值保持在并行向量行上,从而将所接收多个串 行数据流分化为并行向量定值数据流。然后,利用向量循环前缀去除 器装置420删除该向量定值保护间隔。将得到的向量定值并行样本输入 到矩阵定值接收滤波器430中,以滤除不想要的信号和干扰噪声。将并 行向量定值样本的块输入到矩阵FFT处理器440中。接着,利用矩阵定 值均衡器450消除传输信道的影响。通过利用并行向量-串行转换器460 将均衡器的输出转换回到多个串行数据流。最后,在检测器和解码器 设备470中,通过解调、检测和解码过程将数据比特恢复到其原始形式。 注意,这一举例的矩阵OFDM系统根据多个发射和接收天线进行了描 述。因此,在所述本发明的范围内,应考虑单个发射和接收天线系统。
矩阵OFDM系统具有将衰落扩展到许多向量码元中的优点。这样 可以有效地将
瑞利衰落所导致的突发错误随机化,从而,许多码元只 是轻微失真,而不是若干个邻近码元被完全破坏。这使得可以精确重 建大多数失真码元。矩阵OFDM系统还具有展开整个信令间隔的附加 优点,从而减小系统对延迟扩展的敏感性。
如较早前所述,现有技术的OFDM通过标量定值DFT/IDFT对来 实现,以便将传输信道转换成并行子信道。回想一下,N-点标量定值 DFT等于由
所给定的离散频率上的信号的傅里叶变 换。因此,N-点标量定值DFT相应于N个频域点。当现有技术的通信 系统例如利用64-点标量定值DFT实现OFDM时,其除占用以载频为中 心的64个不同频率点的带宽之外别无选择。鉴于这一事实,现有技术 的OFDM在频率间隔及其范围方面具有严格的结构。
另一方面,该矩阵OFDM系统使用矩阵FFT和IFFT处理器,因此 它在指定频域参数时继承了灵活程度。给定固定长度的输入数据序列, 矩阵OFDM系统能够通过矩阵DFT算法的频率加权矩阵Φ的特征值来 控制频率点的间隔。例如,考虑一个2×2维频率加权矩阵。在没有任 何一般性的损失的情况下,这里假定Φ的对角形式来揭示矩阵OFDM 的内在工作方式。设:
如果有64个数据点,那么向量点数仅为M=32,因为
随着 矩阵DFT指数的变化(0≤p≤32和0≤m≤32),第一和第二特征值产生32 个不同的频域点。因此,使频谱范围比标量定值DFT所计算的范围小 50%。换言之,由于频率的再利用,矩阵OFDM将时域信息压缩成较 小的带宽,从而得到更高的频谱效率。
矩阵OFDM的另一个优点来自于矩阵DFT算法的频率加权矩阵 Φ的特征向量。特征向量的信号处理功能用来对所有频率音中的每个 所发送码元进行编码。这意味着每个载波都含有所有发送码元的已知 组合。由于每个数据比特的功率都扩展到所有
子载波,因此,矩阵 OFDM系统恢复到窄带干扰和信道损害。相反,在现有技术的OFDM 系统中则向每个子载波只分配一个码元。
矩阵OFDM是并行通信系统的一种特殊形式。另一种紧密相关的 形式是矩阵定值离散多音系统(或矩阵DMT)。尽管矩阵OFDM用于 无线电广播信道和无线通信信道上的数据传输,然而矩阵DMT系统用 于双向有线信道(比如使用双绞线的不对称数字用户线(ADSL)) 上的数据传输。与单向通信不同,对ADSL系统的发射机而言可以知 道信道特性。因此,矩阵DMT系统的实际实现方式可包括比特分配的 最佳加载算法。
应当理解,上述实施方式只不过是举例说明了这里所公开的本发 明,在不背离本发明的思想、范围和本质特征的前提下,本领域技术 人员可以设计和带来许多变化。例如,已针对无线通信情况下的矩阵 OFDM和有线通信情况下的矩阵DMT描述了矩阵定值方法和算法。类 似地,对于涉及密集波分复用(DWDM)技术的光通信系统,同样可 以容易地描述矩阵定值实施方式。因此,认为在
权利要求书及其等效 要求的范围内还可以包括这样的一些变化。
实施方式中所用的举例硬件:为了便于说明,已根据执行矩阵和 向量定值算法的处理器描述了本发明的举例实施方式。正如技术上所 知,可以通过使用共享或专用硬件(包括但并不局限于能够执行软件 的硬件)来提供这些算法所表示的运算。实际实施方式可以包括完成 这里所公开的运算的
数字信号处理器(DSP)硬件和软件。此外,还 可以利用本发明的超大规模集成
电路(VLSI)硬件实施方式(比如现 场可编程门阵列(FPGA)和
专用集成电路(ASIC))以及混合DSP/VLSI 实施方式。
附录
I.M-FFT2 %Input may have multiple columns function[X]=M_FFT2(V,nd,Nop,T) [tm,tn]=size(T); [vm,vn]=size(V); A=zeros(vm,vn); nn=0; Ti=inv(T); while(nn<Nop)% Number of points A(nn+1:nn+tn,:)=Ti*V(nn+1:nn+tn,:); nn=nn+tn; end for p=1:nd %nd=number of columns of the input Z=A(:,p); [F]=Matrix_Np_FFT2(Z); X(:,p)=F; end II.M_IFFT2 %Input may have multiple columns function[A]=M_IFFT2(V,nd,Nop,T) [tm,tn]=size(T); [vm,vn]=size(V); A=zeros(vm,vn); for p=1:nd %number of columns of the input Z=V(:,p); [F]=Matrix_Np_IFFT2(Z); X(:,p)=F; end nn=0; while(nn<Nop)% Number of points A(nn+1:nn+tn,:)=T*X(nn+1:nn+tn,:); nn=nn+tn; end III.Matrix_Np_FFT2 %Subfunction for matrix-FFT fnction[2]=Matrix_Np_FFT2(x) ng=length(x); N_p=ng/2;%number of vector points,M Z=zeros(ng,1); if(N_p=2) %two-point matrix FFT [Z]=Matrix_2p_FFT2(x);%call sub function below return else %if not 2-point problem continue %separate into tracks xr=reshape(x,[2,N_p]);% kk=1; for k=1:2:N_p qe(:,kk)=xr(:,k); qo(:,kk)=xr(:,k+1); kk=kk+1; end xe=reshape(qe,[N_p,1]); xo=reshape(qo,[N_p,1]); [Fe]=Matrix_Np_FFT2(xe); [Fo]=Matrix_Np_FFT2(xo); end w=-i*2*pi/(N_p); W=zeros(2,1); W(1,1)=1*w; W(2,1)=1*w; Np2=(length(Fe))/2; Ye=reshape(Fe,[2,Np2]);% reshape for matrix butterfly Yo=reshape(Fo,[2,Np2]); for k=0:Np2-1 Wk=exp(W.*k);%2-element twiddle factor Ve(:,k+1)=Ye(:,k+1)+Wk.*Yo(:,k+1);% matrix butterfly Vo(:,k+1)=Ye(:,k+1)-Wk.*Yo(:,k+1); end Ze=reshape(Ve,[2*Np2,1]); Zo=reshape(Vo,[2*Np2,1]); Z=[Ze;Zo];%combine function[F]=Matrix_2p_FFT2(x) mg=length(x); mg2=mg/2; F=zeros(mg,1); F(1:mg2)=x(1:mg2)+x(mg2+1:mg);% zero component F(mg2+1:mg)=x(1:mg2)-x(mg2+1:mg);% one component IV.Matrix_Np_IFFT2 function [Z]=Matrix_Np_IFFT2(x) %main function [Z]=Mat_Np_IFFT2(x);%call subfunction below ng=length(x); N_p=ng/2;%number of vector points,M Z=Z./N_p; %Subfunction for matrix-IFFT function [Z]=Mat_Np_IFFT2(x) ng=length(x); N_p=ng/2;%number of vector points,M Z=zeros(ng,1); if(N_p=2) %two-point matrix DFT [Z]=Mat_2p_IFFT2(x);% this subfunction is below return else %separate into tracks xr=reshape(x,[2,N_p]);%2-element blocks kk=1; for k=1:2:N_p% qe(:,kk)=xr(:,k);% qo(:,kk)=xr(:,k+1);% kk=kk+1; end xe=reshape(qe,[N_p,1]); xo=reshape(qo,[N_p,1]); [Fe]=Mat_Np_IFFT2(xe); [Fo]=Mat_Np_IFFT2(xo); end w=i*2*pi/(N_p); W=zeros(2,1);% 2-element transform W(1,1)=1*w; W(2,1)=1*w; Np2=(length(Fe))/2; Ye=reshape(Fe,[2,Np2]); Yo=reshape(Fo,[2,Np2]); for k=0:Np2-1 Wk=exp(W.*k); Ve(:,k+1)=Ye(:,k+1)+Wk.*Yo(:,k+1); Vo(:,k+1)=Ye(:,k+1)-Wk.*Yo(:,k+1); end Ze=reshape(Ve,[2*Np2,1]); Zo=reshape(Vo,[2*Np2,1]); Z=[Ze;Zo]; function[F]=Mat_2p_IFFT2(x) mg=length(x); mg2=mg/2; F=zeros(mg,1); F(1:mg2)=x(1:mg2)+x(mg2+1:mg);% zero component F(mg2+1:mg)=x(1:mg2)-x(mg2+1:mg);% one component V.Test_Mat_FFT2 %Test file for Matrix-FFT and IFFT Nop=16;%Number of data points rand(′seed′,1); m1=rand(Nop,1)>0.5;% generate random data of 1s and 0s. N_p=length(m1); v1=zeros(N_p,1); ze=zeros(N_p,1); zo=ze; %Tis the similarity transformation matrix. %T=[0.2898 0.9571;-0.9571 0.2898]; T=[1 1;1 -1]; %T=eye(2,2); v1=m1; [Z]=M_FFT2(v1,1,N_p,T)% on the input:one column of complex data [F]=M_IFFT2(Z,1,N_p,T); %error calculations err=m1-F; total_e=sum(err)%total error