单谱线插值FFT的MATAB实现

f0=50.1; % 基波频率
fs=1500; % 采样频率
N=512; % 数据长度
n=0:N-1; % 数据索引
rad=pi/180; % 角度和弧度的转换因子
xb=[1,0.02,0.1,0.01,0.05,0,0.02,0,0.01]; % 谐波幅值
Q=[-23,115.6,59.3,52.4,123.8,0,-31.8,0,-63.7]rad; % 谐波初始相位
s=zeros(1,N); % 初始化
M=9; % 谐波个数
for i=1:M % 产生谐波信号
s=s+xb(i)cos(2pi
f0in./fs+Q(i));
end

w=0.5-0.5cos(2pi*n./N); % 海宁窗
x=s.*w; % 信号乘以窗函数
v=fft(x,N); % FFT
u=abs(v); % 取频谱的幅值
k1=zeros(1,M); % 初始化
k2=zeros(1,M);
A=zeros(1,M);
ff=zeros(1,M);
Ph=zeros(1,M);
df=fs/N; % 频率分瓣率

for i=1:M % 计算基波和各阶谐波的参数
if i==1 % 若计算基波,在40-60Hz区间中寻找最大峰值
n1=fix(35/df); n2=fix(65/df); % 求出40Hz和60Hz对应的索引号
else % 若计算谐波,从该谐波理论值-10和+10的区间中寻找最大值
n1=fix((iff(1)-15)/df); % 求出区间对应的索引号
n2=fix((i
ff(1)&#

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值