资源简介
这是加窗插值FFT的源程序,可用于含有谐波和间谐波电网信号的检测
代码片段和文件信息
clc;
clear all;
close all;
fs=1250;
N=1024;
n=0:N-1;
t=n/fs;
s=0.006*310*sin(2*pi*25*t+pi/3)+310*sin(2*pi*50*t+pi/4)+0.002*310*sin(2*pi*165*t+pi/6)+0.003*310*sin(2*pi*270*t+pi/3)+0.04*310*sin(2*pi*350*t+pi/4)+0.05*310*sin(2*pi*450*t);
w=0.5-0.5*cos(2*pi*n./N);%Hanning窗
r=s.*w;
v=fft(rN);
vz=abs(v)/512*2;%Hanning窗的修正系数为2;vz存放未经插值的谐波系数
stem(abs(v)/512*2);%绘图
u=abs(v);%为下面插值修正做准备,注意插值修正公式用到的是未经过幅值修正的FFT结果
A=zeros(16);%生成1行5列0矩阵以存储各次谐波幅值
%插值
%25Hz
y1=u(21);
y2=u(22);
y3=u(20);
max=y2;
if y3>y2
max=y3;
end
if max==y3
t=y1;
y1=max;
y2=t;
end
b=(y2-y1)/(y2+y1);%相当于参数β
a=1.5*b;A(1)=(y1+y2)*(2.35619403+1.15543682*a^2+0.32607873*a^4+0.07891461*a^6)/1024;
%50Hz
y1=u(41);
y2=u(42);
y3=u(40);
max=y2;
if y3>y2
max=y3;
end
if max==y3
t=y1;
y1=max;
y2=t;
end
b=(y2-y1)/(y2+y1);%相当于参数β
a=1.5*b;A(2)=(y1+y2)*(2.35619403+1.15543682*a^2+0.32607873*a^4+0.07891461*a^6)/1024;
%165
y1=u(136);
y2=u(137);
y3=u(135);
max=y2;
if y3>y2
max=
相关资源
- 均值滤波和FFT频谱分析Matlab代码
- fft ip core使用
- 采用FFT方法实现数字接收多波束
- matlab分析谐波
- matlab.m 获取wav文件基频 mel倒谱 ff
- 功率谱MATLAB程序
- 轴承故障诊断matlab代码四种方法
- 2维FFT的FPGA实现
- 基2和基4矩阵分解的推导以及对应FF
- DTFT、DFT、FFT原理及编程
- FFT.DFT.DTFT在matlab中的仿真
- matlab实现FFT频谱分析仪(GUI)以及滤
- 加速度计原始数据进行matlab的fft分析
- 基于MATLAB的电力谐波分析,在有频谱
- 音频信号的频谱分析 对音频号进行快
- FFT的全面Matlab仿真分析
- 基于MATLAB与FFT算法的傅里叶级数可视
- FFT算法 matlab 实现
- 利用FFT分析其频谱
- 基于Matlab中FFT函数的电力谐波分析方
- 基于FFT的频谱信号分析Matlab程序
- 信号分析与处理实验报告FFTMATLAB
- 地震波fft变换、小波变换对比分析m
- zfft的matlab实现
- 加汉宁窗的FFT插值法频谱分析程序
- FFT分析MATLAB代码
- EEG处理GUI.rar
- STFT的matlab实现
- OFDM系统的MATLAB完整仿真
- FFT和小波包变换程序
评论
共有 条评论