matlab 去除直流 频谱,深入浅出解释FFT(三)——去掉频谱中的直流分量

不论是FFT还是DCT或者其它变换中,都存在将直流分量置零的方法。比如将信号的一阶导数进行FFT变换后置零直流分量。

在模拟部分的电路中,不少元件(如放大器)输出会有直流漂移(即输出应该为零时,实际上是一个直流电压)。这个漂移会对下一级的放大等功能发生影响。所以通常在各级之间采用交流耦合(最简单的就是用一个电容隔开)。这样,信号的直流部分也就不能通过。所以在接收端,所有的直流分量都来自于系统的直流漂移,需要除掉。

另一种情况是模拟电路之间需要阻抗匹配时(如音频放大器和扬声器之间),最简单的方法是用变压器耦合。这时直流也不能通过。 信号处理中的另一种情况是需要提取寄生在很大直流信号上的一个很小的交变信号。这时候也需要去除直流信号。最简便的办法就是傅立叶变换后把直流分量置零。

如果使用直流分量,

1. 和直流偏置混在一起

2. 耗电

3. 浪费DA/AD的动态范围

经常会听说信号做频谱变换后要做去除直流分量的处理,我想请教其理论和具体实现。请大家不吝赐教。

我这里有一个例子,在一正弦信号和一线性信号中加入直流成分。做频谱变换,得到的结果从图上看也确实存在直流成分的干扰,确实需要去除。但我这里是事先已知直流成分。更一般的情况是,对于信号,我们根本不确定是否有直流成分,或者不知道直流成分为多少,对之进行采集,做频谱变换。那么,我们该怎样对频谱做处理,才能消除其中由被采集信号的直流成分导致的误差呢?

我的程序是:

clear,clc

close all

x = 0:1/1024:1-1/1024;

y = sin(2*pi*10*x);

z = f

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值