声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2882|回复: 13

[FFT] 请问如何对加噪后的信号进行校正

[复制链接]
发表于 2008-7-9 14:27 | 显示全部楼层 |阅读模式

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

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

x
请问如何对加噪后的信号进行校正能否给个简单的:@P 例子?谢谢
回复
分享到:

使用道具 举报

 楼主| 发表于 2008-7-21 15:40 | 显示全部楼层
没人知道么????????????????
发表于 2008-7-21 21:51 | 显示全部楼层

如何对加噪后的信号进行校正

在任一种校正方法上加上噪声即可, 一般循环多次求均匀根值或均方误差. 下程序是FFT/apFFT组合校正法的加噪结果.
close all;clc;clear all;
T=100;k=1;
while T>0;
    T=T-1;
N=128;
w=2*pi;
t=-N+1:N-1;
f=3.19;
y=1.0*exp(j*(w*t*f/N+50.0*pi/180))+1*randn(size(t));
y1 = y(N:2*N-1);
win =  hanning(N)';
win1 = win/sum(win);
y11= y1.*win1;
y11_fft = fft(y11,N);
a1 = abs(y11_fft);
a11=a1(4)*2;
p1 = mod(phase(y11_fft)*180/pi,360);
y2 = y(1:2*N-1);
win =  hanning(N)';;
winn =  conv(win,win);%apFFT须要卷积窗
win2 = winn/sum(winn);
y22= y2.*win2;
y222=y22(N:end)+[0 y22(1:N-1)];%构成长N的apFFT输入数据
y2_fft = fft(y222,N);
a2 = abs(y2_fft);
p2=mod( phase(y2_fft)*180/pi,360);
      ee=(p1-p2)/180/(1-1/N);
      aa=(a1.^2)./a2;
        ff=round(f);
        p22(k)=p2(ff+1);
        f22(k)=ee(ff+1)+ff;
        a22(k)=aa(ff+1);
        k=k+1;
end
disp('phase correction')
p22=sqrt(mean(p22.^2))
disp('frequency correction')
f22=sqrt(mean(f22.^2))
disp('amplitude correction')
aaa=sqrt(mean(a22.^2))

运行结果
phase correction             p22 = 50.3756550128181
frequency correction       f22 =3.18756832433475
amplitude correction       aaa =1.01499361347264

[ 本帖最后由 zhwang554 于 2008-7-21 22:01 编辑 ]
 楼主| 发表于 2008-7-22 08:49 | 显示全部楼层

非常感谢3楼的回复

谢谢,我还有个弱弱的问题,一个纯净信号如果被加上了噪声,那它就有可能不是平稳的信号了,那么还能用诸如fft等频谱分析方法对其进行分析么,还可以用先前的各种校正方法对其进行校正了么,这个问题一直搞不明白,有什么资料可以参考么
发表于 2008-7-22 11:01 | 显示全部楼层

加噪信号的校正

一个信号加上噪声仍可以用FFT分析和校正, 这还是FFT分析的一个优点,

一个振幅为1的复指数信号在FFT振幅谱上的最大振幅约为1, 但幅值为1的随机噪声在N阶FFT振幅谱的方差只有1/N, 因为随机噪声的频谱是全部频谱,所以在每个频率上的噪声就均开了,只占1/N, 如N=1024, 则只占千分之一.

如3楼程序中,一个振幅为1,          频率为,3.19,        初相位50度   的复指数信号, 加上幅值为1的随机噪声, 从时域看信号失真很大, 但频域仍可分辨, 校正值为
     N=128            振幅为1.0089  频率为,3.1857     初相位50.259
     N=1024          振幅为1.0048  频率为,3.1906     初相位50.0854
校正误差不大. N越大, 误差越小.

校正方法不同,效果不一样,
能量中心法至少要以5条受噪声污染的谱线求出校正值, 有的谱线幅值还很小, 校正误差大
比值法的二条谱线有时一大一小, 幅值小的引起的误差就大了
时移相位差法, fft/apfft组合校正法等从二条最大幅值的谱线校正,效果好

现实机械振动信号都是有噪的, 只是有大有小, FFT分析时有的高次谐波谱线就被噪声淹没了

[ 本帖最后由 zhwang554 于 2008-7-22 15:18 编辑 ]
 楼主| 发表于 2008-7-23 14:30 | 显示全部楼层

