马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我的信噪比的计算函数如下:
function y=snr1(x1,x2);%x1是原始信号,x2是降噪后信号
y1=sum(x2.^2); %不是x1
y2=sum((x1-x2).^2); %y2=sum((abs(x1)-abs(x2)).^2)
y=10*log10((y1/y2)); %不是log()
我的仿真程序如下:
t=0:0.001:1;
x=sin(4*pi*t);
xn=x+0.5*rand(1,1001);
y2=medfilt1(xn,2);
y4=medfilt1(xn,4);
subplot(2,2,1);plot(t,x);title('Signal')
subplot(2,2,2);plot(t,xn);title('Signal+Noise')
subplot(2,2,3);plot(t,y2);title('2nd order')
subplot(2,2,4);plot(t,y4); title('4th order')
z2=snr(xn,y2);
z4=snr(xn,y4);
我的疑问如下:我的仿真图示结果显示:4阶结果信噪比好一点,但用信噪比公式计算结果却显示:2阶时的信噪比好一点。究竟是哪里出错了?
是我的信噪比计算公式错了?还是我对图的感觉错了?
[ 本帖最后由 大鹏之举 于 2009-5-25 22:12 编辑 ] |