Сгенерируйте 2 048 выборок синусоиды частоты 2,5 кГц, произведенные на уровне 50 кГц. Добавьте белый Гауссов шум, таким образом, что отношение сигнал-шум (SNR) составляет 80 дБ.
Fs = 5e4; f0 = 2.5e3; N = 2048; t = (0:N-1)/Fs; SNR = 80; x = cos(2*pi*f0*t); x = x+randn(size(x))*std(x)/db2mag(SNR);
Передайте результат через слабо нелинейный усилитель, представленный полиномом. Усилитель вводит побочные тоны на частотах гармоник.
amp = [1e-5 5e-6 -1e-3 6e-5 1 25e-3]; x = polyval(amp,x);
Постройте спектр сигнала и аннотируйте ОСШ, проверив, что это имеет ожидаемое значение. snr
функция вычисляет отношение степени основного принципа уровня шума и игнорирует компонент DC и гармоники.
snr(x,Fs);
Постройте спектр сигнала и аннотируйте общее гармоническое искажение (THD). thd
функция вычисляет отношение степени гармоник к основному принципу и игнорирует компонент DC и уровень шума.
thd(x,Fs);
Постройте спектр сигнала и аннотируйте отношение сигнала к шуму и искажениям (SINAD). sinad
функция вычисляет отношение степени основного принципа гармоник и уровня шума. Это игнорирует только компонент DC.
sinad(x,Fs);
Проверьте, что ОСШ, THD и SINAD выполняют уравнение
lhs = 10^(-snr(x,Fs)/10)+10^(thd(x,Fs)/10)
lhs = 7.2203e-08
rhs = 10^(-sinad(x,Fs)/10)
rhs = 7.1997e-08
Постройте спектр сигнала и аннотируйте свободный от паразитных составляющих динамический диапазон (SFDR). SFDR является отношением степени основного принципа самого сильного побочного компонента ("шпора"). В этом случае шпора соответствует третьей гармонике.
sfdr(x,Fs);