amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 2341|回复: 4

正弦波采样分析

[复制链接]
发表于 2012-3-5 18:30:42 | 显示全部楼层 |阅读模式
马老师, 
 您好,
 看了用AVR产生正弦波的例子,但有点搞不清,如何去计算正弦波的副值 与 频率? 如何去分析这个采样?
发表于 2012-3-9 16:04:12 | 显示全部楼层
计算公式书上已经写了,分析和使用是基于数字信号处理中最基本的采样定理的
发表于 2012-4-4 02:16:23 | 显示全部楼层
正弦波的参数(通常指四参数估计即振幅, 频率, 初相, 直流电平)也称单音(single-tone)的估计是测量学与参数估计中最基本的问题, 有丰富的算法可以解决问题, 具体的使用什么算法要根据需求(精度与实时性等)与嵌入式系统的性能综合考量来决定.

整个过程大致可以分为采样与估计两个阶段:

对于采样来讲,  采样率要满足Shannon采样定理(即是待估单音频率的二倍以上), 而IEEE-1057[1]则建议使用5倍以上的采样频率, 同时采样时间最好也超过5个周期, 否则引入的有限长效应你是无法克服的.  同时, 采样器的字长, 也是你需要关注的, 不过在存储也采样设备告诉发展的今天, 这个问题可能不严重.

对于估计来讲, 有丰富的算法

文献[2]提出的算法是最基础的算法(基于极大似然的), 能够达到估计下界, 但是复杂度太高, 文献[3][4]在此基础上提出使用FFT结合二分法来估计单音, 不损失精度的同时很好的降低了时间复杂度. 如果系统有一定的计算能力(现在STM32都支持FFT,而二分法仅用一个while循环就能搞定). 上述算法都在集中精力估计频率, 因为[1]已经指出, 频率搞定了, 相位啥的都很easy.

测量领域推荐的是迭代式最小二乘法,四个参数一起算, 精度很高, 算法在[1]中描述的很清楚, 但是最小二乘牵扯到矩阵运算,  c代码的实现有一定难度.

如果系统的硬件性能实在是很低(如51, AVR ), 则推荐使用过零法, 思想很简单, 网上也有代码, SNR较高的时候效果也不错.

还有的系统实时性要求非常高, 那就需要序贯算法了, 抽时间我会介绍的.

[1] IEEE 1057-1994 standard (IEEE Standard for Digitizing Waveform Recorders)
[2]Single tone parameter estimation from discrete-time observations
[3]A modified dichotomous search frequency estimator
[4]A modified dichotomous search frequency estimator
发表于 2012-4-14 18:58:37 | 显示全部楼层
楼上纯是个书呆子。连LZ的问题都没有看明白。当然LZ问的问题也是概念不清楚。
发表于 2014-4-27 21:10:07 | 显示全部楼层
路过路过了  顺便看看
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-9-23 07:51

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表