电力系统谐波分析代码

2023-05-16

程序清单
(1)模拟谐波的信号的波形及频谱
fs=3000;%采样频率
N1=256;%采样点数
N2=1024;
n1=0:N1-1;
t=n1/fs;
x1=sin(2 * pi * t * 50)+0.3 * sin(2 * pi * t * 250)+0.2 * sin(2 * pi * t * 500);
%信号绘图部分
figure(1)
subplot(2,1,1);%绘制时域波形
plot(t,x1);
title(‘模拟谐波信号x1的波形’);
xlabel(‘时间t’);
w1=2000 * pi * (0:N2-1)/N2;
y1=x1 * exp(-1* i * t’ * w1);
subplot(2,1,2);%绘制频域域波形
plot(w1/(2 * pi),abs(y1));
title(‘模拟谐波信号x1的频谱’);
xlabel(‘频率f’);

(2)基波对应的FIR低通滤波器损耗函数曲线、基波信号波形及频谱
%50HZ的1次谐波信号
%利用FIR设计低通滤波器
wp=1/30 * 2 * pi;
ws=0.05 * 2 * pi;
Bt=ws-wp;%计算过渡带宽度
N0=ceil(6.6 * pi/Bt);
N=N0+mod(N0+1,2);%确保长度N是奇数
wc=(wp+ws)/2/pi;%关于pi归一化
hn=fir1(N,wc,‘low’,hamming(N+1));

%滤波器绘图部分
N2=1024;
hw=fft(hn,N2);
n=0:N;
k=1:N2/2;
w=2 * (0:N2/2-1)/N2;
figure(2)
subplot(2,1,1)
stem(n,hn);%绘制相应的滤波器波形
axis([0,200,-0.1,0.1]);
xlabel(‘n’);ylabel(‘h(n)’);
title(‘滤波器h(n)波形’)
grid on
subplot(2,1,2);%绘制相应滤波器的损耗函数曲线
plot(w,20 * log10(abs(hw(k))));
xlabel(‘w/π’);
ylabel(‘20lg|H_g(w)’);
title(‘损耗函数曲线’)
grid on

%经过低通滤波器后的信号
figure(3)
x2=conv(x1,hn);%时域卷积
fs=3000;%采样频率
Y1=length(x2);%采样后信号长度
n=0:Y1-1;
t=n/fs;
subplot(2,1,1);%绘制时域波形
plot(t,x2);
xlabel(‘时间t’);
title(‘基波信号波形’);
axis([0.03,0.10,-2,2]);
y2=x2 * exp(-1 * i * t’ * w1);
subplot(2,1,2);%绘制频域波形
plot(w1/(2 * pi),abs(y2));
xlabel(‘频率f’);
axis([0,600,0,150]);
title(‘基波信号频谱’);

(3)5次谐波对应的哈明窗损耗函数曲线、5次谐波信号波形及频谱
%50Hz的5次谐波信号
fs=3000;%采样频率
N1=256;%采样点数
N2=1024;
n1=0:N1-1;
t=n1/fs;
x1=sin(2 * pi * t * 50)+0.3 * sin(2 * pi * t * 250)+0.2 * sin(2 * pi * t * 500);

%利用FIR设计带通滤波器
wlp=1/15 * 2 * pi;wls=0.05 * 2 * pi;
wup=0.1 * 2 * pi ;wus=2/15 * 2 * pi;%设计指标参数赋值
Bt=wus-wup;
N0=ceil(6.6 * pi/Bt);
wp=[(wls+wlp)/2/pi,(wus+wup)/2/pi];%设置理想带通截止频率
N=N0+mod(N0+1,2); %确保长度N是奇数
hn=fir1(N,wp,‘bandpass’,hamming(N+1));

%滤波器绘图部分
figure(1)
hw=fft(hn,N2);
n=0:N;
k=1:N2/2;
w=2 * (0:N2/2-1)/N2;
subplot(2,1,1); %绘制哈明窗波形
stem(n,hn,’.’);
axis([0,100,-0.2,0.2]);
xlabel(‘n’);ylabel(‘h(n)’);
title(‘滤波器h(n)波形’)
grid on
subplot(2,1,2);%绘制相应滤波器h(n)的损耗函数曲线
plot(w,20 * log10(abs(hw(k))));
xlabel(‘w/π’);
ylabel(‘20lg|H_g(w)|’);
title(‘损耗函数曲线’)
axis([0,1,-150,50]);
grid on

