14 Temmuz 2011 Perşembe

Matlabda "awgn" komutunun kullanımı

Matlabda workspace yüklediğimiz bir ses dosyasına white gauss noise eklemek için kullanılır.

awgn(x,snr)

Şeklinde kullanılır. x üzerine gürültü eklemek istediğimiz ses dosyasının matlabda matris karşılığıdır. snr değeri db cinsindedir ve 10log(Pses/Pnoise)=snr şeklinde hesaplanır. snr nin 0 olduğu durumlarda ses dosyasının enerjisi ile gürültinin enerjisi birbirine eşittir. Bu yüzden gürültü ile müziği eşit duyarız ama gürültü orjinal sesi çok fazla bozduğu için orjinal ses dosyasının varlığını anlayamayız.

kısaca awgn matlabda ses dosyasına white gauss noise eklemek için kullanılır.

Curve Fitting

Tablodaki verilere doğrusal ve ikinci dereceden grafik uydurma (curve?fitting)
yapınız. Hangisinin daha iyi olduğunu belirtiniz.

x=[1 2.5 3.5 4 1.1 1.8 2.2 3.7]
y=[6.008 15.722 27.130 33.772 5.257 9.549 11.098 28.828]

Cevap

a) Script


x=[1 2.5 3.5 4 1.1 1.8 2.2 3.7];
y=[6.008 15.722 27.130 33.772 5.257 9.549 11.098 28.828];

xort=mean(x);
yort=mean(y);
c=0;
d=0;
for i=1:length(x)
    c=c+y(i)*(x(i)-xort);
    d=d+x(i)*(x(i)-xort);
end
b=c/d;
a=yort-xort*b;
fprintf('a değeri %8.2f \n',a);
fprintf('b değeri %8.2f',b);

Output

a değeri    -6.19 
b değeri     9.44

b) Script

A=[1 2.5 3.5 4 1.1 1.8 2.2 3.7];
B=[6.008 15.722 27.130 33.772 5.257 9.549 11.098 28.828];
n=length(A);

a11=n; a12=sum(A); a13=sum(A.*A);
a21=sum(A); a22=sum(A.*A); a23=sum(A.*A.*A);
a31=sum(A.*A); a32=sum(A.*A.*A); a33=sum(A.*A.*A.*A);

z=[a11 a12 a13;a21 a22 a23;a31 a32 a33];
b1=sum(B);
b2=sum(A.*B);
b3=sum(A.*A.*B);
w=[b1;b2;b3];

abc=z\w;
a=abc(1)
b=abc(2)
c=abc(3)

Output

a =    4.4057

b =   -1.0689

c =    2.1081







Matlabda kübik interpolasyon yardımı ile soru çözümü

Soru 1: A6ağıdaki tablo hava yoğunluğunun yükseklikle deği6im bilgisini içermektedir.
Tabloda verilen verilere, doğal sınır ko6ulları kabul ederek “kübik interpolasyon”
uygulayınız. h= 5 km ve 8 km yükseklikteki hava yoğunluğunu hesaplayınız.

h=[0 1.525 3.050 4.575 6.100 7.625 9.150]
p=[1 0.8617 0.7385 0.6292 0.5328 0.4481 0.3741]


Cevap;

Kübik function;

function y=kubik(c,h,p,i,a)
syms x;
y=((x-h(i+1))^3/(h(i)-h(i+1))-((x-h(i+1))*(h(i)-h(i+1))))*c(i)/6;
y=y-((x-h(i))^3/(h(i)-h(i+1))-((x-h(i))*(h(i)-h(i+1))))*c(i+1)/6;
y=y+(p(i)*(x-h(i+1))-p(i+1)*(x-h(i)))/(h(i)-h(i+1));

subs(y,x,a)


Uygulama Scripti;

h=[0 1.525 3.050 4.575 6.100 7.625 9.150];
p=[1 0.8617 0.7385 0.6292 0.5328 0.4481 0.3741];
h1=h(2)-h(1);

k(1)=0;k(7)=0;

for i=2:6
    l(i-1)=6/(h1*h1)*(p(i-1)-2*p(i)+p(i+1));
end

b=[4 1 0 0 0;1 4 1 0 0;0 1 4 1 0;0 0 1 4 1;0 0 0 1 4];

c=l/b;
d=c;

for i=1:5
    c(i+1)=d(i);
end

c(1)=k(1);
c(7)=k(7);

e=kubik(c,h,p,4,5);