声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1416|回复: 12

[编程技巧] 请教高手关于消噪的问题

[复制链接]
发表于 2006-11-21 10:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我是新手,用noisy=awgn(signal,25)给信号加噪25db,然后用happy的程序分析得出的信噪比为55.8713,为什么不是25呢?

[ 本帖最后由 lxq 于 2006-11-21 10:54 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-11-21 10:44 | 显示全部楼层
原帖由 crystalmonkey 于 2006-11-21 10:42 发表
我是新手,用noisy=awgn(signal,25)给信号加噪25db,然后用happy的程序分析得出的信噪比为55.8713,为什么不是25呢?



请仔细阅读awgn函数的用法
 楼主| 发表于 2006-11-21 11:01 | 显示全部楼层
谢谢8哥回复,我不是搞信号的,所以概念有些不清,我采集的信号是ansys生成的结构自振频率,awgn中所说的将原始信号视为0dbw是什么意思?这时噪声又是多少dbw呢?awgn到底是怎么加的噪声和如何衡量的?请指教。
发表于 2006-11-21 11:02 | 显示全部楼层
原帖由 crystalmonkey 于 2006-11-21 11:01 发表
谢谢8哥回复,我不是搞信号的,所以概念有些不清,我采集的信号是ansys生成的结构自振频率,awgn中所说的将原始信号视为0dbw是什么意思?这时噪声又是多少dbw呢?awgn到底是怎么加的噪声和如何衡量的?请指教。



版面搜索关于添加噪声的精华贴
 楼主| 发表于 2006-11-21 11:12 | 显示全部楼层
精华贴我已经看了,还是不是很明白,我在用awgn时加上'measured'参数,再用happy 的程序结果就成了18.6103,我用10*log10((std(signal)^2/(std(signal-noisy))^2))的结果是18.6501
发表于 2006-11-21 11:19 | 显示全部楼层
原帖由 crystalmonkey 于 2006-11-21 11:12 发表
精华贴我已经看了,还是不是很明白,我在用awgn时加上'measured'参数,再用happy 的程序结果就成了18.6103,我用10*log10((std(signal)^2/(std(signal-noisy))^2))的结果是18.6501



请搞清楚你要添加的噪声是按照比值还是分贝作为单位
 楼主| 发表于 2006-11-21 11:40 | 显示全部楼层
以分贝为单位,比如我要加入噪声,使生成的信号的信噪比是25分贝,而且用happy 的程序算也是25分贝,我应该怎么用awgn函数呢?请指教。
发表于 2006-11-21 12:29 | 显示全部楼层
原帖由 crystalmonkey 于 2006-11-21 11:40 发表
以分贝为单位,比如我要加入噪声,使生成的信号的信噪比是25分贝,而且用happy 的程序算也是25分贝,我应该怎么用awgn函数呢?请指教。


awgn(signal,25,'measured')就可以了
 楼主| 发表于 2006-11-21 12:42 | 显示全部楼层
我就是这样做的,答案是18.6103,我的信号是1*400矩阵,数值从十几到一百二十几。
发表于 2006-11-21 13:19 | 显示全部楼层
原帖由 crystalmonkey 于 2006-11-21 12:42 发表
我就是这样做的,答案是18.6103,我的信号是1*400矩阵,数值从十几到一百二十几。



>> x=ones(1,180);
>> y=awgn(x,20,'measured');
>> 10*log10(sum(x.^2)/sum((y-x).^2))

ans =

   20.2039
 楼主| 发表于 2006-11-21 19:32 | 显示全部楼层
用你的方法的确是对的,谢谢指教!但用那个程序SNR(signal,noisy)就不对,而且我也读不懂他的第一项为什么要先减去均值再取平方呢?我的上一个回帖利用的方差比再取对数错在哪呢?请再指教。
发表于 2006-11-21 19:37 | 显示全部楼层
原帖由 crystalmonkey 于 2006-11-21 19:32 发表
用你的方法的确是对的,谢谢指教!但用那个程序SNR(signal,noisy)就不对,而且我也读不懂他的第一项为什么要先减去均值再取平方呢?我的上一个回帖利用的方差比再取对数错在哪呢?请再指教。



个人理解:先减去均值和你所用的方差,都是不同的计算方式而已。但是matlab中默认的SNR就是强度之比,所以如果你要跟它比较当然要用强度的方式
 楼主| 发表于 2006-11-21 19:57 | 显示全部楼层
那就是说SNR不同的定义或算法有不同的数值了?不懂。不过现在又能和MATLAB相比较的就先用吧,现在大家都时间紧,很浮躁。我也不能免俗。虽然我很想把它搞懂。希望能在向你请教。我用小波分解降噪后重构的方法降噪,各层的阀值有没有经验公式计算呢?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-13 12:07 , Processed in 0.059190 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表