• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-02-12
  • 语言: Matlab
  • 标签: SVD奇异  svd分解  

资源简介

用奇异值分解(SVD)的方法进行噪声去除

资源截图

代码片段和文件信息

clear all;

%%调用含噪文件leleccum; 
load leleccum; 
x=leleccum;
N=length(x)-320;
L=10;
M=N/L;
subplot(211);plot(x(1:N));
xlabel(‘n‘);title(‘原始信号‘);

%%形成数据矩阵A行数为L列数为M
A=zeros(LM);
for i=1:L
for j=1:M
A(ij)=x(M*(i-1)+j);
end
end

%%对数据矩阵A作SVD
[U S V]=svd(A);
sigma=diag(S(1:min(LM)1:min(LM)));
subplot(212);stem(sigma‘filling‘);
xlabel(‘k‘);title(‘原始信号的奇异值‘);

%%SVD滤波
%(一)阈值设为奇异值的平均值
s1=sigma;
S1=S;
for i=1:min(LM)
   if s1(i)      s1(i)=0;
   end
end 
S1(1:min(LM)1:min(LM))=diag(s1);
A1=U*S1*V‘;
for i=1:L
    for j=1:M
    x1(M*(i-1)+j)=A1(ij);
    end
end
figure;subplot(231);plot(x1);
xlabel(‘n‘);title(‘方

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1441  2008-12-31 21:36  svd_nosie_removing\svd_nosie_removing.m

     目录          0  2010-04-22 18:59  svd_nosie_removing

----------- ---------  ---------- -----  ----

                 1441                    2


评论

共有 条评论