正弦波形的频率如何确定(振幅值为无符号数)

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:55:17
正在做一个题目,遇到困难,百思不得其解,寻求高人指点。

输入的数据为DTMF信号(两个不同频率的正弦波形的叠加),经过采样后,得到波形的振幅,但经过AD转换后只能得到无符号的振幅值,原先想利用FFT(快速傅立叶变换)来求得输入信号的频率分布,从而达到解码的目的,但要求输入的振幅值为有符号的。

有符号输入数据的FFT算法我已经掌握,但是对于无符号的振幅,如何得到信号的频率,实在头疼,等待高人指引。
老大,我也希望有那么简单的解决办法。

振幅经过采样后得到的是振幅的绝对值。

也就是说,AD转换只得到电压的大小,没有正负电压的区分。当你得到一个电压值时,不知道是正半周期的电压还是负半周期的电压。

谢谢hwdz一直以来的热情帮忙,可是DTMF信号本身是两个正弦信号的叠加,所以不像正弦信号那么简单。继续等待中……

再次感谢hwdz的帮忙,可事实上并不存在着倍频的关系。

那你能不能做一个计算,把它转变成有符号的呢?
也就是说,加一个1/2幅度的DC偏移。
我想,这个计算应该是简单得再也不能简单了吧?
如果你只会使用有符号的FFT,当减去半个采样幅度时,它不就是有符号的吗?也就是拿信号的中间当0。

那么处理稍复杂一些了,首先,要确定你要测的是规则的正弦波,而不是畸变过的,这样就可以知道两个特征,一是它的信号是上下对称的,二是过零可靠,不会有在0点附近反复跃的现象。

这样,你只要先检测过零,由过零触发,然后每过零一次时,奇次做为正信号,偶次作为负信号,就可以在内存中还原出一个完整的有符号正弦波了。

噢,忘记了,是DTMF,两个正弦波。
那你如果按现在的情况来处理的话,FFT出来得到的是不是倍频呢?除以2不就可以了?

wujie