iyi günler. matlabte sinüzoidal bir x sinyali oluşturup random bir gürültü ile topladım. Ardından gürültülü sinyale svd uygulayıp U S V yi çizdirdim fakat gürültü ve sinyali ayrı ayrı göremedim. Ne yapmam gerekiyor. Yazdığım kodlar şu şekildedir:
T=50; n=[0:T-1]; N=5; x=sin(2*pi*n/N); g=randn(size(x)); X=x+g; [U S V]=svd(X); figure(1); subplot(3,1,1); plot(x); title('sinyalimiz'); subplot(3,1,2); plot(g); title('gürültü'); subplot(3,1,3); plot(X); title('gürültülü sinyal'); figure(2); subplot(3,2,1); plot(U); title('U'); subplot(3,2,2); plot(S); title('s'); subplot(3,2,3); plot(V); title('V');
2 Cevap
En iyi cevap
Merhaba,
Öncelikle aşağıdaki gibi n değerinin adım sayısını arttırırsanız daha düzgün sinüs dalgası elde edersiniz:
n=[0:0.1:T-1];
Sizin kodunuzda oluşturduğunuz gürültü değeri sinüs değerine göre çok büyük ve bundan dolayı da sonucu domine ediyor. Aşağıdaki gibi gürültüyü küçülterek sonuçları tekrar bastırabilirsiniz.
g=randn(size(x))*0.1;[adinserter block="2"]