主要内容

dsp。传输线

逆离散傅里叶变换(IDFT)

描述

dsp。传输线系统对象™计算输入的离散傅里叶反变换(IDFT)。对象使用一个或多个快速傅里叶变换(FFT)算法,这取决于输入的复杂性以及输出是线性还是位反序:

  • 着算法

  • 半身的算法

  • 基数2实时抽取(DIT)算法

  • 基数-2频率抽取(DIF)算法

  • 从FFTW中选择的算法[1][2]

计算输入的IFFT:

  1. 创建dsp。传输线对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

界面张力= dsp。传输线返回一个传输线对象,界面张力,它计算列向量或的IDFTN- d数组。对于列向量或N-D数组,传输线对象沿着数组的第一维计算IDFT。如果输入是行向量,则传输线对象计算一行单样例IDFTs并发出警告。

例子

界面张力= dsp。传输线(名称,值返回一个传输线对象,界面张力,将每个属性设置为指定的值。将每个属性名用单引号括起来。未指定的属性具有默认值。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

指定FFT使用的实现为汽车Radix-2,或FFTW.当您将此属性设置为Radix-2, FFT长度必须是2的幂。

将此属性设置为真正的如果傅里叶变换输入元素的阶数是传输线对象的顺序为位反序。默认值是,表示线性排序。

依赖关系

该属性仅在FFTLengthSource属性是汽车

将此属性设置为真正的如果输入是共轭对称的以产生实值输出。实值序列的离散傅里叶变换是共轭对称的,设这个性质为真正的优化IDFT计算方法。将此属性设置为对于共轭对称输入可能导致具有非零虚部的复输出值。这是由于舍入错误造成的。将此属性设置为真正的非共轭对称输入导致无效输出。

依赖关系

该属性仅在FFTLengthSource属性是汽车

指定是否将IFFT输出除以FFT长度。默认值是真正的输出的每个元素除以FFT长度。

指定如何确定FFT长度为汽车财产.当您将此属性设置为汽车, FFT长度等于输入信号的行数。

依赖关系

此属性仅适用于BitReversedInputConjugateSymmetricInput属性是

指定FFT长度为大于等于2的整数。

如果满足以下条件,这个性质必须是2的幂:

依赖关系

属性设置时将应用此属性BitReversedInputConjugateSymmetricInput属性,FFTLengthSource财产“属性”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

在下列情况下换行输入数据FFTLength小于输入长度。如果该属性设置为true,则在给定的FFT操作之前进行模长数据包装FFTLength小于输入长度。如果此属性设置为false,则将输入数据截断到FFTLength发生在FFT操作之前。

定点属性

指定舍入方法。

指定溢出操作为包装饱和

指定sin表数据类型为与输入的字长相同自定义

将正弦表定点类型指定为未缩放类型numerictype(定点设计师)对象与一个Signedness汽车

依赖关系

属性设置时将应用此属性SineTableDataType财产自定义

指定产品数据类型为完整的精度同样作为输入,或自定义

将产品定点类型指定为缩放类型numerictype(定点设计师)对象与一个Signedness汽车

依赖关系

属性设置时将应用此属性ProductDataType财产自定义

指定累加器数据类型为完整的精度同样作为输入一样的产品,或自定义

将累加器定点类型指定为缩放类型numerictype(定点设计师)对象与一个Signedness汽车

依赖关系

属性设置时将应用此属性AccumulatorDataType财产自定义

指定输出数据类型为完整的精度同样作为输入,或自定义

将输出定点类型指定为缩放类型numerictype(定点设计师)对象与一个Signedness汽车

依赖关系

属性设置时将应用此属性OutputDataType财产自定义

使用

语法

描述

例子

y= ift (x计算离散傅里叶反变换(IDFT),y,输入的x沿着的第一维x

输入参数

全部展开

数据输入,指定为向量、矩阵或N- d数组。

FFTLengthSource属性是汽车,长度x在第一维上一定是2的正整数次幂。当FFTLengthSource属性是“属性”,长度x沿着第一个维度可以是任何正整数FFTLength性质必须是2的正整数次幂。

变量大小的输入信号只支持金宝appFFTLengthSource属性设置为“汽车”

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fi
复数的支持:金宝app是的

输出参数

全部展开

输入信号的离散傅里叶反变换,以向量、矩阵或其它形式返回N- d数组。

FFTLengthSource属性设置为“汽车”, FFT长度与输入信号的行数相同。当FFTLengthSource属性设置为“属性”, FFT长度通过FFTLength财产。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fi
复数的支持:金宝app是的

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部折叠

计算带噪声的正弦输入信号的FFT。信号的能量存储为FFT系数的幅值平方。确定占信号能量99.99%的FFT系数,对这些系数进行IFFT重构时域信号。将重建信号与原始信号进行比较。

请注意如果您正在使用R2016a或更早的版本,请将对该对象的每个调用替换为等效的一步语法。例如,obj (x)就变成了步骤(obj (x))

考虑一个时域信号 x n ,它定义在有限的时间区间内 0 n N - 1 .信号的能量 x n 为下式:

E N n 0 N - 1 | x n | 2

FFT系数, X k ,则认为是频域中的信号值。信号的能量 x n 因此,在频域内为FFT系数大小平方和:

E N 1 N k 0 N - 1 | X k | 2

根据Parseval定理,信号在时域或频域的总能量是相同的。

E N n 0 N - 1 | x n | 2 1 N k 0 N - 1 | X k | 2

初始化

初始化一个dsp。SineWave系统对象产生一个正弦波,采样频率为44.1 kHz,频率为1000 Hz。构造一个dsp。FFTdsp。传输线对象来计算输入信号的FFT和IFFT。

“FFTLengthSource”属性设置为“汽车”.FFT长度因此被认为是输入帧的大小。在这个例子中,输入帧的大小是1020,它不是2的幂,所以选择“FFTImplementation”作为“FFTW”

L = 1020;Sineobject = dsp。SineWave (“SamplesPerFrame”L,...“PhaseOffset”10...“SampleRate”, 44100,...“频率”, 1000);英国《金融时报》= dsp。FFT (“FFTImplementation”“FFTW”);界面张力= dsp。传输线(“FFTImplementation”“FFTW”...“ConjugateSymmetricInput”,真正的);rng (1);

流媒体

流在噪声输入信号。计算每一帧的FFT,确定构成信号99.99%能量的系数。对这些系数进行IFFT重构时域信号。

numIter = 1000;Iter = 1:numIter sininewave1 = sinineobject ();输入= Sinewave1 + 0.01*randn(size(Sinewave1));FFTCoeff =英尺(输入);FFTCoeffMagSq = abs (FFTCoeff) ^ 2;EnergyFreqDomain = (1 / L) *总和(FFTCoeffMagSq);[FFTCoeffSorted, ind] = sort(((1/L)*FFTCoeffMagSq),...1,“下”);CumFFTCoeffs = cumsum (FFTCoeffSorted);EnergyPercent = (CumFFTCoeffs / EnergyFreqDomain) * 100;Vec = find(EnergyPercent > 99.99);FFTCoeffsModified = 0 (L, 1);FFTCoeffsModified(印第安纳州(1:Vec (1))) = FFTCoeff(印第安纳州(1:Vec (1)));ReconstrSignal = ift (FFTCoeffsModified);结束

信号能量的99.99%可以用给出的FFT系数的个数表示Vec (1)

Vec (1)
ans = 296

利用这些系数可以有效地重建信号。如果将重构信号的最后一帧与原始时域信号进行比较,可以看到两者之间的差异非常小,而且两幅图非常吻合。

马克斯(abs (Input-ReconstrSignal))
ans = 0.0431
情节(输入,‘*’);持有;情节(ReconstrSignal“o”);持有

图中包含一个轴对象。轴对象包含两个类型为line的对象。

算法

该对象实现了算法、输入和输出传输线块引用页面。对象属性对应于块参数,但输出采样模式不支持金宝appdsp。传输线

参考文献

[1] FFTW (http://www.fftw.org

[2] Frigo, M.和S. G. Johnson,“FFTW: FFT的自适应软件架构”,国际声学、语音和信号处理会议论文集, 1998年第3卷,1381-1384页。

扩展功能

另请参阅

对象

介绍了R2012a