频谱测量---测量信号的功率

频谱测量

通道功率、带宽、均值频率、中位数频率、谐波失真。

使用 obw 和 powerbw 查找信号的 90% 占用带宽和 3-dB 带宽。计算功率谱的均值或中位数频率。估计给定频带上的功率。测量谐波失真。估计瞬时带宽、瞬时频率、频谱熵和谱峭度。

函数

功率和带宽

bandpower Band power
enbw Equivalent noise bandwidth
instbw Estimate instantaneous bandwidth (自 R2021a 起)
instfreq Estimate instantaneous frequency
meanfreq Mean frequency
medfreq Median frequency
obw Occupied bandwidth
pentropy Spectral entropy of signal
pkurtosis Spectral kurtosis from signal or spectrogram
powerbw Power bandwidth
signalFrequencyFeatureExtractor Streamline signal frequency feature extraction (自 R2021b 起)

谐波测量

sfdr Spurious free dynamic range
signalTimeFeatureExtractor Streamline signal time feature extraction (自 R2021a 起)
sinad Signal to noise and distortion ratio
snr Signal-to-noise ratio
thd Total harmonic distortion
toi Third-order intercept point

测量信号的功率

       信号的功率是其时域样本的绝对值平方和除以信号长度,或者等效地表示为其 RMS 水平的平方。使用函数 bandpower 只需一步即可估算信号功率。

       考虑嵌入在高斯白噪声中的单位啁啾信号,采样率为 1 kHz,采样时间为 1.2 秒。该线性调频的频率在一秒内从初始值 100 Hz 增加到 300 Hz。噪声具有方差 0.012。重置随机数生成器以获得可重现的结果。

N = 1200;
Fs = 1000;
t = (0:N-1)/Fs;

sigma = 0.01;
rng('default')

s = chirp(t,100,1,300)+sigma*randn(size(t));

验证 bandpower 给出的功率估计值是否与定义相符。

pRMS = rms(s)^2
pRMS = 0.5003
powbp = bandpower(s,Fs,[0 Fs/2])
powbp = 0.5005

       使用 obw 函数来估计包含 99% 信号功率的频带宽度、频带的下限和上限以及频带中的功率。该函数还绘制频谱估计值,并对占用带宽进行注释。

obw(s,Fs);

频谱测量---测量信号的功率_第1张图片

[wd,lo,hi,power] = obw(s,Fs);
powtot = power/0.99
powtot = 0.5003

非线性功率放大器的输入为 60 Hz 正弦波,输出为具有三阶失真的含噪信号。信号在 3.6 kHz 下采样 2 秒。

Fs = 3600;
t = 0:1/Fs:2-1/Fs;
x = sin(2*pi*60*t);
y = polyval(ones(1,4),x) + randn(size(x));

由于放大器引入三阶失真,输出信号应该具有:

  • 与输入具有相同频率 (60 Hz) 的基波分量。

  • 两个谐波 - 其频率分量为输入频率的两倍和三倍,即分别为 120 和 180 Hz。

使用 thd 函数来可视化信号频谱。为基波和谐波添加注释。

频谱测量---测量信号的功率_第2张图片

使用 bandpower 确定基波和谐波中存储的功率。以总功率的百分比和分贝表示每个值。将这些值显示为一个表。

pwrTot = bandpower(y,Fs,[0 Fs/2]);

Harmonic = {'Fundamental';'First';'Second'};

Freqs = [60 120 180]';

Power = zeros([3 1]);
for k = 1:3
    Power(k) = bandpower(y,Fs,Freqs(k)+[-10 10]);
end

Percent = Power/pwrTot*100;

inDB = pow2db(Power);

T = table(Freqs,Power,Percent,inDB,'RowNames',Harmonic)
T=3×4 table
                   Freqs     Power     Percent     inDB  
                   _____    _______    _______    _______

    Fundamental      60      1.5777    31.788      1.9804
    First           120     0.13141    2.6476     -8.8137
    Second          180     0.04672    0.9413     -13.305

另请参阅

bandpower | pow2db | pwelch | snr

相关主题

  • 频域分析实践介绍-CSDN博客

你可能感兴趣的:(Matlab数字信号处理,matlab,信号处理,信息与通信,算法)