9720

帖子

24

TA的资源

版主

21
 
cruelfox 发表于 2019-8-1 13:02 不对。 delta 是要算的位置和最近的采样点的距离,最大值只能是 0.5 按你这个表,要算 9.7 的值的话, ...

delta前边加负号结果是正确的

“要算 9.7 的值的话,c这一列的系数是错的。a=9 对应的 c是0.3679, a=10对应的 c 是 0.8584.插值出来 9.7 处是 35.0592”

9.7时delta是和9、10的差,c这列的其它点应该怎么计算?

 

点评

给你画个图,简单点,用 8, 9, 10, 11 处四个采样点来算 9.7 的值。 因为 9.7 在 9和10之间,用四点算的话这四个点是最接近的。(如果要用5个点,就 8~12,用6个点就 7~12 …… 点越多越准确) 下面  详情 回复 发表于 2019-8-1 22:06
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

1374

帖子

2

TA的资源

五彩晶圆(初级)

22
 
littleshrimp 发表于 2019-8-1 21:27 delta前边加负号结果是正确的 “要算 9.7 的值的话,c这一列的系数是错的。a=9 对应的 c是0.3679 ...

给你画个图,简单点,用 8, 9, 10, 11 处四个采样点来算 9.7 的值。 因为 9.7 在 9和10之间,用四点算的话这四个点是最接近的。(如果要用5个点,就 8~12,用6个点就 7~12 …… 点越多越准确)

下面用4个sinc函数来插值,就是以 8, 9, 10, 11 为中心的四个函数,画出来是这样:

插值就是用采样的数据作为加权系数乘上去,分别乘上系数以后:

然后把这四个函数加起来,是下面黑色的曲线

这样就可以求出不在采样点位置上的值了。但是,这里只用了4个点,丢掉了 7以下和12以上的采样数据(相当于当成是0),会带来误差。对于 9~10 之间的数值,近似程度是比较好的。如果你要算比如 4.1 处的值,那么就应该计算 3,4,5,6 处的四个 sinc 函数。

 

 

点评

delta不能超过0.5 如果使用4个点的应该计算?   现在如果我使用你说的在数值前边加负号的方法会存在其它问题吗 如果那样可行的话,我是不是可以使用任意数量的采样点  详情 回复 发表于 2019-8-2 18:06
 
 
 

回复

9720

帖子

24

TA的资源

版主

23
 
cruelfox 发表于 2019-8-1 22:06 给你画个图,简单点,用 8, 9, 10, 11 处四个采样点来算 9.7 的值。 因为 9.7 在 9和10之间,用四点算的 ...

delta不能超过0.5 如果使用4个点的应该计算?

 

现在如果我使用你说的在数值前边加负号的方法会存在其它问题吗

如果那样可行的话,我是不是可以使用任意数量的采样点

点评

请使用15楼我的帖子里的公式计算,可以舍去对结果影响不大的项。 delta 只是根据你首帖里的图给出来的。 可以使用任意数量的采样点,但要保证两点:(1) 每个采样点对应的插值函数是以它为中心的。(2) 优先使用  详情 回复 发表于 2019-8-2 20:11
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

1374

帖子

2

TA的资源

五彩晶圆(初级)

24
 
littleshrimp 发表于 2019-8-2 18:06 delta不能超过0.5 如果使用4个点的应该计算?   现在如果我使用你说的在数值前边加负号的方法 ...

请使用15楼我的帖子里的公式计算,可以舍去对结果影响不大的项。

delta 只是根据你首帖里的图给出来的。

可以使用任意数量的采样点,但要保证两点:(1) 每个采样点对应的插值函数是以它为中心的。(2) 优先使用和要求解的时刻最近的采样点。

 
 
 

回复

9720

帖子

24

TA的资源

版主

25
 
cruelfox 发表于 2019-8-2 20:11 请使用15楼我的帖子里的公式计算,可以舍去对结果影响不大的项。 delta 只是根据你首帖里的图给出来的 ...

刚才我试了一下

先生成一组正弦数据,然后欠采样

使用上边的方法把欠采样的数据做插值处理

实际得到的值比如delat = 9.7时通过【使用8,9,10,11和7,8,9,10,11,12这样不断增加点数得到的数据和欠采样前对应位置的数据相差很大,而且实际上计算的采样点的增多并不能增加结果的精度,不是计算的点数越多越靠近正确值,看起来结果的精度和采样点的多少是没有直接联系的

 

欠采样插值测试.xlsx (30.34 KB, 下载次数: 0)



 

 

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9720

帖子

24

TA的资源

版主

26
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9720

帖子

24

TA的资源

版主

27
 

SINUSOIDAL PEAK INTERPOLATION

function [p,y,a] = qint(ym1,y0,yp1)
%QINT - quadratic interpolation of three adjacent samples
%
% [p,y,a] = qint(ym1,y0,yp1)
%
% returns the extremum location p, height y, and half-curvature a
% of a parabolic fit through three points.
% Parabola is given by y(x) = a*(x-p)^2+b,
% where y(-1)=ym1, y(0)=y0, y(1)=yp1.

p = (yp1 - ym1)/(2*(2*y0 - yp1 - ym1));
y = y0 - 0.25*(ym1-yp1)*p;
a = 0.5*(ym1 - 2*y0 + yp1);

 

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

9720

帖子

24

TA的资源

版主

28
 

 

找到这本书的电子版,有兴趣可以学习下

SPECTRAL AUDIO SIGNAL PROCESSING.doc (9.04 MB, 下载次数: 2)

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表