请问如何对加噪后的信号进行校正
请问如何对加噪后的信号进行校正能否给个简单的:@P 例子?谢谢 没人知道么????????????????如何对加噪后的信号进行校正
在任一种校正方法上加上噪声即可, 一般循环多次求均匀根值或均方误差. 下程序是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)+;%构成长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 编辑 ]
非常感谢3楼的回复
谢谢,我还有个弱弱的问题,一个纯净信号如果被加上了噪声,那它就有可能不是平稳的信号了,那么还能用诸如fft等频谱分析方法对其进行分析么,还可以用先前的各种校正方法对其进行校正了么,这个问题一直搞不明白,有什么资料可以参考么加噪信号的校正
一个信号加上噪声仍可以用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 编辑 ]
非常感谢zhwang554
在丁康老师写的书中介绍了4种单频校正的方法:比值法,能量重心法,fft+ft法和相位差法,那zhwang554兄提到的fft/apfft是不是算第五种方法了,而且效果比前4种效果要好呢,另外哪里有介绍这种方法的详细点的资料。我现在做的课题与频谱校正相关,感觉相关资料有点少,就有一本书和一些pdf,不知道怎么深入研究下去,还请帮忙啊回复 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 编辑 ] 本帖最后由 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 编辑 ]
非常感谢2位!
有机会希望继续请教各位大侠,如果是多频信号加噪
如果是多频信号加入噪声,而且多频信号中的幅值有十分小的项,比如最小幅值0.05,为了能够识别有用信号,进行频谱校正,请问应该加入多大的噪声信号 我觉得如果信号本身比较小的话,加噪声会把信号淹没回复 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 编辑 ]
回复楼主!
也可以参考杨志坚,丁康论文,有两篇是关于噪声背景下离散频谱校正的 看了王博士和王兆华老师的书,发现频谱校正都是采用模拟信号,比如上面的程序中,已知了f=3.19,才有了下面的程序ff=round(f);如果从现场采集了一段信号,不确定信号的形式,这种方法还行吗?
我正在思考,谢谢老师指点
页:
[1]