非常感谢zhwang554

在丁康老师写的书中介绍了4种单频校正的方法:比值法,能量重心法,fft+ft法和相位差法,那zhwang554兄提到的fft/apfft是不是算第五种方法了,而且效果比前4种效果要好呢,另外哪里有介绍这种方法的详细点的资料。我现在做的课题与频谱校正相关,感觉相关资料有点少,就有一本书和一些pdf,不知道怎么深入研究下去,还请帮忙啊
发表于 2008-7-23 17:15 | 显示全部楼层

回复 6楼

fft有4种单频校正的方法:比值法,能量重心法,fft+ft法和相位差法,

apfft也有                          比值法,能量重心法,fft+ft法和相位差法,

fft/apfft组合校正法是利用fft的振幅谱a1,相位谱p1和apfft的振幅谱a2,相位谱p2来校正,有特点,如振幅A=a1.^2/a2; 可以一次将整个频谱的振幅校正值图示出,然后找出峰值处的校正振幅值, 而能量中心法等是先在振幅谱上一个个找峰值,再求校正值, 所以楼2中用了这种方法

各种校正方法中,用的谱线越少,用最大谱线, 噪声影响就小,fft相位差法, apfft相位差法, fft/apfft法均较好.

apfft可在下贴中可参玖

"如何准确确定信号中强线谱的相位?的帖子为:
http://forum.vibunion.com/forum/thread-41548-1-1.html

请教全相位谱分析问题的帖子为:
http://forum.vibunion.com/forum/thread-41727-1-1.html

"请求apFFT完整的算法,过程"的帖子为:
http://forum.vibunion.com/forum/thread-63944-1-2.html

[ 本帖最后由 zhwang554 于 2008-7-23 17:26 编辑 ]
发表于 2008-7-23 22:54 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-12 13:50 编辑
原帖由 eguang8116 于 2008-7-23 14:30 发表
在丁康老师写的书中介绍了4种单频校正的方法:比值法,能量重心法,fft+ft法和相位差法,那zhwang554兄提到的fft/apfft是不是算第五种方法了,而且效果比前4种效果要好呢,另外哪里有介绍这种方法的详细点的资料。我 ...


<<离散频谱分析校正理论与技术>>一书已由科学出版社出版了,可作为参考,中间讨论了在高斯白噪声下,比值法和几种相位差法的精度

[ 本帖最后由 yangzj 于 2008-7-23 22:55 编辑 ]
 楼主| 发表于 2008-7-24 17:07 | 显示全部楼层

非常感谢2位!

有机会希望继续请教
发表于 2008-8-3 10:08 | 显示全部楼层

各位大侠,如果是多频信号加噪

如果是多频信号加入噪声,而且多频信号中的幅值有十分小的项,比如最小幅值0.05,为了能够识别有用信号,进行频谱校正,请问应该加入多大的噪声信号
 楼主| 发表于 2008-8-3 23:02 | 显示全部楼层
我觉得如果信号本身比较小的话,加噪声会把信号淹没
发表于 2009-3-12 18:36 | 显示全部楼层

回复 6楼 的帖子

本帖最后由 wdhd 于 2016-9-12 13:50 编辑

  王兆华,黄翔东:数字信号全相位谱分析和滤波技术,电子工业出版社,2009.3
  一书己出版,
  书中笫1-6章详细介绍了全相位FFT频谱分析和校正,可参考.
  书中还附有3个matlab程序
  fft和apfft 比较程序
  fft/apfft 时移相位差法校正程序,
  apfft/apfft 时移相位差法校正程序
  [ 本帖最后由 zhwang554 于 2009-3-12 18:46 编辑 ]
发表于 2009-3-12 20:37 | 显示全部楼层

回复楼主!

也可以参考杨志坚,丁康论文,有两篇是关于噪声背景下离散频谱校正的
发表于 2012-11-29 23:12 | 显示全部楼层
看了王博士和王兆华老师的书,发现频谱校正都是采用模拟信号,比如上面的程序中,已知了f=3.19,才有了下面的程序ff=round(f);
如果从现场采集了一段信号,不确定信号的形式,这种方法还行吗?
我正在思考,谢谢老师指点
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-11 03:38 , Processed in 0.073888 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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