主要内容

总谐波失真

描述

例子

r= (thd (x返回实值正弦信号的总谐波失真(THD),单位dBcx。总谐波失真由基频和前五个谐波确定,使用与输入信号相同长度的修正周期图。改进的周期图使用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 (___、“别名”)报告了被混叠到奈奎斯特范围内的基本谐波。当输入信号采样不足时使用此选项。如果您没有指定此选项,或者将其设置为“omitaliases”,则该函数忽略任何超出奈奎斯特范围的基频谐波。

例子

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

例子

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

例子

全部折叠

这个例子明确地展示了如何计算由基波和两个谐波组成的信号在dBc中的总谐波失真。返回的结果对显式计算进行检查

创建一个1khz采样的信号。该信号由振幅为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²+0.005²)/2²)
Tharmdist = -45.0515
R = thd(x)
R = -45.0515

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

设置谐波数为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 *π* 300 * t) + 0.0025 *罪(2 *π* 400 * t);R = thd(x,1000,3)
R = -45.0515

在THD计算中,指定等于3的谐波数会忽略400hz的功率。

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

得到信号的周期图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 *π* 300 * t) + 0.0025 *罪(2 *π* 400 * t);[pxx,f] = periodogram(x,rectwin(length(x)),length(x),fs);R = thd(pxx,f,3,psd的
R = -45.0515

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

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

Fs = 10000;T = 0:1/fs:1-1/fs;X = 2*cos(2* *100*t)+0.01*cos(2* *300*t)+...0.005 * cos(2 *π* 500 * t) + 0.0025 *罪(2 *π* 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,“权力”

图中包含一个轴对象。标题为Periodogram Power Spectrum Estimate的axes对象包含一个类型为line的对象。

在4.2千赫、6.3千赫、8.4千赫、10.5千赫、12.6千赫和14.7千赫的频率下,谐波从噪声中脱颖而出。除第一个频率外,所有频率都大于奈奎斯特频率。谐波分别被混叠为3.7 kHz、1.6 kHz、0.5 kHz、2.6 kHz和4.7 kHz。

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

(thd (x, Fs, 7);

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

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

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

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

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

Fs = 10000;T = 0:1/fs:1-1/fs;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×2100.0000 3.0103 201.0000 -321.0983 300.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 = 5e4;F0 = 2.5e3;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];SGN = polyval(amp,cd);(thd(胡志明市,fs);

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

该图显示了用于计算比率的频谱和被视为噪声的区域。DC级被排除在计算之外。基波和谐波被标记。

输入参数

全部折叠

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

例子:因为(π/ 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窗执行周期图。为了找到基频,算法在周期图中搜索最大的非零谱分量。然后计算所有相邻箱子的中心矩,这些箱子从最大值开始单调减少。要想被探测到,基频至少应该在第二频仓中。较高的谐波是基频的整数倍。如果一个谐波位于另一个谐波的邻近的单调递减区域内,则认为它的次幂属于较大的谐波。这个更大的和声可能是也可能不是根本。

如果基波不是信号中最高的光谱分量,则失败。

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

扩展功能

版本历史

在R2013b中引入