%经过带通滤波器后的信号
x2=conv(x1,hn);%时域卷积
fs=3000;%采样频率
Y1=length(x2);%采样后信号长度
n=0:Y1-1;
t=n/fs;
figure(2)
subplot(2,1,1);%绘制时域波形
plot(t,x2);
xlabel(‘时间t’);
title(‘5次谐波信号波形’);
axis([0.02,0.1,-0.5,0.5]);
w=2000 * pi * (0:N2-1)/N2;
y2=x2 * exp(-1 * i * t’ * w);
subplot(2,1,2);%绘制频域波形
plot(w/(2 * pi),abs(y2));
xlabel(‘频率f’);
axis([0,600,0,50]);
title(‘5次谐波信号频谱’);

(4)10次谐波对应的哈明窗损耗函数曲线、10次谐波信号波形及频谱
%50Hz的10次谐波信号
fs=3000;%采样频率
N1=256;%采样点数
N2=1024;
n1=0:N1-1;
t=n1/fs;
x1=sin(2 * pi * t * 50)+0.3 * sin(2 * pi * t * 250)+0.2 * sin(2 * pi * t * 500);

%利用FIR设计高通滤波器
wp=0.15 * 2 * pi;
ws=2/15 * 2 * pi;
Bt=wp-ws;
N0=ceil(6.6 * pi/Bt);
N=N0+mod(N0+1,2);%确保h(n)长度N是奇数
wc=(wp+ws)/2/pi;%关于pi归一化
hn=fir1(N-1,wc,‘high’,hamming(N));

%滤波器绘图部分
figure(1)
hw=fft(hn,N2);
n=0:N-1;
k=1:N2/2;
w=2 * (0:N2/2-1)/N2;
subplot(2,1,1); %绘制哈明窗波形
stem(n,hn,’.’);
axis([0,200,-0.5,1]);
xlabel(‘n’);
ylabel(‘h(n)’);
title(‘滤波器h(n)波形’)
grid on
subplot(2,1,2);%绘制h(n)的损耗函数曲线
plot(w,20 * log10(abs(hw(k))));
axis([0,1,-150,5]);
xlabel(‘w/π’);
ylabel(‘20lg|H_g(w)|’);
title(‘损耗函数曲线’)
grid on

%经过高通滤波器后的信号
x2=conv(x1,hn);%时域卷积
fs=3000;%采样频率
Y1=length(x2);%采样后信号长度
n=0:Y1-1;
t=n/fs;
figure(2)%滤波后的信号绘图部分
subplot(2,1,1);%绘制时域波形
plot(t,x2);
xlabel(‘时间t’);
title(‘10次谐波信号波形’);
axis([0.04,0.1,-0.3,0.3]);
w=2000 * pi * (0:N2-1)/N2;
y2=x2 * exp(-1 * i * t’ * w);
subplot(2,1,2);%绘制频域波形
plot(w/(2 * pi),abs(y2));
xlabel(‘频率f’);
axis([0,1000,0,40]);
title(‘10次谐波信号频谱’);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

电力系统谐波分析代码 的相关文章

