www.gusucode.com > signal 案例源码程序 matlab代码 > signal/ThirdOrderInterceptPointFromPowerSpectralDensityExample.m
%% Third-Order Intercept Point from Power Spectral Density % Create a two-tone sinusoid with frequencies 5 kHz and 6 kHz, sampled at % 48 kHz. Make the signal nonlinear by evaluating a polynomial. Add noise. % Set the random number generator to the default settings for reproducible % results. % Copyright 2015 The MathWorks, Inc. %% rng default fi1 = 5e3; fi2 = 6e3; Fs = 48e3; N = 1000; x = sin(2*pi*fi1/Fs*(1:N))+sin(2*pi*fi2/Fs*(1:N)); y = polyval([0.5e-3 1e-7 0.1 3e-3],x)+1e-5*randn(1,N); %% % Evaluate the periodogram of the signal using a Kaiser window. Compute the % TOI using the power spectral density. Plot the result. w = kaiser(numel(y),38); [Sxx, F] = periodogram(y,w,N,Fs,'psd'); [myTOI,Pfund,Ffund,Pim3,Fim3] = toi(Sxx,F,'psd') toi(Sxx,F,'psd');