资源简介
本程序实现对谐波的检测,利用FFT和小波包变换,实现对谐波的分解与提取
代码片段和文件信息
%本程序为实现论文“基于FFT和小波包变换的电力系统谐波检测方法”
%%% 用小波包重构时,不能很好的分辨出50HZ、100HZ、200HZ的信号。重构时,信号出现在第5层1、2、4节点处。
clear all;
N=4800; %采样点为480个
fs=4800; %采样频率为4800Hz
n=0:N-1; %序列
t=n/fs; %时间序列
x=220*sin(2*pi*50*t)+80*sin(2*pi*100*t)+50*sin(2*pi*200*t); %信号表达式
figure(1);
subplot(411);plot(tx);
title(‘原始信号‘);
xlabel(‘时间‘);ylabel(‘幅值‘);
grid on;
%**************************************************对信号进行小波包分析
T=wpdec(x5‘db44‘); %对信号进行小波包分解,得到分解树
ca1=wprcoef(T[50]); %重构信号
subplot(412);plot(tca1);
ylabel(‘50Hz‘);
ca2=wprcoef(T[51]);
subplot(413);plot(tca2);
ylabel(‘100Hz‘);
ca3=wprcoef(T[53]);
subplot(414);plot(tca3);
ylabel(‘200Hz‘);
%**********************************************************进行傅里叶频谱分析
y1=fft(ca1N); %对重构的50、100、200HZ的信号进行傅里叶频谱分析。
y2=fft(ca2N);
y3=fft(ca3N);
f=n*fs/N;
mag1=abs(y1); %取绝对值。傅里叶频谱分析的结果显示:重构的信号频率与预期信号相同,但幅值发生了衰减。
mag2=abs(y2);
mag3=abs(y3);
figure(2);
subplot(311);plot(f(1:N/10)mag1(1:N/10)*2/N);
grid on;
title(‘50HZ的傅里叶变换频谱图‘);
%xlim([0 400]);限制x轴的取值范围 ylim([0 400])限制y轴的取值范围,axis([xmin xmax ymin
%ymax])同时限制x、y的取值范围。
subplot(312);plot(f(1:N/10)mag2(1:N/10)*2/N);
grid on;
title(‘100HZ的傅里叶变换频谱图‘);
subplot(313);plot(f(1:N/10
- 上一篇:马氏链的MATLAB程序
- 下一篇:基于DCT的JPEG图像压缩
相关资源
- 均值滤波和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)以及滤
- 小波包能量分析的轴承故障诊断 mat
- 加速度计原始数据进行matlab的fft分析
- 基于MATLAB的电力谐波分析,在有频谱
- 音频信号的频谱分析 对音频号进行快
- 小波包降噪的程序,并有注解
- FFT的全面Matlab仿真分析
- matlab程序源码及报告word版--基于小波
- 基于MATLAB与FFT算法的傅里叶级数可视
- FFT算法 matlab 实现
- 利用FFT分析其频谱
- 基于Matlab中FFT函数的电力谐波分析方
- 基于FFT的频谱信号分析Matlab程序
- 信号分析与处理实验报告FFTMATLAB
- 地震波fft变换、小波变换对比分析m
- zfft的matlab实现
- 加汉宁窗的FFT插值法频谱分析程序
- FFT分析MATLAB代码
评论
共有 条评论