随机推荐

  • C语言----结构体,枚举,共用体

    1 xff09 结构体 span class token comment 例 xff1a 一个描述学生的结构体 span span class token keyword struct span span class token class
  • Nvidia jetson agx xavier can通讯失败,修改时钟源pllaon

    一 问题详情 在调试Xavier can的过程中 xff0c can通信始终有问题 xff0c 收发都会报错 后来发现时钟源导致波特率不匹配 xff0c 所以不能通信 二 修改时钟源 在虚拟机使用官方sdkmanager xff0c 下载安
  • linux下实现https访问

    http转https 适用于linux服务器 linux下nginx 43 ssl实现https访问 xff08 一 xff09 环境准备 xff08 二 xff09 下载nginx源码 xff0c 编译nginx并添加ssl模块 xff0
  • Nvidia Jetson nano 安装Archiconda、gpu版torch、踩坑记录

    Nvidia Jetson nano 安装Archiconda gpu版torch 踩坑记录 jetson nano 属于aarch64架构 xff0c 不同于一般的x86 64的linux系统架构 xff0c 而torch官网上面 htt
  • linux下的yum,vim,gcc,gdb

    我们在windows系统下我们能够很简单进行粘贴复制下载安装 xff0c 也能通过vs进行我们缩写代码的编译运行 xff0c 但是我们在linux下我们应该怎样去操作我们的这些命令呢 xff0c 这章我们就讲解一下我们linux下常用的一些
  • 【Keil】Keil5添加源程序和头文件

    xxx c就是源程序 xxx h就是头文件 源程序添加方法 双击文件夹 xff0c 例如图片上的Source xff0c 跳出弹窗 xff0c 选择需要添加的源程序即可 添加头文件的方法 1 首先点击图片红框处 xff0c 或是在文件夹te
  • C 标准库 string常用函数 笔记

    文章目录 64 TOC 文章目录 前言字符串长度strlen sizeof 字符串拼接strcat strncat 字符串拷贝strcpy strncpy memcpy 内存填充memset 字符串比较strcmp strncmp 字符串查
  • node.js中的http.request方法使用说明_node.js

    方法说明 xff1a 函数的功能室作为客户端向HTTP服务器发起请求 语法 xff1a 复制代码 代码如下 http get options callback 由于该方法属于http模块 xff0c 使用前需要引入http模块 xff08
  • ARM中SP、LR、PC三个寄存器介绍

    寄存器定义和用途 定义 寄存器是中央处理器内的组成部份 寄存器是有限存贮容量的高速存贮部件 xff0c 它们可用来暂存指令 数据和位址 用途 可将寄存器内的数据执行算术及逻辑运算 xff1b 存于寄存器内的地址可用来指向内存的某个位置 xf
  • Linux buffer/cache介绍

    free 命令 与 buffer cache 在 Linux 系统中 xff0c 我们经常用 free m命令来查看系统内存的使用状态 xff1a m 显示单位为MB free m 各个参数的说明 total 内存总数 used 已经使用的
  • 数字签名算法RSA

    RSA RSA数字签名算法源于RSA公钥密码算法的思想 xff0c 将RSA公钥密码算法按照数字签名的方式运用 RSA数字签名算法是迄今为止应用最为广泛的数字签名算法 RSA数字签名算法的实现如RSA加密算法一致 RSA数字签名算法主要可分
  • AXI接口协议详解-AXI总线、接口、协议

    转自 xff1a https cloud tencent com developer article 1695010 AXI接口协议详解 AXI总线 接口 协议 AXI 总线 上面介绍了AMBA总线中的两种 xff0c 下面看下我们的主角
  • USB主机是如何检测到设备的插入的呢?

    转自 xff1a https www cnblogs com wangh0802PositiveANDupward archive 2013 05 06 3061241 html USB设备的插入检测机制 首先 xff0c 在USB集线器的
  • 电路图中的那些类似于箭头的是什么意思?

    这个双箭头在画图软件中称为 off connect xff0c 作用是连接一个工程中的两张原理图里网络标号相同的网络 即 xff1a 这张原理图中网络标号为 PCIE20 2 REFCLKP 网络 xff0c 与其他原理图中的网络标号为 P
  • linux的socket CAN驱动介绍

    https blog csdn net linyangspring article details 27186911 在linux中 xff0c CAN总线的驱动有两种实现方式 xff1a 字符设备以及socket can驱动 Socket
  • 一文讲透Linux网络设备驱动框架及编写步骤

    https blog 51cto com u 14592069 5785977 本文阐述了网络架构模型 xff0c 特别是Linux系统中网络子设备框架4层结构 xff0c 反别阐述了各层的作用 重点讲解了sk buff及net devic
  • linux下的项目管理工具make和git的使用

    在linux下我们不能向在windows下这样去快速的进行编译 xff0c 在以前我们都是使用一个命令一个命令地去将 c文件生成程序 xff0c 在这里我们介绍项目自动化辅助构建工具make以及项目版本管理工具git make make说白
  • list_for_each_entry()函数分析

    在Linux内核源码中 xff0c 经常要对链表进行操作 xff0c 其中一个很重要的宏是list for each entry xff1a span class token comment list for each entry iter
  • 电力系统谐波分析

    加粗样式 电力系统谐波分析 一 实验目的 1 了解电力系统谐波信号的特点及分析方法 xff1b 2 综合利用数字信号处理技术实现对电力系统谐波信号的分析 xff1b 3 使学生进一步巩固数字滤波器的基本概念 理论 分析方法和实现方法 xff
  • 电力系统谐波分析代码

    程序清单 xff08 1 xff09 模拟谐波的信号的波形及频谱 fs 61 3000 采样频率 N1 61 256 采样点数 N2 61 1024 n1 61 0 N1 1 t 61 n1 fs x1 61 sin 2 pi t 50 4