基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(六)

基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(六)

ID:38783490

大小:279.84 KB

页数:6页

时间:2019-06-19

基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(六)_第1页
基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(六)_第2页
基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(六)_第3页
基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(六)_第4页
基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(六)_第5页
资源描述:

《基于DSP的科氏流量计变送器开发过程中遇到的问题及解决方案(六)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、(三)FFT1.采用DFT,采样点数小于0.7个周期或者不到1.56个周期时,计算X(1)的相位就是信号的初相位,因为X(1)对应的是信号的基频,但是如果采样点超过1.56周期,X(k)对应信号基频,k>1。点数小于0.7个周期,k=0。2.对每一个周期的采样点计算一次相位差,然后求平均值。3.采用TI的RFFT函数时,一定要在CMD文件中分配空间=2*FFT_SIZE,否则程序就跳飞了。4.使用TI的函数,需要两个库,IQmath_fpu32.lib和rts2800_fpu32.lib,compiler属性设置为-g-pdr-pdsw225-d"_DEBUG"-d"

2、LARGE_MODEL"-ml-mt-v28--float_support=fpu325.不要添加sincostable文件6.TI的RFFT函数,修改了SIZE以后,一定要同时修改stage!!!7.用TI的实数输入FFT函数的运行时间如下图(benchmarkinformation)8.求频率的时候,尤其是有噪声的时候,已知真实信号的频率大概在250左右,观察频谱发现噪声的频率很高,于是比较幅值的时候,遇见第一个峰值就停止,判断条件是第一个峰值的幅度比左右两边的值大于十倍就可以了,既缩短了运算时间,又准确,要不然求出的是噪声的频率。这个是错误的,不具有普适性!!!

3、基频处的幅值约等于采样点数*真实幅值/29.若想增加分辨率,要增加运算的点数或者减小采样频率,而内存有限,不如短时矩形窗求相位差的计算量小10.如果是整周期采样,则相位差误差几乎为011.使用优化,性能更佳!!!12.改进的ANF和短时汉宁窗DTFT算法计算时间为47.2083ms,频率变化1Hz,跟踪时间为188.92毫秒(四)短时矩形窗13.从2001个点开始进行滑窗,窗长度为8,每次滑动1个数据。14.修正的滑动DTFT算法,信噪比不能太大15.滑动DTFT实现不了,既要运算,又要监测键盘输入,还要更新显示屏,根本来不及处理数据,新的数据就覆盖了,不可行16.当

4、使用o3优化时,相位差误差明显增大(五)希尔伯特变换1.信号被截断,一头一尾几个点的值是不准确的,而且计算点数越少,现象越明显。信号的幅值变大,点数越少,变大的越明显,实际应用时,尽量多选取点,并且掐头去尾。2.跟采样频率和真实频率的比值有关,比值越大,增加的幅值越大,所以尽量选择小采样频率3.相关法求相位差发现,真实频率为160,采样频率为2k,点数为90,效果最好不加信号的时候,存在噪声,幅值在4V左右,且后边接近方波,说明存在高频噪声信号幅值0.23.1998115.9990.253.2182412.872960.33.2020910.670.38放大后幅值3.

5、217358.470.3853.226068.37选择幅值为0.3放大后为3.2对应于2048点FFT,幅值应为3277256点,最大幅值355.785(2.7795V)随着点数的增加,幅值越来越小,跟噪声幅值越来越接近,因此会出错把FFT里面的变量都设置为Uint16,512点可以实现,分辨率1.95Hz,响应时间14秒10%噪声512点20%最后这张图的50HZ处幅值最大50%累积流量1.累积流量是每次计算出瞬时流量以后计算的,具体怎么计算的不知道六、其他部分(一)键盘1.SET-56,ENTER-57,UP-62,DOWN-63,有键按下时,相应的引脚输入低电平

6、2.ENTER和SET同时按下,退出当前菜单。(二)ADS12473.ADS1247有一个芯片时钟引脚CLK和串行时钟引脚SCLK,不要搞混了。每进行完一次转换,自动进入shutdown模式,这个时候可以读取转换数据,但若想对寄存器进行配置,必须要让start为高电平。温度信号暂时不要理会!!!(三)SCI接受和发送在一块板上的,不需要收发器,双方不在一块板上才需要收发器。六、关于进程线程1.IfyouabsolutelymusthaveaRNG(randomnumbergenerator)intwoormorethreads,youbasicallyhavetwoo

7、ptions:1.Eachthreadhasitsownstate.EithertheRNGstatemustbeathread-localvariable,oryoumusthaveaseparateRNGstatevariableforeverythread.2.Or,theinterruptingthread/interruptmustrelinquishcontroltothethreadthatlockstheRNGstatetoavoiddeadlock.Ifyousimplyremovethelocks,youwillhavearace

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。