БЕЛГОРОД,2013
БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ
1. Сгенерировать сигналы x1 и x2 длительностью N=200, данные взять из таблицы 1 для своего варианта, построить графики сигналов. Листинг программы: clear clc i=0 for a=0:0.05:10-0.05; i=i+1; X1(i)=2*abs(cos(a*pi)); X2(i)=2*abs(cos(a*pi)+1.5*pi); end; figure(1) plot(X1) figure(2) plot(X2) На рисунках 1 и 2 представлены результаты работы программы. Рисунок 1 – график сигнала Х1 Рисунок 2 - график сигнала Х2 2. Сгенерировать сигнал шума S, используя функцию randn(). Листинг программы: clear clc i=0 S=randn(1,200); for a=0:0.05:10-0.05; i=i+1; X1(i)=2*abs(cos(a*pi)); X2(i)=2*abs(cos(a*pi)+1.5*pi); end; figure(1) plot(X1) figure(2) plot(X2) figure(3) plot(S)
На рисунке 3 представлен результат выполнения программы. Рисунок 3 – график шумового сигнала S
3. Сгенерировать сигналы x1+ S и x2+S, построить графики сигналов. Листинг программы: clear clc i=0 S=randn(1,200); for a=0:0.05:10-0.05; i=i+1; X1(i)=2*abs(cos(a*pi)); X2(i)=2*abs(cos(a*pi)+1.5*pi); end; for i=1:1:200 C1(i)=X1(i)+S(i); C2(i)=X2(i)+S(i); end; figure(1) plot(C1) figure(2) plot(C2)
На рисунках 4 и 5 представлен результат работы программы. Рисунок 4 – график сигнала Х1 с добавлением шума Рисунок 5– график сигнала Х2 с добавлением шума
4. Найти коэффициент взаимной корреляции сигналов x1 и x2. Листинг программы: clear clc i=0; N=200; S=randn(1,N); C=0; for a=0:0.05:10-0.05; i=i+1; X1(i)=2*abs(cos(a*pi)); X2(i)=2*abs(cos(a*pi)+1.5*pi); end; % коррел for n=1:N r(n)=X1(n)*X2(n); C=C+r(n); end; R=C/N % коэф коррел V=0 F=0 for n=1:N v=(X1(n))^2; f=(X2(n))^2; V=V+v; F=F+f; end; P=(N*R)/(sqrt(V*F))
На рисунке 6 представлен результат выполнения программы. Рисунок 6 – коэффициент корреляции сигналов Х1 и Х2
5. Найти коэффициент взаимной корреляции двух зашумленных сигналов x1+ S и x2+S. Листинг программы: clear clc i=0; N=200; S=randn(1,N); C=0; for a=0:0.05:10-0.05; i=i+1; X1(i)=2*abs(cos(a*pi)); X2(i)=2*abs(cos(a*pi)+1.5*pi); end; % коррел for i=1:1:200 C1(i)=X1(i)+S(i); C2(i)=X2(i)+S(i); end; for n=1:N r(n)=C1(n)*C2(n); C=C+r(n); end; R=C/N % коэф коррел V=0 F=0 for n=1:N v=(C1(n))^2; f=(C2(n))^2; V=V+v; F=F+f; end; P=(N*R)/(sqrt(V*F))
На рисунке 7 представлен результат выполнения программы. Рисунок 7 – коэффициент корреляции зашумленных сигналов
6. Найти функцию взаимной корреляции двух зашумленных сигналов x1+ S и x2+S. Листинг программы: clear clc i=0; N=200; S=randn(1,N); C=0; for a=0:0.05:10-0.05; i=i+1; X1(i)=2*abs(cos(a*pi)); X2(i)=2*abs(cos(a*pi)+1.5*pi); end;
for i=1:1:200 C1(i)=X1(i)+S(i); C2(i)=X2(i)+S(i); end; for n=1:N r(n)=C1(n)*C2(n); C=C+r(n); end; R=C/N
Результат выполнения программы представлен на рисунке 8. Рисунок 8 – функция взаимной корреляции двух зашумленных сигналов x1+ S и x2+S
7. Найти автокорреляционные функции для сигналов x1, x2, x1+ S, x2+S и определить их период, вывести графики функций. Листинг программы: clear clc i=0; N=200; S=randn(1,N); C=0; for a=0:0.05:10-0.05; i=i+1; X1(i)=2*abs(cos(a*pi)); X2(i)=2*abs(cos(a*pi)+1.5*pi); end; for i=1:1:200 C1(i)=X1(i)+S(i); C2(i)=X2(i)+S(i); end; m1=max(X1); m2=max(X2); m3=max(C1); m4=max(C2); for n=1:(N-2) for j=1:(N-2) s1(j)=sum((X1(j)/m1*X1(j+2)/m1)); s2(j)=sum((X2(j)/m2*X2(j+2)/m2)); s3(j)=sum((C1(j)/m3*C1(j+2)/m3)); s4(j)=sum((C2(j)/m4*C2(j+2)/m4)); r11(j)=s1(j)/N; r22(j)=s2(j)/N; r33(j)=s3(j)/N; r44(j)=s4(j)/N; end; end; figure(1) plot(r11) figure(2) plot(r22) figure(3) plot(r33) figure(4) plot(r44)
На рисунках 9, 10, 11 и 12 представлен результат выполнения программы. Рисунок 9 – график автокорреляционной функции для сигнала Х1
Рисунок 10 – график автокорреляционной функции для сигнала Х2 Рисунок 11 – график автокорреляционной функции для сигнала Х1+ S Рисунок 12 – график автокорреляционной функции для сигнала Х2+ S 8. Найти связь между корреляционными функциями с нулевой задержкой двух различных сигналов x1 и x2, и их общим энергетическим содержимым. Листинг программы: clear clc i=0; N=200; S=randn(1,N); C=0; for a=0:0.05:10-0.05; i=i+1; X1(i)=2*abs(cos(a*pi)); X2(i)=2*abs(cos(a*pi)+1.5*pi); end;
for n=1:(N-2) l=sum(X1(n)^2); m=sum(X2(n)^2); g=sum(X1(n)*X2(n)); Ev=(l/N)+(m/N)+(g/N); end;
На рисунке 13 представлен результат работы программы. Рисунок 13 – связь между корреляционными функциями с нулевой задержкой двух различных сигналов x1 и x2, и их общим энергетическим содержимым
9. Сделать выводы.
|