主要内容

总谐波失真

描述

例子

r=thd(x返回实值正弦信号在dBc中的总谐波失真(THD)x.利用与输入信号长度相同的修正周期图,由基频和前五次谐波确定总谐波失真。改进的周期图使用了带有的Kaiser窗口β= 38。

例子

r=thd(xfsn指定采样率,fs,以及在THD计算中使用的谐波数(包括基频)。

r=thd(pxxf, ' psd ')指定输入pxx作为单边功率谱密度(PSD)的估计。f中PSD估计对应的是频率向量吗pxx

例子

r=thd(pxxfn, ' psd ')指定在THD计算中使用的谐波数(包括基本谐波)。

例子

r=thd(sxxfrbw“权力”)指定输入为单侧功率谱。rbw为每个功率估计值的分辨率带宽。

r=thd(sxxfrbwn“权力”)指定在THD计算中使用的谐波数(包括基本谐波)。

例子

r=thd(___、“别名”)报告混叠到奈奎斯特范围内的基波谐波。当输入信号采样不足时使用此选项。如果未指定此选项,或将其设置为“省略别名”,则该函数忽略位于奈奎斯特范围之外的基频的任何谐波。

例子

rharmpowharmfreq]=thd(___返回谐波的功率(以分贝为单位)和频率,包括基频。

例子

thd(___在没有输出参数的情况下,绘制信号的频谱,并在当前图形窗口中标注谐波。它使用不同的颜色来绘制基本分量、谐波、直流电平和噪声。THD出现在图的上方。基频和谐波被标记。直流项不在测量范围内,也没有标注。

例子

全部折叠

此示例明确显示了如何计算由基波和两次谐波组成的信号的dBc中的总谐波失真。根据

创建一个以1 kHz采样的信号。该信号由一个振幅为2的100 Hz基波和两个振幅为0.01和0.005的200和300 Hz谐波组成。明确获得总谐波失真,并使用

t = 0:0.001:1 - 0.001;x = 2 * cos(2 *π* 100 * t) + 0.01 * cos(2 *π* 200 * t) + 0.005 * cos(2 *π* 300 * t);tharmdist = 10 * log10 ((0.01 ^ 2 + 0.005 ^ 2) / 2 ^ 2)
tharmdist = -45.0515
r = (thd (x)
r = -45.0515

创建一个以1khz采样的信号。信号由振幅为2的100hz基频和振幅为0.01、0.005和0.0025的200hz、300hz和400hz的三个谐波组成。

将谐波数设置为3。这包括基本的。因此,THD的计算采用100hz、200hz和300hz的功率。

t = 0:0.001:1 - 0.001;x = 2 * cos(2 *π* 100 * t) + 0.01 * cos(2 *π* 200 * t) +...0.005*cos(2*pi*300*t)+0.0025*sin(2*pi*400*t);r=thd(x,1000,3)
r = -45.0515

指定等于3的谐波数将忽略THD计算中400 Hz时的功率。

创建一个以1khz采样的信号。信号由振幅为2的100hz基频和振幅为0.01、0.005和0.0025的200hz、300hz和400hz的三个谐波组成。

获取信号的周期图PSD估计,并将PSD估计作为thd的输入。将谐波数设置为3。这包括基本的。因此,THD的计算采用100hz、200hz和300hz的功率。

t = 0:0.001:1 - 0.001;fs = 1000;x = 2 * cos(2 *π* 100 * t) + 0.01 * cos(2 *π* 200 * t) +...0.005*cos(2*pi*300*t)+0.0025*sin(2*pi*400*t);[pxx,f]=周期图(x,rectwin(长度(x)),长度(x),fs);r=thd(pxx,f,3,psd的
r = -45.0515

通过输入汉明窗获得的功率谱和窗的分辨率带宽来确定THD。

创建一个采样频率为10khz的信号。该信号由一个振幅为2的100hz基频和三个振幅为0.01、0.005和0.0025的300、500和700hz的奇数谐波组成。将谐波数指定为7。确定螺纹。

fs = 10000;t = 0:1 / fs: 1 - 1 / f;x = 2 * cos(2 *π* 100 * t) + 0.01 * cos(2 *π* 300 * t) +...0.005*cos(2*pi*500*t)+0.0025*sin(2*pi*700*t);[sxx,f]=周期图(x,汉明(长度(x)),长度(x),fs,“权力”);rbw = enbw(汉明(长度(x)), fs);r = (thd (sxx f rbw 7“权力”
r = -44.8396

产生一个信号,类似于输出弱非线性放大器与2.1 kHz音调作为输入。信号以10khz采样1秒。计算并绘制信号的功率谱。使用Kaiser窗口β= 38进行计算。

Fs = 10000;f = 2100;t = 0:1 / Fs: 1;x =双曲正切(罪(2 *π* f * t) + 0.1 + 0.001 * randn(1、长度(t));周期图(x, kaiser(长度(x), 38), [], Fs,“权力”

图中包含一个轴对象。标题为“周期图功率谱估计”的轴对象包含一个类型为line的对象。

在噪音中,4.2 kHz、6.3 kHz、8.4 kHz、10.5 kHz、12.6 kHz、14.7 kHz等频率的谐波明显突出。除第一个频率外,所有频率均大于奈奎斯特频率。谐波分别被混叠为3.7 kHz、1.6 kHz、0.5 kHz、2.6 kHz和4.7 kHz。

计算信号的总谐波失真。默认情况下,将混叠谐波视为噪声的一部分。

(thd (x, Fs, 7);

图中包含一个轴对象。标题为THD: -29.11 dB的轴对象包含13个类型为line, text的对象。这些对象代表基频、谐波、直流和噪声(不包括)。

重复计算,但现在将混叠谐波视为信号的一部分。

thd(x,Fs,7,“别名”);

图中包含一个轴对象。标题为THD: -22.54 dB的轴对象包含18个类型为line, text的对象。这些对象代表基频、谐波、直流和噪声(不包括)。

创建一个采样频率为10khz的信号。该信号由一个振幅为2的100hz基频和三个振幅为0.01、0.005和0.0025的300、500和700hz的奇数谐波组成。将谐波数指定为7。确定THD,谐波功率,以及相应的频率。

fs = 10000;t = 0:1 / fs: 1 - 1 / f;x = 2 * cos(2 *π* 100 * t) + 0.01 * cos(2 *π* 300 * t) +...0.005 * cos(2 *π* 500 * t) + 0.0025 *罪(2 *π* 700 * t);[r, harmpow, harmfreq] = (thd (x 10000 7);[harmfreq harmpow]
ans =7×2300.0000 -43.0103 399.0000 -281.9259 500.0000 -49.0309 599.0000 -282.1066 700.0000 -55.0515

偶数次谐波的幂是 - 3. 0 0 dB,对应的振幅为 1 0 - 1 5

生成频率为2.5 kHz的正弦波,在50 kHz处采样。向信号中添加标准偏差为0.00005的高斯白噪声。将结果通过弱非线性放大器。绘制THD。

fs = 5 e4;f0 = 2.5 e3;N = 1024;t = (0: n - 1) / fs;ct = cos(2 *π* f0 * t);CD = ct + 0.00005*randn(size(ct));Amp = [1e-5 5e-6 -1e-3 6e-5 1 25e-3];胡志明市= polyval (amp、cd);(thd(胡志明市,fs);

图中包含一个轴对象。标题为THD:-72.39 dB的轴对象包含16个类型为line、text的对象。这些对象表示基波、谐波、直流电和噪声(不包括)。

图中显示了用于计算比率的频谱和作为噪声处理的区域。直流电平不在计算范围内。基频和谐波被标记。

输入参数

全部折叠

实值正弦输入信号,指定为行或列向量。

例子:因为(π/ 4 * (0:159))+ cos(π/ 2 * (0:159))

数据类型:|

采样率,指定为一个正标量。采样率是单位时间内的采样数。如果时间的单位是秒,那么采样率的单位是Hz。

谐波数,指定为正整数。

单侧PSD估计,指定为实值,非负列向量。

功率谱密度必须用线性单位表示,而不是分贝。使用db2pow将分贝值转换为功率值。

例子:[pxx,f]=周期图(cos(pi./[4;2]*(0:159))'+randn(160,2))指定在2π Hz采样的噪声双通道正弦信号的周期图PSD估计和计算频率。

数据类型:|

对应于单边PSD估计的周期频率,pxx,指定为行或列向量。的第一个元素f必须是0。

数据类型:|

功率谱,指定为实值非负行或列向量。

功率谱必须用线性单位表示,而不是分贝。使用db2pow将分贝值转换为功率值。

例子:[sxx, w] =周期图(cos (pi. /(4; 2) *(0:159))”+ randn(160 2),“权力”)指定嵌入在高斯白噪声中的双通道正弦信号的周期图功率谱估计和计算时的归一化频率。

分辨率带宽,指定为正标量。分辨率带宽是离散傅里叶变换的频率分辨率和窗的等效噪声带宽的乘积。

输出参数

全部折叠

dBc中的总谐波失真,返回为实值标量。

谐波的幂,返回为以dB表示的实值标量或向量。是否harmpow标量还是矢量取决于作为输入参数的谐波数n

谐波的频率,返回为非负标量或矢量。是否harmfreq标量还是矢量取决于作为输入参数的谐波数n

更多关于

全部折叠

失真测量功能

的函数sfdrsinad信噪比测量受正弦信号刺激的弱非线性系统的响应。

当给定时域输入时,使用具有较大旁瓣衰减的Kaiser窗执行周期图。为了找到基频,该算法在周期图中搜索最大的非零频谱分量。然后计算所有相邻单元的中心矩,该中心矩从最大值单调递减。要检测到基频,基频应为t至少在第二个频率单元中。高次谐波是基频的整数倍。如果一个谐波位于另一个谐波附近的单调递减区域内,则其功率被视为属于较大的谐波。该较大的谐波可能是基频,也可能不是基频。

如果基频不是信号中最高的谱分量,则失效。

确保频率分量相距足够远,以适应Kaiser窗的旁瓣宽度。如果这是不可行的,你可以使用“权力”用不同的窗口标记和计算周期图。

扩展功能

在R2013b中引入