去除信號中的直流分量


一、去除信號中的直流分量的兩種方法

  1. 信號中的每個數據減去平均值
  2. 通過對數據做FFT變換,令FFT變換后的Y = FFT(X),Y(1)=0即可去除信號中的直流分量

二、去除信號中的直流分量的代碼

%%%第二種方法
x = rand(128, 1);
L=128;%信號長度
F=0:127;
f = fft(x);
A = abs(f);
A = A/(L/2);
subplot(1,2,1)
plot(F(1:L/2),A(1:L/2));%原數據的FFT
f(1) = 0;%令f(1)置0
f1 =f ;
x_ac = real(ifft(f1));
A1 = abs(f1);
A1 = A1/(L/2);
subplot(1,2,2)
plot(F(1:L/2),A1(1:L/2));%去除直流分量后的FFT
%%%第一種方法
x2 = x-mean(x);

三、原因:

一個信號f(x)可以分解為無數信號,即:

 

 

 

可以看到,會有cos(0.x) = 1的直流成分,其中的ω=0,即頻率為0的頻譜

而,我們所做的工作,所有數據減去平均值,最后會令整個數據的平均值為0,這個數據就成為了奇函數產生的結果,這個時候對其進行分解,只會存在

 

 這個時候就不存在cos(0.x)的直流成分

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM