how do i code toi.m ?
古いコメントを表示
I need to code toi.m in order to find the third order intercept. Could someone guide me in order to code the c equivalent ?
1 件のコメント
Walter Roberson
2016 年 2 月 27 日
What is "toi" for this purpose?
回答 (1 件)
John BG
2016 年 2 月 27 日
MATLAB starts toi with 3 very useful examples:
1.- direct Intercept Point IP3:
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)
[myTOI,Pfund,Ffund,Pim3,Fim3] = toi(y,Fs)
2.- IP3 from power spectral density:
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)
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')
3.- IP3 from power spectrum
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)
w = kaiser(numel(y),38)
[Sxx,F] = periodogram(y,w,N,Fs,'power')
toi(Sxx,F,enbw(w,Fs),'power')
4.- Intermodulation products
rng default
x = sin(2*pi*5/32*(1:640))+cos(2*pi*7/32*(1:640));
q = x + 0.01*x.^3 + 1e-2*randn(size(x));
[myTOI,Pfund,Ffund,Pim3,Fim3] = toi(q,32)
If you find this answer of any help solving this question, please click on the thumbs-up vote link,
thanks in advance
John
カテゴリ
ヘルプ センター および File Exchange で MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!