Dastur kodi:
D = 16;
b = exp(1i*pi/4)*[-0.7 1];
a = [1 -0.7];
ntr = 1000;
s = sign(randn(1,ntr+D)) + 1i*sign(randn(1,ntr+D));
n = 0.1*(randn(1,ntr+D) + 1i*randn(1,ntr+D));
r = filter(b,a,s) + n;
x = r(1+D:ntr+D);
d = s(1:ntr);
lam = 0.995;
del = 1;
alf = dsp.AdaptiveLatticeFilter('Length', 32, ...
'ForgettingFactor', lam, 'InitialPredictionErrorPower', del);
[y,e] = alf(x,d);
Plot the In-Phase and the Quadrature components of the desired, output, and the error signals.
subplot(2,2,1); plot(1:ntr,real([d;y;e]));
title('In-Phase Components');
legend('Desired','Output','Error');
xlabel('time index'); ylabel('signal value');
subplot(2,2,2); plot(1:ntr,imag([d;y;e]));
title('Quadrature Components');
legend('Desired','Output','Error');
xlabel('time index'); ylabel('signal value');
Plot the received and equalized signals’ scatter plots.
subplot(2,2,3); plot(x(ntr-100:ntr),'.'); axis([-3 3 -3 3]);
title('Received Signal Scatter Plot'); axis('square');
xlabel('Real[x]'); ylabel('Imag[x]'); grid on;
subplot(2,2,4); plot(y(ntr-100:ntr),'.'); axis([-3 3 -3 3]);
title('Equalized Signal Scatter Plot'); axis('square');
xlabel('Real[y]'); ylabel('Imag[y]'); grid on;
D = 16;
b = exp(1i*pi/4)*[-0.7 1];
a = [1 -0.7];
ntr = 1000;
s = sign(randn(1,ntr+D)) + 1i*sign(randn(1,ntr+D));
n = 0.1*(randn(1,ntr+D) + 1i*randn(1,ntr+D));
r = filter(b,a,s) + n;
x = r(1+D:ntr+D);
d = s(1:ntr);
lam = 0.995;
del = 1;
alf = dsp.AdaptiveLatticeFilter('uzunligi', 32, ...
'F faktor', lam, 'Dastlabki kirish', del);
[y,e] = alf(x,d);
subplot(2,2,1); plot(1:ntr,real([d;y;e]));
title('In-faza komponentlari');
legend('Desired','Output','Error');
xlabel('vaqt indeksi'); ylabel('qiymat');
subplot(2,2,2); plot(1:ntr,imag([d;y;e]));
title('Kvadrat komponentlar');
legend('Desired','Output','Error');
xlabel('time indeksi'); ylabel('qiymat');
DASTUR NATIJASI:
subplot(2,2,3); plot(x(ntr-100:ntr),'.'); axis([-3 3 -3 3]);
title('Qabul qilingan signalning tarqalish sxemasi'); axis('kvadrat');
xlabel('Real[x]'); ylabel('Imag[x]'); grid on;
subplot(2,2,4); plot(y(ntr-100:ntr),'.'); axis([-3 3 -3 3]);
title('Tenglashtirilgan signalning tarqalish sxemasi'); axis('kvadrat');
xlabel('Real[y]'); ylabel('Imag[y]'); grid on;
ha = fir1(31,0.5);
fir = dsp.FIRFilter('hisoblagich',ha);
iir = dsp.IIRFilter('hisoblagich',sqrt(0.75),...
'Denominator',[1 -0.5]);
x = iir(sign(randn(2000,25)));
n = 0.1*randn(size(x));
d = fir(x)+n;
% Filter uzunligi
l = 32;
m = 5;
ha = dsp.AdaptiveLatticeFilter(l);
[simmse,meanWsim,Wsim,traceKsim] = msesim(ha,x,d,m);
plot(m*(1:length(simmse)),10*log10(simmse));
xlabel('Iteratsiya');
ylabel('MSE (dB)');
title('O`rganish egri chizig`i');
Do'stlaringiz bilan baham: |