信号处理的一些知识

一个信号由两个及两个以上的sin或者cos构成(就是相当于傅里叶变换),那么如果这其中的这些sin或cos的周期有一个公倍数(w2/w1是一个有理数),那么这个信号则是一个周期信号,否则就是非周期信号。但是FFT都是可以去分析的。

几个参数

采样频率Fs:采样频率大于(2-4)倍的信号中sin或cos的最高频率。否则会出现频谱混叠。
采样周期T:Fs=1/采样频率。
信号长度L:一般信号长度等于采样频率,长度单位为(采样周期)的个数。
采样个数N:一般是和信号长度相等,在补零(nextpows2)时候有可能超过信号长度,会出现频谱泄露,解决办法提高采样个数,使他比当前数大的下一个二次方相等即可。
波形分辨率=Fs/L:为了避免出现栅栏效应,波形分辨率小于任意两个sin或cos之间的频率差值。
FFT分辨率=Fs/N:最好的方法就是设置它为原始信号中sin或cos频率的最大公约数(分辨周期为它们的最小公倍数),这样可以避免出现频谱泄露。
为了方便一般Fs=L=N。这样两个分辨率也是1。一般1小于任意两个sin或cos之间的频率差值(避免栅栏效应);一般1也是原始信号中sin或cos频率的公约数(避免频谱泄漏)。

升采样

就是提升L,matlab里面有个函数叫resample,可以提升波形分辨率。当L X1 = resample(X,N,n); %X是原始信号,这里前面的信号长度L可能是1000,但是这里N经过nextpows2后是2048。这里n=length(X)=L=1000。

补零

就是增加N和L的个数。
增加N作用:
1.matlab性能:仅仅为了提升算法运算性能。实际上N设置其它数字也是可以的或者不设N。
2.增加频域插点个数,提高FFT分辨率,避免出现频谱泄露(FFT分辨率小于任意两个sin或cos之间的频率差值)。
增加L作用:
1.避免出现栅栏效应

频谱泄露和栅栏效应(现象)

1.频谱泄露:频谱上对应原始信号的正弦信号幅值失真。
2.栅栏效应:例如本来有两个不同频率的正弦信号,现在反应到频谱上只有一个峰了。

你可能感兴趣的:(信号处理的一些知识)