相位展开matlab程序,[转载]全相位FFT算法的MATLAB程序

该博客展示了如何在MATLAB中实现全相位FFT算法,并进行相位和频率校正。通过示例代码,演示了如何计算信号的相位、频率和振幅,并提供了相位校正值、频率校正值和振幅校正值的输出。内容包括使用hanning窗函数、数据预处理以及FFT运算。
摘要由CSDN通过智能技术生成

经MATLAB 7 R14版本测试,结果正常。

close all;clc;clear all;

N=1536;

fs=2048;

w=2*pi;

% t=(0:2*N-2)/fs;

t=(-N+1:N-1)/fs;

y=1.0*exp(j*(w*t*49.1+50.1*pi/180))+0.8*exp(j*(w*t*149.2+100.2*pi/180))+0.6*exp(j*(w*t*249.3+150.3*pi/180))+0.4*exp(j*(w*t*349.4+200.4*pi/180))+0.2*exp(j*(w*t*449.5+250.5*pi/180));

y1 = y(N:end);

win =hanning(N)';;

win1 = win/sum(win);

y11= y1.*win1;

y11_fft = fft(y11,N);

a1 = abs(y11_fft);

p1 = mod(phase(y11_fft)*180/pi,360);

y2 = y(1:2*N-1);

win =hanning(N)';;

winn =conv(win,win);%apFFT须要卷积窗

win2 = winn/sum(winn);

y22= y2.*win2;

y222=y22(N:end)+[0 y22(1:N-1)];%构成长N的apFFT输入数据

y2_fft = fft(y222,N);

a2 = abs(y2

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值